Въведение в Agile Testing
Agile testing е процес на тестване на софтуер. Следва принципа на разработката на софтуер Agile. Това е свързана методология за развитие, тъй като дейностите по разработване и тестване протичат паралелно тук. Разработката е съобразена с променящите се изисквания на клиентите.
Агилното тестване е непрекъснат процес. Всички членове на проекта участват в това. Тестването не е отделна фаза, по-скоро се извършва заедно с кодирането, в резултат на това крайният продукт е с високо качество, отговаря на изискванията на клиента. Тестването започва в началото на проекта и съществува съюз между тестване и разработка.
Основната цел на пъргавия екип е да постигне качество. Времевите рамки на пъргавото тестване са кратки (от 1 до 4 седмици) и са наречени Итерации. Тестването се извършва паралелно с разработването на итеративен модел.
Принципи на пъргавото тестване
1. Непрекъснато: осигурява обратна връзка непрекъснато, постоянно, така че продуктите да отговарят на нуждите на бизнеса.
2. Работа в екип: В друг софтуер тестовият екип е отговорен за тестване, но при гъвкаво тестване, заедно с тестовия екип, разработчиците и бизнес анализаторите участват еднакво в тестовете.
3. Време за реакция на обратна връзка: Тъй като бизнес екипът участва в гъвкаво тестване, обратната връзка е бърза и непрекъсната и затова времето за реакция на обратна връзка е много кратко.
4. Чист и опростен код: Намерените дефекти от пъргавия екип се коригират в рамките на една и съща итерация и по този начин кодът се поддържа чист и опростен.
5. Извършване на тестове: Тук тестването се извършва в момента на внедряване, докато в други процеси тестването се извършва след внедряването.
6. Леки документи: Agile тестери използват контролни списъци за многократна употреба, за да решат тестовете, които да бъдат взети. Документите могат да бъдат използвани за няколко цели, а използваните инструменти също са леки.
7. Разработка на тестово задвижване: Тук развитието се ръководи от тестване. Тестовите случаи се пишат в съответствие с изискванията, така че този подход се нарича Test Driven Development (TDD). В софтуера за тестване на водопад тестването се извършва в последната фаза.
Стойности на Agile Testing
- Индивидите и комуникацията се избират чрез строг процес и инструменти. Процедурите и инструментите не се пренебрегват при пъргавото тестване, а вместо това се изграждат върху разумни, силни процеси и инструменти и тези инструменти също се използват. Правилото тук е, че тестерите задвижват инструментите и изходът зависи от тестерите, а не обратното.
- Изборът, направен при пъргавото тестване, е функционален и използваем софтуер при неизползваема и изчерпателна документация. Основната цел тук е действителното тестване, а не сложните документи, чиято единствена цел е насочена към целта. Документите определено присъстват, ако член реши да напусне.
- Участието на клиенти е тайната тук. Клиентът винаги е ангажиран и е във връзка с напредъка на проекта. Това означава, че клиентът трябва да има редовни срещи по време на целия проект, а не директно да бъде доставян след приключване на проекта. Това сигурно е допълнителна работа, но определено е по-добре от работата в грешна посока.
Всички необходими промени се приемат и прилагат. Въпреки че проектът следва план, той лесно се променя, когато ситуацията се промени. Така че човек не трябва да чака до края, за да разбере за променения сценарий и проектът да бъде уволнен поради промененото изискване.
Agile Методи за тестване
Има различни гъвкави методи за тестване като:
1. Развитие, поведено от поведение (BDD).
Развитието, поведено от поведението, подобрява комуникацията, така че всички членове разбират всяка функция преди да започне процесът. Разработчиците, анализаторите и тестерите са в непрекъсната комуникация.
2. Развитие на тест за приемане (ATDD).
Основната цел тук е да се включат всички членове на екипа, т.е. клиент, тестер и разработчик, тъй като и трите имат различни гледни точки. Клиентът се фокусира върху проблема, който трябва да бъде решен, разработчикът се фокусира върху това как ще бъде решен и целта на тестера е да види какво може да се обърка. Те се наричат тестове за приемане, където са включени перспективи и на трите, описващи как системата ще функционира.
3. Изследователски тестове.
При такова тестване тестовият дизайн и неговото изпълнение вървят ръка за ръка. Акцентира се върху работещия софтуер над документацията. Индивидите и комуникацията са по-важни от процеса и инструментите. Изследователските тестове са по-адаптивни към промените. Плановете за изпитване се проектират и изпълняват в съответствие с откритията на тестерите.
Тестов план
При пъргаво тестване се изписва и актуализира тестов план всеки път. Включва:
- Обхват на тестване
- Нови функционалности, които се тестват
- Ниво или видове тестове
- Тестване на производителността и натоварването
- Като се има предвид инфраструктурата
- План за помощ
- Планиране на ресурси
- Резултати и основни етапи
Фази на жизнения цикъл на тежкия тест
Има 5 фази от жизнения цикъл на тежкия тест
- Оценка на въздействието, която означава събиране на принос от заинтересовани страни и потребители, което ще действа като обратна връзка за следващия цикъл на развитие.
- Планирано планиране на тестовете, при което всички заинтересовани страни се събират, за да планират процеса на тестване, срещи и резултати.
- Пуснете готовността, етап, в който се решава дали характеристиките, които са разработени, са готови да излязат на живо или не.
- Ежедневни скремове, които включват ежедневна постоянна сутрешна среща, за да се установи състоянието на теста и да се поставят цели за деня.
- Преглед на ловкостта, при който се провеждат седмични срещи за преглед със заинтересованите страни, за да се провери напредъкът.
Предимства на Agile Testing
Agile тестване има своите предимства. Това е както софтуер, спестяващ време, така и пари, тъй като намалява документацията и е много гъвкав и адаптивен към непрекъснатите промени в бизнеса. Редовната обратна връзка се получава от реалната употреба, така че когато достигне последния етап, има най-малка възможност потребителят да не е запознат с процеса.
Agile тестването е перфектният софтуер за ранно откриване на дефекти и тъй като проблемите се решават рано, цената на поправянето също се намалява. Крайният продукт е ориентиран към клиента и с високо качество. Непрекъснатата комуникация между екипите прави гъвкавото тестване успешно.
Препоръчителни статии
Това е ръководство за Agile Testing. Тук обсъдихме концепциите, фазите, ползите, тестовия план, методите, принципа и стойностите на пъргавото тестване. Можете да разгледате и другите ни предложени статии, за да научите повече -
- Какво е ETL тестване?
- Какво е Agile програмиране?
- Какво е Agile Sprint?
- Въпроси за интервю с Agile