system testing vs end end testing
Преглед на Тестване на системата и тестване от край до край:
Тестването от край до край и тестването на системата винаги вървят ръка за ръка, но дори опитен професионалист може да се обърка относно огромните предимства, които всяка оферта предлага, и да избере само една.
В тази статия ще се опитаме да спорим между тестване от край до край и тестване на системата. За да разберем разликата между това, първо ще разберем кои са различните етапи, през които преминава всеки разработващ се продукт.
В софтуерната индустрия ние винаги сме в дилемата да избираме между по-бързо издание и качествено издание, но винаги има фин баланс между тях. Всички очакваме скорост, както и качество едновременно, което е доста по-трудно.
Какво ще научите:
- Живот на тестван софтуерен продукт
- Какво е системно тестване?
- Защо системното тестване е важно?
- Кога да започнете да тествате системата?
- Какво е тестване от край до край?
- Защо е важно изпитването End to End?
- Кога да започнете тестване от край до край?
- Разлика между тестване на системата и тестване от край до край
- Системно тестване или тестване от край до край или и двете?
- Заключение
- Препоръчително четене
Живот на тестван софтуерен продукт
Жизненият цикъл на продукта започва след получаване на бизнес изискванията от клиента. Съответният екип, който е отговорен за това, ще направи задълбочен анализ на същото и ще разработи допълнително техническите спецификации.
Тези спецификации ще помогнат на техниците или разработчиците да започнат своята работа в разработването на софтуер. Стъпките, включени тук, са обяснени по-долу за вашето лесно разбиране.
Етап 1: Въз основа на описанието на продукта на високо ниво, софтуерен продукт се категоризира в различни модули и след това в компоненти или модули. Тези единици са разработени независимо, така че тяхното развитие може да продължи паралелно чрез ангажиране на множество разработчици.
Веднъж разработени, тези единици се тестват индивидуално, което ще попадне в тестване на единици.
Стъпка 2: Индивидуалното валидиране гарантира, че всички единици на системата функционират според очакванията както на функционални, така и на съображения за осъществимост. Тези компоненти, модули или подсистеми се интегрират със следващото ниво и след това се тестват като интегрирана единица в теста за интеграция.
Стъпка # 3: Тестването на системата се появява в тази стъпка, където интегрираният продукт ще бъде тестван за първи път като цяло в псевдо-производствена среда. Това ниво на тестване се извършва, за да се провери съответствието както на функционалните, така и на нефункционалните бизнес изисквания.
Стъпка # 4: Това е ниво на тестване, което се извършва за приемливост на клиента и следователно, наречено Тестване за приемане. Това ще се извърши непосредствено преди обработката на софтуера на клиента, което е производствената среда.
Какво е системно тестване?
Тестване на системата е нещо, което се прави след тестване за интеграция и преди тестове за приемане на наличния хардуер или софтуер.
Тестването на системата се извършва, за да се анализира координацията на прилежащите компоненти като една система, за да се гарантира дали тя отговаря на стандартите за качество или не. Основният фокус е да се открият дефекти в рамките на сглобяване чрез извършване на функционални и нефункционални тестове на интегрирания продукт.
Извършват се нефункционални тестове, за да се гарантира дали разработващият продукт ще отговаря на бизнес очакванията или не. Те се извършват, за да се определи времето за реакция на дадено приложение или да се провери съвместимостта или обработката на инсталацията, производителността, регресията, мащабируемостта, сигурността и няколко други области.
Следователно, приложението трябва да изчисти както функционалните, така и нефункционалните нива, за да гарантира, че ако отговаря на пазарните стандарти, може да развали репутацията на компанията.
Позволете ми да обясня с помощта на пример за мобилно приложение за такси, като Uber:
Uber предоставя възможност за онлайн резервиране на таксита и разполага с различни модули като проследяване на местоположението, шлюзове за плащане, такси за такси и профили на водача, които могат да бъдат тествани независимо като част от модулно тестване .
След като тези модули работят независимо, те се интегрират, за да се тестват и да се гарантира дали работят помежду си под Интеграционно тестване.
Освен това, изискванията на клиентите ще започнат да се валидират само при тестване на системата, като например дали клиентът е в състояние да намери такси, което е най-близо до местоположението му, или ако е в състояние да извърши плащане до Uber, използвайки избрания от тях начин на плащане и т.н.
Валидирането на тези сценарии е описано в Тестване на системата .
Защо системното тестване е важно?
Необходимо е системно тестване, тъй като разработчиците / тестерите трябва да проверят малкото аспекти, преди да преминат към следващото ниво.
Малко аспекти включват:
- Трябва да бъдете сигурни в работата на софтуера като цяло.
- Трябва да се провери дали даден продукт не пропуска никакви функционални и нефункционални изисквания.
- Необходимо е да се тества продукта в производствена среда.
- Трябва да се провери продукта с производствени данни.
Системното тестване включва сценарии, базирани на бизнес рискове, случаи на употреба или описание на високо ниво на поведението на продукта. Случаите, свързани с взаимодействия с различни системни ресурси, също трябва да бъдат част от тестването на системата.
Следователно тя трябва да се провежда от човек, който има пълни познания за необходимия продукт както на ниво архитектура, така и на ниво бизнес. Не са необходими вътрешни познания на ниво кодиране, но познанията на системата са задължителни за тестера.
Като цяло, на отделен екип ще бъде възложена задачата за системно тестване и екипът ще разработи свои собствени планове за системни тестове и тестови случаи на системата, които ще се различават от тези, извършени по-рано по отношение на покритието на теста. Ако е необходимо, могат да се извършат множество итерации на системно тестване в няколко среди.
Кога да започнете да тествате системата?
Тестването на системата може да започне, когато:
- Изпитването на модули е затворено успешно за всички блокове без отворени дефекти.
- Всички модулно тествани компоненти са добре интегрирани и интеграционното тестване е извършено успешно.
- Налична е псевдо-производствена среда за тестване на системния продукт.
- System Tester е наясно с всички входове / изходи на системата и е готов с тестовите артефакти.
Какво е тестване от край до край?
Тестването на софтуер е важен параметър за осигуряване на качеството на софтуера. Продуктът с добро качество винаги дава по-високо ниво на удовлетворение както на изобретателите, така и на купувача. С други думи, квалифициран или първокласен продукт е резултат от задълбочена регресия и отстраняване на дефекта на всяко ниво.
Както е обяснено от самото име, тестване от край до край е едно от тестовите нива, при които потокът от приложения се тества заедно със зависимите системи. Това се прави, за да се осигури гладко взаимодействие с бекенд и интерфейсните приложения, като бази данни или GUI, използващи мрежови канали и следователно се нарича Тестване на вериги както добре.
За разлика от системното тестване, тестването на потребителски интерфейс тук не играе съществена роля, но проверката е върху основните данни, които поставят интерфейса във функциониращ режим. Тестването от край до край обикновено се извършва, след като продуктът отговаря на изискванията за системно тестване.
Продължавайки нашия пример за Uber във фаза на тестване от край до край, ние ще потвърдим пълното пътуване на клиентите
Отваряне на приложението на потребителски мобилен телефон -> намиране на такси за въведена дестинация -> Проследяване на кабината преди или по време на пътуването-> завършване на пътуването и плащане с помощта на една от опциите за плащане -> най-накрая кредитът се настанява в сметката на водача.
Преминаването през този поток от край до край гарантира, че клиентът е в състояние да изпълни своите нужди. Това тестване е важно за идентифициране на проблемите с клиентския опит, особено свързани с обединяването на множество системи.
Защо е важно изпитването End to End?
Тестването от край до край играе важна роля, когато разработеният продукт трябва да бъде разпределена система и се изисква да функционира колективно с останалите системи в различни среди. В такива сценарии се изисква проверка на 360 градуса, за да се осигури точно взаимодействие между различни платформи и среди.
Основните цели на тестването от край до край включват:
с какво да отворя json файлове
- За да сме сигурни, че разработеният продукт е добре координиран с някоя от неговите подсистеми, които могат или не могат да бъдат собственост на нас.
- За да проверите всички системни потоци от системите източник към системите дестинация.
- Да валидира изискванията от гледна точка на крайния потребител.
- За идентифициране на проблеми в хетерогенните среди.
Ако е необходимо, трябва да се проведат повторяеми тестове, за да се провери състоянието на приложението. Понякога може да възникне ситуация, при която виждаме конфликт между разработчика и тестера на основание разбиране на засегнатите области на приложение поради незначителни промени в кода.
Разработчиците може да мислят, че промяната е минимална, но тази еволюция е достатъчно значителна, за да изпълни отново сценариите от край до край за цялостна система. Това обаче може да измести датите на доставка и да увеличи разходите.
Кога да започнете тестване от край до край?
Обикновено се извършва тестване от край до край -
- След като продуктът отговаря на изискванията за системно тестване, при което са обхванати всички функционални аспекти.
- Когато зависимите среди са идентифицирани и налични за провеждане на изпълнението на нивото на потока.
- Когато тестерът е оборудван с необходимите знания и тестови артефакти.
- Когато тестерът разполага с подходящите инструменти, които могат да анализират потока от данни.
Разлика между тестване на системата и тестване от край до край
По-долу са дадени няколко разлики между системното тестване и тестването от край до край:
Тестване на системата | Тестване от край до край |
---|---|
Разработеният продукт се тества спрямо специфичните за продукта технически изисквания, определени въз основа на бизнес изискванията. | Разработеният продукт се тества заедно със зависими системи според бизнес изискванията. |
Обхваща както функционални, така и нефункционални аспекти на тестването. | Обхваща нива на тестване на интерфейса, като се вземат предвид всички системи източник и дестинация. |
Извършва се към края на жизнения цикъл на разработката на софтуер. | Извършва се, след като продуктът отговаря на изискванията за интегрирано тестване. |
Всички внедрени функции за продукта ще бъдат разгледани, за да се разкрият неочаквани резултати. | Процесните потоци ще бъдат проверявани заедно със системите от предния край и отзад и от средно ниво. |
Тестерът трябва да разбира добре функционалността на разработения продукт. | Тестерът трябва да разбира добре потоците от данни и работните потоци в системата. |
Системният тестер не трябва да се интересува от етапите на жизнения цикъл на разработване на продукта. | Изпитателят от край до край трябва да разбере всички етапи. |
Системно тестване или тестване от край до край или и двете?
Често системното тестване и тестването от край до край се считат за еднакви, но това не е вярно. И двете са различни форми на тестване с различно покритие на теста.
Докато тестването от край до край проверява поток от дейности от нулата до края на системата, обхващайки всички зависими системи, тестването на системата ще провери същата функционалност с различен набор от входове, за да оцени отговора.
Следователно, покритие на теста и двата вида тестване ще бъдат различни.
Заключение
Системният тестер трябва да има нагласата на реалните потребители, докато тестващият от край до край трябва да разбира еднакво системите нагоре и надолу по веригата.
Както беше обяснено по-горе, и двата вида тестове имат еднакво значение в цикъла на разработване на продукта и следователно са необходими за откриване на дефектите на различните категории.
Надявам се, че бихте имали ясна представа кое тестване да изберете? Междувременно не се колебайте да споделите своя опит в раздела за коментари по-долу.
Препоръчително четене
- Най-добри инструменти за тестване на софтуер 2021 г. (Инструменти за автоматизация на QA теста)
- Изтегляне на eBook за тестване на Primer
- Алфа тестване и бета тестване (Пълно ръководство)
- Функционално тестване срещу нефункционално тестване
- Тестване на натоварване с уроци за HP LoadRunner
- Разлика между тестване на настолни компютри, клиентски сървър и уеб тестване
- Какво е гама тестване? Финален етап на изпитване
- Пълно ръководство за тестване за проверка на компилация (BVT тестване)