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