Проучвателното тестване е важна дейност в гъвкава среда, тъй като може да помогне на софтуерните тестери да се справят с бързите темпове на развитие на гъвкавите софтуерни проекти.
Първо, кратко въведение в пъргавата методология и изследователски тестове:
В гъвкавата методология софтуерът се пуска в малки повторения. Всяка итерация преминава през планиране, оценка, разработване, интегриране, тестване и пускане. Поради честите версии, тестовата автоматизация става все по-важна, тъй като разработчиците трябва да получат бърза обратна връзка за състоянието на приложението. Автоматизираните проверки служат като тестове за регресия, за да се гарантира, че с всяко издание софтуерът не е регресирал.
Изследователското тестване се определя като едновременно обучение, дизайн на теста и изпълнение на теста. Това е подход за тестване, който оценява тестера като неразделна част от тестовия процес и споделя същите стойности като Agile Manifesto:
Изследователското тестване също допълва автоматизацията на тестовете; това е, докато автоматизираните проверки проверяват за проблеми с регресията, Изследователското тестване се фокусира върху новите функции, които са разработени. Това е важно, тъй като всеки спринт обикновено трае само няколко седмици, което не позволява достатъчно време за скриптове за тестове и изпълнение по-късно спрямо приложението. От друга страна, изследователското тестване в гъвкава среда позволява на тестерите да се запознаят с домейна и приложението и при всяка итерация това разбиране се подобрява и следователно тестерите стават по-ефективни.
Според Тестовият квадрант на Брайън Марик , има две страни на тестването, тези, които поддържат програмиране, т.е. поддържат писане на код (модулни тестове) или предоставят индикация кога програмистът може да бъде завършен (тестове за приемане) и тези, които критикуват продукта, т.е. „погледнете завършен продукт с намерение за откриване на недостатъци. ' Той е тук, в областта на критикуването на продукта, където проучвателните тестове могат да играят основна роля в пъргавия проект.
В гъвкавите проекти тестовете, които поддържат програмирането, се извършват предимно от разработчици и почти винаги са автоматизирани и е индикация за извършено от гледна точка на програмиста, докато изследователските тестове имат за цел да открият възможни проблеми, които са извън автоматизираните тестове на програмисти. Изследователските тестери се фокусират върху области, където съществуващите автоматизирани тестове може да се окажат кратки.
Ефективните изследователски тестери, работещи по гъвкави проекти, използват тактиките на изследователски тестове, за да помогнат на екипа на проекта да информират за възможни проблеми с продукта. Тестването им може да бъде неструктурирано и фрийстайл или да се управлява с помощта на чарти и тестови сесии. Също така поради кратките интервали на разработка, тестването по своята същност се основава на риска, а изследователското тестване може да се съсредоточи върху области с висок риск за намиране на потенциални проблеми.
Подвижните методологии и изследователското тестване са допълнителни методи, които, когато се използват заедно, могат да създадат отлично взаимодействие в рамките на тестването.