system testing vs end end testing
Преглед Тестирање система и тестирање од краја до краја:
Тестови од краја до краја и тестирање система увек иду руку под руку, али чак и искусни стручњак за тестове може да се збуни око огромних предности које свака нуди и изабере само једну.
У овом чланку ћемо покушати да расправимо између тестирања од краја до краја и тестирања система. Да бисмо разумели разлику између тога, прво ћемо разумети кроз које фазе пролази било који производ у развоју.
У софтверској индустрији увек смо у дилеми да бирамо између бржег и квалитетнијег издања, али између њих увек постоји тачна равнотежа. Сви истовремено очекујемо брзину као и квалитет, што је прилично теже.
Шта ћете научити:
- Живот софтверског производа на тестирању
- Шта је системско тестирање?
- Зашто је системско тестирање важно?
- Када започети системско тестирање?
- Шта је тестирање од краја до краја?
- Зашто је тестирање од краја до краја важно?
- Када започети тестирање с краја на крај?
- Разлика између системског тестирања и тестирања од краја до краја
- Системско тестирање или тестирање од краја до краја или обоје?
- Закључак
- Препоручено читање
Живот софтверског производа на тестирању
Животни циклус производа започиње након што клијент добије пословне захтеве. Дотични тим који је одговоран за њу урадиће темељну анализу истих и даље дизајнирати техничке спецификације.
Ове спецификације помоћи ће техничарима или програмерима да започну свој посао у развоју софтвера. Кораци који су овде обухваћени објашњени су у наставку ради лакшег разумевања.
Корак 1: На основу описа производа на високом нивоу, софтверски производ је категорисан у различите модуле, а затим у компоненте или јединице. Ове јединице су развијене независно тако да се њихов развој може наставити паралелно ангажовањем више програмера.
Једном када се развију, ове јединице се тестирају појединачно, што спада у јединствено тестирање.
Корак 2: Појединачна валидација осигурава да све јединице система раде онако како се очекује како из функционалних разлога, тако и из разлога изводљивости. Ове компоненте, модули или подсистеми интегришу се са следећим нивоом, а затим се тестирају као интегрисана јединица у интеграционом тестирању.
Корак # 3: Системско тестирање долази на сцену у овом кораку где би интегрисани производ први пут био тестиран као целина у псеудо-производном окружењу. Овај ниво испитивања врши се ради провере усклађености како са функционалним, тако и са нефункционалним пословним захтевима.
Корак # 4: То је ниво испитивања који се изводи ради прихватљивости клијента и, према томе, назива се испитивањем прихватања. Ово ће се извршити непосредно пре руковања софтвером клијенту, а то је производно окружење.
Шта је системско тестирање?
Тестирање система је нешто што се ради након тестирања интеграције и пре испитивања прихватљивости било ког доступног хардвера или софтвера.
Испитивање система се врши за анализу координације суседних компоненти као једног система како би се осигурало да ли испуњава стандарде квалитета или не. Примарни фокус је откривање недостатака у међусклопима извођењем функционалних и нефункционалних тестова на интегрисаном производу.
Нефункционални тестови се изводе како би се осигурало да ли ће производ у развоју одговарати пословним очекивањима или не. Они се спроводе да би се утврдило време одзива апликације или да би се проверило компатибилност или руковање инсталацијом, перформансама, регресијом, скалабилношћу, сигурношћу и неколико других подручја.
Дакле, апликација мора да очисти и функционални и нефункционални ниво како би се осигурало да, уколико је у складу са тржишним стандардима, може покварити репутацију компаније.
Дозволите ми да објасним уз помоћ примера мобилне апликације за такси као што је Убер:
Убер нуди могућност резервације кабина путем Интернета и има различите модуле као што су праћење локације, мрежни пролази, цена кабине и профили возача који се могу независно тестирати као део Јединственог тестирања .
Једном када ови модули раде независно, они се интегришу да би се тестирало и осигурало да ли међусобно раде испод Интеграционо тестирање.
Даље, захтеви купца почеће да се потврђују само у системском тестирању, на пример да ли је клијент у могућности да пронађе такси најближи својој локацији или ако је у могућности да изврши плаћање Уберу по свом избору начина плаћања итд.
Провера ваљаности ових сценарија је покривена у Тестирање система .
Зашто је системско тестирање важно?
Тестирање система је потребно јер програмери / тестери морају да провере неколико аспеката пре него што пређу на следећи ниво.
Неколико аспеката укључује:
- Мора бити сигуран у рад софтвера као целине.
- Треба да провери да ли производ не прескаче ниједан функционални и нефункционални захтев.
- Потребно је да се производ тестира у производном окружењу.
- Потребно је да се производ провери подацима о производњи.
Тестирање система укључује сценарије засноване на пословним ризицима, случајевима коришћења или опису понашања производа на високом нивоу. Случајеви повезани са интеракцијом са различитим системским ресурсима такође би требало да буду део тестирања система.
Стога би то требало да спроводи неко ко има потпуно знање о траженом производу како на нивоу архитектуре тако и на пословном нивоу. Интерно знање на нивоу кодирања није потребно, али знање система је обавезно за испитивача.
Генерално, одвојени тим би био задат за задатак системског тестирања и тим ће дизајнирати сопствене планове тестирања система и случајеве системских тестова, који ће се разликовати од претходно изведених у погледу покривености тестовима. Ако је потребно, може се извршити вишеструке итерације системског тестирања у неколико окружења.
Када започети системско тестирање?
Тестирање система може се започети када:
- Јединствено тестирање је успешно затворено за све јединице без отворених недостатака.
- Све компоненте тестиране на јединици су добро интегрисане и интеграционо тестирање је успешно изведено.
- Доступно је псеудо-продукционо окружење за тестирање системског производа.
- Тестер система је свестан свих улаза / излаза система и спреман је за тест артефакте.
Шта је тестирање од краја до краја?
Тестирање софтвера је важан параметар осигурања квалитета софтвера. Квалитетан производ увек пружа већи ниво задовољства како проналазачима, тако и купцу. Другим речима, квалификовани или врхунски производ резултат је темељне регресије и уклањања квара на сваком нивоу.
Као што је објашњено самим именом, тестирање од краја до краја је један од нивоа тестирања где се проток апликације тестира заједно са зависним системима. То је учињено како би се осигурала несметана интеракција са позадинским и фронт-енд апликацијама као што су базе података или ГУИ користећи мрежне канале и стога се назива Испитивање ланца такође.
За разлику од системског тестирања, тестирање корисничког интерфејса овде не игра значајнију улогу, али провера се врши на основу података који интерфејс ставља у функционалан режим. Тестови од краја до краја обично се изводе када се производ квалификује за системско тестирање.
Настављајући наш Пример Убера у фази тестирања, потврдићемо целокупно путовање купаца
Отварање апликације на корисничком мобилном уређају -> проналажење таксија за унесено одредиште -> Праћење кабине пре или током вожње-> завршетак вожње и плаћање помоћу једне од опција плаћања -> коначно поравнање кредита на рачун возача.
Пролазак кроз овај ток од краја до краја осигурава да купац може да испуни своје потребе. Ово тестирање је важно како би се идентификовали проблеми са корисничким искуством, посебно повезани са више система који се окупљају.
Зашто је тестирање од краја до краја важно?
Испитивање од краја до краја игра важну улогу када развијени производ треба да буде дистрибуирани систем и ако треба да функционише заједно са осталим системима у различитим окружењима. У таквим сценаријима потребна је провера од 360 степени како би се осигурала тачна интеракција између различитих платформи и окружења.
Главни циљеви тестирања од краја до краја укључују:
образац документа стратегије тестирања за агилну методологију
- Да бисмо били сигурни да је развијени производ добро координиран са било којим од његових подсистема, који можемо или не можемо бити у нашем власништву.
- Да бисте проверили све токове система од изворних система до одредишних система.
- Да потврди захтеве из перспективе крајњег корисника.
- Утврдити проблеме у хетегеним срединама.
Ако је потребно, треба извршити поновљиве тестове како би се проверила исправност апликације. Понекад се може појавити ситуација када видимо сукоб између програмера и тестера на основу разумевања погођених подручја примене због мањих промена кода.
Програмери могу сматрати да је промена минимална, али да је еволуција довољно значајна за поновно извршавање сценарија од краја до краја за цео систем. Међутим, ово можда помера датуме испоруке и може такође повећати трошкове.
Када започети тестирање с краја на крај?
Обично се врши тестирање од краја до краја-
- Једном када се производ квалификује за системско тестирање, обухваћени су сви функционални аспекти.
- Када су зависна окружења идентификована и доступна за спровођење извршења нивоа протока.
- Када је тестер опремљен потребним знањем и артефактима за тестирање.
- Када тестер има одговарајуће алате који могу да анализирају проток података.
Разлика између системског тестирања и тестирања од краја до краја
Доље је дато неколико разлика између системског тестирања и тестирања од краја до краја:
Тестирање система | Тестирање од краја до краја |
---|---|
Развијени производ се тестира на основу специфичних техничких захтева за производ утврђених на основу пословних захтева. | Развијени производ се тестира заједно са зависним системима према пословним захтевима. |
Обухвата функционалне као и нефункционалне аспекте тестирања. | Обухвата нивое интерфејса тестирања узимајући у обзир све изворне и одредишне системе. |
Изведено према крају животног циклуса развоја софтвера. | Изводи се када се производ квалификује за интеграционо тестирање |
Све примењене функције производа би биле прегледане како би се открили неочекивани резултати. | Процесни процеси ће се проверавати заједно са предњим и позадинским и средњим системима. |
Тестер треба да добро разуме функционалност развијеног производа. | Тестер треба да добро разуме токове података и токове рада у систему. |
Тестер система не мора да брине о фазама животног циклуса развоја производа. | Тестер од краја до краја мора да разуме све фазе. |
Системско тестирање или тестирање од краја до краја или обоје?
Често се системско тестирање и тестирање од краја до краја сматрају истим, али то није тачно. Обоје су различити облици тестирања са различитим покривањем тестова.
Док тестирање од краја до краја проверава ток активности од нуле до краја система који покрива све зависне системе, тестирање система ће проверити исту функционалност са различитим скупом улаза за процену одговора.
Отуда покривеност тестом јер ће се обе врсте испитивања разликовати.
Закључак
Тестер система мора да има начин размишљања стварних корисника, док тестер од краја до краја треба да разуме подједнако горњи и нижи систем.
Као што је горе објашњено, обе врсте испитивања имају једнаку важност у циклусу развоја производа и стога су потребне да би се открили недостаци различитих категорија.
Надам се да бисте имали јасну идеју за које тестирање се одлучити? У међувремену, слободно поделите своја искуства у одељку за коментаре испод.
Препоручено читање
- Најбољи алати за тестирање софтвера 2021. (Алати за аутоматизацију КА теста)
- Преузимање е-књиге за тестирање буквара
- Алфа тестирање и бета тестирање (потпун водич)
- Функционално тестирање вс нефункционално тестирање
- Испитивање оптерећења помоћу ХП ЛоадРуннер водича
- Разлика између тестирања радне површине, клијентског сервера и веб тестирања
- Шта је гама тестирање? Завршна фаза испитивања
- Комплетни водич за тестирање верификације израде (БВТ тестирање)