Када је у питању агилан развој софтвера, тестирање је кључно да би се осигурало да је софтвер спреман за производњу. Али шта је агилна методологија у тестирању? Агилна методологија тестирања у односу на методологију водопада има значајне концептуалне разлике.
Научити како функционише животни циклус агилног тестирања, методе, алати за тестирање агилног софтвера и како их имплементирати су суштински фактори за обављање ове врсте тестирања софтвера.
Предности агилног тестирања софтвера
Начини на које можете профитирати захваљујући агилном тестирању развоја софтвера су у изобиљу. Постоји неколико кључних предности преласка на агилну методологију у процесу тестирања и праћење најбољих пракси тестирања агилног софтвера.
То штеди време и новац
Многи агилни тестови се могу аутоматизовати, што не само да вам штеди трошкове тестова, већ је и много брже од ручног тестирања.
Други начин на који ћете уштедети новац помоћу агилних алата за тестирање софтвера је елиминисање потребе за дуплим тестовима. Без обзира колико ефикасни ваши КА тестери, ручно тестирање ће трајати више времена, тако да ако желите ефикасне и брзе резултате, агилне методологије ће вам помоћи да оптимизујете животни циклус развоја софтвера.
Смањује документацију
Док агилно тестирање не елиминише документацију, има је много мање. Уместо документовања сваке информације, што може да одузме много времена, то укључује концизно бележење специфичних информација у корист тима за тестирање.
Флексибилно је
Једна од најбољих ствари у вези агилне методологије у тестирању је колико она може бити флексибилна. То је веома прилагодљива метода тестирања која вам омогућава да промените све што је потребно да бисте добили решење које вам је потребно током процеса тестирања.
Агилно тестирање се врти око сарадње свих чланова тима, тако да је флексибилност за лаку промену тактике значајна предност.
Пружајте редовне повратне информације
За разлику од традиционалног тестирања, за које је потребно више од 18 месеци да се добију повратне информације од купаца или крајњих корисника, услуге агилног тестирања омогућавају повратне информације сваких неколико недеља и брже, у зависности од ситуације, фазе у процесу развоја и још много тога.
Наравно, што је бржа повратна информација током развоја, тим може да изврши неопходне промене и поново примени софтвер за даље повратне информације корисника.
Лакше идентификовати проблеме
Коришћење агилне методологије у тестирању чини много лакшим идентификацију проблема са производом. Уз редовно тестирање и повратне информације купаца, тим за тестирање може да пронађе и исправи проблеме у развоју брже него код традиционалних метода тестирања.
Уобичајени изазови са агилним тестирањем софтвера
Иако постоји неколико предности коришћења агилног тестирања софтвера, неке изазове вреди размотрити пре преласка са традиционалног тестирања.
Постоји већа шанса за грешку
Једна мана коришћења агилне методологије за тестирање је већа вероватноћа да ће доћи до грешака. Иако је згодно да се мање фокусира на детаљну документацију, губитак самог процеса документације понекад може узроковати више грешака или превидети у тестирању.
Нове функције се често додају
Пошто се агилно тестирање брзо креће, нове карактеристике производа се додају брже од традиционалног тестирања. Нове функције могу представљати изазов јер тимовима за тестирање оставља мање времена да идентификују развојне проблеме са претходним функцијама пре нових.
Прелазак са традиционалног на агилно тестирање
Прелазак са традиционалног на агилно тестирање захтева темељно разматрање. Разумевање главних разлика између агилне методологије тестирања и методологије водопада може вам помоћи да боље разумете који је бољи избор за вашу ситуацију и донесете одговарајућу одлуку.
Шта је традиционално тестирање?
Традиционално тестирање, такође познато као водопадно тестирање, је више структурирано од агилног тестирања и изводи се постепено.
Сва тестирања се дешавају на крају развоја производа, при чему се промене врше у овој фази, након чега процес тестирања поново почиње.
Овај приступ тестирању водопада омогућава да се све функције испоруче након фазе имплементације, све одједном. Код водопада тестирања, најчешће ће тестери и програмери радити одвојено и никада или ретко се неће директно укрштати.
У оквиру приступа тестирању водопада, тестери идентификују грешке и све и свашта је темељно документовано тако да се тестери и програмери могу вратити на то без пропуштања потенцијално критичних детаља.
Менаџер пројекта је на крају задужен за пројекат од почетка до краја, а тестери и програмери прате унапред одређене кораке како би извршили процес тестирања. Овај приступ одозго надоле је лако пратити, јер тестери могу да пређу на следећу фазу тек након што у потпуности заврше претходну.
Шта је агилно тестирање?
Агилно тестирање почиње када почне развој пројекта. Укратко, интегрише тестирање и развој у свим фазама. Већина програмера мисли на овај процес у односу на пирамиду агилног тестирања (више о томе касније).
Коришћење агилне методологије у тестирању значи да се тестирање континуирано дешава током процеса развоја и укључује програмере, тестере и власнике у скоро свакој фази.
Са тестирањем које почиње пре фазе развоја и наставља се током агилног процеса тестирања , повратне информације се пружају на сваком кораку. Ова континуирана петља повратних информација подржава процес развоја јер тим за тестирање није принуђен да чека до производње да би идентификовао где су се грешке могле појавити.
Осигурање квалитета је сада имплементирано у услуге агилног тестирања. Сваки члан тима за агилно тестирање одговоран је за идентификацију потенцијалних проблема путем концизне документације и изналажење решења.
Агилно тестирање наспрам водопада
Агилна методологија тестирања у односу на водопад је једноставна за разумевање. Прво, традиционално тестирање прати фиксне захтеве, док процес агилног тестирања није фиксиран. Са агилним тестирањем, можете правити измене током процеса развоја софтвера како вам одговара.
Водопадно тестирање прати предиктивни приступ где је промене тешко применити, док је агилно тестирање далеко прилагодљивије. Док је тестирање водопада приступ одозго надоле, модерно тестирање се може замислити у смислу агилне пирамиде тестирања.
Пирамида агилног тестирања је графикон или смерница за коришћење аутоматског тестирања софтвера. Подељено је на три дела. На дну имате тестове јединица и компоненти, тестове прихватања у средини и ГУИ тестове на врху. Обично морате почети од дна и напредовати до ГУИ тестова.
Када се врши тестирање водопада, повратна информација долази тек када се циклус заврши, док агилни процес тестирања претпоставља континуирану петљу повратних информација. Када је у питању функционалност, традиционално тестирање потврђује квалитет производа, док агилно тестирање осигурава да производ има брзу испоруку, чак и на рачун привременог ниже функционалности.
У агилном процесу тестирања, сви раде заједно у свакој фази процеса тестирања. Насупрот томе, током процеса водопада тестирања, тестери и програмери раде одвојено и ослањају се на обичну документацију за комуникацију.
Прелазак са водопада на агилно тестирање
Прелазак са водопада на агилну методологију у тестирању није тежак када разумете детаље и алате агилног процеса тестирања софтвера. Агилно тестирање може бити мање ефикасно без чврстог разумевања процеса. На пример, није неуобичајено да тимови за агилно тестирање претпостављају да се агилно тестирање више односи на брзину, а мање на планирање.
Разумевање животног циклуса агилног тестирања софтвера
Животни циклус агилног тестирања софтвера се концептуално разликује од традиционалног тестирања. Пре него што можете да схватите агилно тестирање, важно је разумевање животног циклуса. Постоји пет фаза у животном циклусу агилног тестирања.
Фазе животног циклуса агилног тестирања софтвера су:
- Процјена утицаја
- Агилно планирање тестирања
- Спремност за отпуштање
- Даили сцрумс
- Преглед агилности теста
Сваки део овог животног циклуса агилног тестирања је од суштинског значаја за ток целог система.
Агилно тестирање користи четири квадранта које су развиле Лиса Цриспин и Јанет Грегори за процес тестирања. Квадранти су постављени да помогну агилним тестерима да одреде које тестове треба покренути и како се ти тестови изводе.
Куадрант Оне
Главни фокус овог квадранта је интерни квалитет кода. Квадрант један обухвата све тестове који се односе на квалитет кода. Ови тестови укључују аутоматизоване тестове као што су:
- Тестови компоненти
- Јединични тестови
Обе врсте тестова су засноване на технологији и могу се применити да подрже агилни тим за тестирање.
Квадрант два
Квадрант два се фокусира на пословне карактеристике тестираних производа, као што су аутоматизовани и ручни функционални тестови за различите сценарије. Тестови у овом квадранту укључују:
- Тестирање у пару
- Примери тестирања токова рада/сценарија
- Тестирање прототипова за корисничко искуство
Квадрант три
Квадрант три даје повратне информације за све тестове обављене у квадрантима један и два. Сви укључени могу да тестирају производ да би разумели корисничко искуство.
Тестови у овом квадранту су често делимично или потпуно аутоматизовани. Агилни тим изводи тестове као што су:
- Експлораторно тестирање
- Упарите тестирање са купцима
- Тестирање употребљивости
- Тестирање прихватања корисника
- Колаборативно тестирање
Квадрант четири
Квадрант четири је за нефункционалне захтеве као што су компатибилност, безбедност и стабилност. Овај квадрант помаже тестерима да осигурају да је апликација спремна да испоручи очекивану вредност и функционалност.
Тестови који су уобичајени у овом квадранту укључују тестирање скалабилности, тестирање инфраструктуре, тестирање безбедности, тестове стреса, тестирање оптерећења и тестирање миграције података.
Агилне методе тестирања
У агилном тестирању постоји пет метода које можете применити на процес тестирања. Свака од ових метода има своју методологију и пружа различите информације о томе шта се тестира. Сцрум тестирање се такође може користити у агилним методама тестирања.
Развој вођен понашањем (БДД)
Прва метода тестирања је развој вођен понашањем (БДД). БДД подстиче комуникацију између различитих актера пројекта. Овај процес комуникације помаже свима који су укључени да разумеју све карактеристике пре фазе развоја.
Уз БДД, агилни тестери, програмери и аналитичари креирају реалистичне сценарије који помажу у процесу комуникације. Они ће написати ове сценарије у складу са форматом Гхеркин Гивен/Вхен/Онда. У суштини, формат наглашава како свака функција функционише у различитим сценаријима са различитим параметрима.
БДД омогућава агилном тиму за тестирање да креира сценарије засноване на предвиђањима и претпоставкама о томе где би функције могле да покваре, омогућавајући им да направе побољшања пре фазе развоја.
Приметићете да је овај метод сличан развоју вођеном тестом (ТДД), са главном разликом што овај агилни метод тестира потпуну функционалност, док ТДД тестира појединачне елементе.
Тест-Дривен Девелопмент (ТДД)
Са ТДД-ом ћете почети да тестирате пре него што креирате било шта друго. Агилни тим ће одредити шта треба тестирати и на основу тога ће развити корисничку причу. Типично, ТДД почиње са јединичним тестом, након чега следи писање целе приче.
Овај тест ће се наставити све док тестери не напишу исправан код који омогућава да прође јединични тест. Овај метод је такође користан за тестове компоненти, који добро функционишу са аутоматизованим алатима за тестирање. Ови тестови осигуравају да све компоненте производа раде појединачно.
Агилни тестери користе ТДД да процене како производ функционише у време имплементације уместо касније као што би то урадили са традиционалном методом тестирања.
Развој вођен тестом прихватања (АТДД)
Клијент, тестер и програмер ће се састати како би прикупили информације у развоју заснованом на прихватању ( АТДД ). Они ће разговарати о све три улоге и доћи до дефиниције за тест прихватања.
Са АТДД, корисник расправља о проблему, програмер покушава да схвати како да реши проблем, а тестер тражи шта би могло да крене по злу. АТДД се односи на корисничку перспективу производа и како он функционише.
Ови агилни тестови су често аутоматизовани и први написани. Често неће успети на почетку, након чега ће уследити побољшања око тих почетних резултата, постепено побољшавајући производ.
Тестирање засновано на сесији
Агилно тестирање засновано на сесији има за циљ да осигура да софтвер издржи свеобухватно тестирање. Укључује повеље о тестирању, тако да агилни тестери знају шта се тестира и разне извештаје како би се налази могли документовати.
Сва тестирања заснована на сесији се спроводе у временским оквирима. Ове сесије ће се завршити брифингом између агилних тестера, сцрум менаџера и програмера, где ће покрити пет тачака доказа. Сцрум тестирање се може прилагодити по потреби.
Доказне тачке су:
- Шта је урађено током теста
- Шта тест утврђује
- Никаквих проблема
- Преостали тестови за спровођење
- Како се тестер осећа у вези са тестирањем
Експлораторно тестирање
На крају је истраживачко тестирање. Овај агилни метод тестирања се фокусира на тестере који раде са софтвером, а не на индивидуалну израду, планирање и покретање различитих тестова. Овај метод комбинује извођење теста и фазу пројектовања.
Агилни тестери се у суштини играју са софтвером како би пронашли различите проблеме и где су његове предности. За разлику од других агилних метода тестирања, истраживачко тестирање нема скрипту. Тестери се понашају као корисници и могу бити креативни у различитим сценаријима које играју.
Они неће документовати процес како тестирају софтвер, али ако тестери пронађу проблематичну област, пријавиће је, омогућавајући примену поправке.
Агилне стратегије тестирања
Сада када разумете четири квадранта и животни циклус тестирања агилног софтвера, хајде да погледамо шта подразумевају различите стратегије агилног тестирања.
Итерација 0
Итерација 0, такође позната као прва фаза, је место где агилни тестери обављају задатке подешавања. Ова агилна стратегија тестирања укључује неколико компоненти као што су проналажење људи за тестирање, инсталирање алата, заказивање када ће се тестови одржати и још много тога.
Кораци и најбоље праксе за тестирање агилног софтвера које треба довршити у итерацији агилног тестирања 0 су:
- Успоставите пословну бригу о производу
- Развити граничне услове за обим пројекта
- Наведите све критичне захтеве који ће покретати дизајн производа
- Наведите архитектуру најмање једног кандидата
- Узмите у обзир ризике
- Припремите идејни пројекат
Конструкцијске итерације
Итерације конструкције су друга фаза агилног тестирања. Док се агилно тестирање дешава током целог процеса, већина тестова се дешава у овој фази. Фаза укључује неколико итерација тако да тестери могу да направе решење за све унутар сваке итерације.
Тим за агилно тестирање ће користити вишеструке праксе, као што су Сцрум, агилно моделирање, КСП и агилни подаци. Са сваком итерацијом, тим узима само најбитније захтеве из тестирања и примењује их.
Ова фаза је дефинисана истражним тестирањем и потврдним тестирањем. Потврдно тестирање ради како би се потврдило да производ испуњава сва очекивања заинтересованих страна. Укључује програмско и агилно тестирање прихватања како би се омогућило континуирано тестирање током животног циклуса.
Испитивање тестирања открива све проблеме које потврдни тестови нису успели да идентификују, што се обично изводи као друго. Ова врста агилног тестирања бави се свим питањима, од тестова на стрес до тестирања безбедности.
Издајте Ендгаме или Транситион Пхасе
Трећа фаза стратегије агилног тестирања носи два имена. Неки то називају прелазном фазом, али већина људи то назива фазом завршетка игре. Ова фаза је тачка у којој ће агилни тестери пустити производ за производњу.
Тестери ће обучавати подршку и оперативно особље о производу током финалне фазе. Такође укључује:
- Маркетинг производа за издавање
- Рестаурација
- Бацкуп
- Финализација система
- Сва документација
Као последња фаза пре фазе производње, агилни тестери могу да изврше комплетан тест система како би се уверили да је све у реду.
Производња
Завршна фаза је фаза производње. Након што прође све потребне агилне тестове, производ иде у производњу.
3 примера компанија које су имплементирале агилне методологије тестирања
Све више компанија користи агилне методологије тестирања и хипераутоматизацију како би побољшале квалитет и брзину изласка на тржиште својих производа. Многе велике технолошке компаније их користе, а ово су три одлична примера.
Аппле
Можда то не схватате, али Аппле је велика компанија која све време користи агилне методологије. Када се објави нови иОС софтвер и корисници почну да га користе, Аппле користи повратне информације од тог понашања корисника да побољша софтвер за следеће издање иОС-а.
Мицрософт
Многи од Мајкрософтових конкурената су већ користили агилно тестирање да побољшају своје производе и издају нове верзије, тако да прелазак Мајкрософта не би требало да буде изненађујући. Омогућава им да континуирано добијају повратне информације о ажурирањима и разумеју како се корисници осећају о новим функцијама.
ИБМ
ИБМ користи агилно тестирање и роботску аутоматизацију процеса (РПА) да поједностави рад у компанији од преко 100.000 људи.
Контролна листа плана агилног тестирања
Неколико контролних листа може да вам помогне да добијете све потребне информације приликом извођења пракси тестирања у агиле-у.
1. Нумеричке провере на терену
Провера нумеричких поља је неопходна да би се осигурало да су све вредности валидне за проверу аутентичности.
2. Провере поља података
Проверићете спецификације поља као што су дан, месец или година.
3. Провере кварова
Креирање листе са дефектима вам омогућава да одредите како је дошло до квара и анализирате га за решење.
4. Алфа провере на терену
Мораћете да проверите да ли има црних и непразних, важећих и неважећих знакова и још много тога.
5. Контролна листа спремности за планирање
Планирање ко ће бити у агилном тиму и додељивање одговарајућих улога и одговорности морају се десити пре тестирања. Такође ћете морати да планирате праксе тестирања у агиле-у.
6. Спремна контролна листа
Пре него што пошаље производ на испоруку, агилни тим мора да изврши све претходне задатке.
7. Контролна листа за радионицу
Ова контролна листа укључује испуњавање различитих задатака и планирање рокова завршетка
8. Контролна листа Епиц Бреакдовн
Контролна листа епске анализе детаљнија је од претходних листа. Контролна листа за епски преглед укључује низ карактеристика које треба узети у обзир, укључујући:
- Варијације пословних правила
- Природа апликације
- Кораци тока рада
- Варијације података
- Главни ефекат
- Одложите перформансе
- Методе уноса података
- ЦРУД операције
Тим за агилно тестирање
Изградња агилног софтверског тима за тестирање пре почетка пројекта је кључна за несметан процес тестирања.
Ко би требало да буде део тима за агилно тестирање
Сви који су укључени у животни циклус производа требало би да буду у тиму за агилно тестирање. Тим за агилно тестирање укључује тестере, програмере и власнике производа. Свака улога ради заједно у корист производа и обезбеђивања квалитета .
1. Тестер
Тестери су одговорни за спровођење различитих тестова повезаних са агилним оквиром за тестирање. Они изводе сажету документацију и састају се са другим члановима тима како би развили решења.
2. Девелопер
Програмери дизајнирају производ. Они ће помоћи тестерима у проналажењу решења за грешке када се појаве, а истовремено ће осигурати да власници производа буду задовољни крајњим производом.
3. Власник производа
Власници производа такође имају важну улогу у тиму за агилно тестирање јер имају право гласа у свим коначним одлукама на основу доприноса тестера и програмера.
Аутоматизација агилног тестирања софтвера
Програмери могу да аутоматизују многе аспекте агилног тестирања. Аутоматизовани алат за агилно тестирање дугорочно штеди много времена и новца.
Предности аутоматизације агилног тестирања софтвера
Аутоматизација агилног тестирања софтвера има многе предности за побољшање процеса тестирања и укупног квалитета производа.
1. Брже извршење
Аутоматизовани агилни алати за тестирање могу учинити брже извршење. Моћи ћете брже да добијете резултате и повратне информације, а као резултат тога ћете развити бржа решења за проблеме.
2. За вишекратну употребу
Тестирање развоја софтвера може бити свакодневно. Понављање истих тестова може бити заморно, стога коришћење аутоматизованог алата за агилно тестирање може учинити овај задатак лакшим за управљање поновним коришћењем истог теста.
Дакле, слично као и РПА алати , ова методологија елиминише низ задатака који се понављају.
Ризици аутоматизације агилних методологија тестирања софтвера
Као и код свега, постоје ризици за аутоматизацију агилних софтверских тестова.
1. Не може у потпуности да замени ручно тестирање
Иако су предности аутоматизације агилних процеса тестирања знатно веће од његових ограничења, аутоматизовани тестови нису потпуно решење. Аутоматизација може да уради само толико, тако да ћете и даље морати да се ослоните на ручно тестирање да бисте допунили процес аутоматизације тестирања.
2. Тестови могу бити непоуздани
Када су у питању аутоматизовани тестови, непоузданост је велика брига. Тим за тестирање ће морати да обрати додатну пажњу на лажне позитивне резултате и грешке приликом тестирања.
3. Може недостајати ефикасних решења
Још један проблем са аутоматизованим тестовима је то што они не дају увек адекватне одговоре на изазове. Аутоматизованим тестовима често недостаје стручност за креирање решења.
Агилни алати за тестирање
Иако је доступно неколико алата за агилно тестирање, неки су бољи од других.
Шта чини добар алат за аутоматизацију агилног тестирања?
Како разликовати одличан алат за аутоматизацију агилног тестирања од неефикасног? Ево неколико савета.
1. Адекватно снимање
У оквиру агилног процеса тестирања софтвера, квалитетан алат за тестирање аутоматизације ће вам пружити адекватну документацију свих процеса и резултата тестирања. На овај начин можете јасно разумети где се грешке јављају и зашто.
2. Измена теста без понављања
Једном када се тест изврши, добар алат за аутоматизацију ће омогућити модификације без потребе потпуног поновног писања кода или претходних тестова.
3. Једноставност употребе
С обзиром на учешће чланова тима са различитим нивоима техничких вештина у процесу тестирања, агилни алат за тестирање треба да буде лак за учење, да не захтева посебно искуство кодирања, да пружа богату функционалност у веома интуитивном интерфејсу и омогућава лаку сарадњу и дељење информација.
Иако су технички аспект и функционалност алата, наравно, од суштинског значаја, три принципа о којима смо горе говорили представљају стуб сваког агилног процеса тестирања, и као такав, сваки алат за агилно тестирање мора да испуни ове услове.
Остале ствари које треба имати на уму при преласку на агилну методологију тестирања
Пре него што у потпуности пређете на коришћење агилног оквира за тестирање, требало би да имате на уму неколико ствари.
Сарадња је кључна
Једна од главних компоненти агилне стратегије тестирања је сарадња. Док у традиционалном тестирању, тестери и програмери раде одвојено, агилна методологија претпоставља да ће они сада блиско сарађивати током целог пројекта тестирања.
Креирајте агилно окружење за тестирање
Не можете имати ефикасну сарадњу без агилног окружења за тестирање које то подстиче. Било да се креира одређени радни простор за агилни тим за тестирање, обезбеде бољи канали комуникације или било које друге релевантне мере, окружење за колаборативно тестирање је неопходно и неопходно.
ФАКс
За даља питања о агилном тестирању, ево неколико одговора на истакнута питања.
Како КА функционише у агилном?
У идеалном случају, агилни процес тестирања укључује КА у целости. Агилни тестери и програмери ће прецизно следити захтев клијента и правити промене на основу тестирања како би осигурали и побољшали квалитет.
Које вештине су потребне агилним тестерима?
Сви агилни тестери треба да поседују аутоматизацију тестирања, прихватање развоја заснованог на тестовима, развоја вођеног тестом, црне кутије, беле кутије и вештине тестирања засноване на искуству. За њих је корисно да имају и жељу за растом, јер се процес тестирања, праксе и технологија развијају муњевитом брзином.
Који су принципи агилног тестирања?
Осам принципа агилног тестирања су континуирано тестирање, стална повратна информација, која укључује цео тим, брза повратна информација, квалитет софтвера на високом нивоу, мање документације, вођено тестирањем и задовољство корисника.
Које тестирање се ради током агилности?
Тестирање које се дешава током агилности укључује тестове стреса, тестове компоненти, тестове јединица и још много тога.
Како функционише агилно тестирање?
Агилни процес тестирања софтвера показује да тестери и програмери раде заједно на континуираном тестирању различитих делова производа. Агилни тим може да идентификује и исправи грешке док прегледа повратне информације клијената.
ЗАПТЕСТ за агилно тестирање
Једна од предности коришћења ЗАПТЕСТ-а у Агиле тестирању је могућност креирања аутоматизованих скрипти директно у фази дизајна производа користећи било који облик графичких артефаката као што су скице на табли, жичани оквири, ПоверПоинт слике итд. ЗАПТЕСТ омогућава претварање ових слика у објекте аутоматизације које Аутоамтор користи за израду скрипти пре него што се праве софтверске апликације развијају. ЗАПТЕСТ такође нуди аутоматско креирање документације и паралелно извршавање тестова на свим потребним платформама. Овај приступ ставља тимове за тестирање испред распореда и омогућава тестирање и пуштање апликације Јуст-Ин-Тиме.