Agile Testing Mindset и ролята на Agile Tester
В Agile екип тестерите трябва да си сътрудничат тясно с всички останали членове на екипа и със заинтересованите страни в бизнеса. Това има редица последици по отношение на уменията, които тестващият трябва да притежава, и дейностите, които те изпълняват в рамките на Agile екип.
Agile Testing Mindset
Agile Testers трябва да се откъснат от принципите и работещите методологии на традиционното разработване на софтуер. За да успеете като Agile Tester, се изисква правилното мислене.
Agile Testing Mindset, може да се обобщи в дванадесет принципа:
- Помощ за качество над Осигуряване на качеството
- Непрекъснато тестване над Тестване в края
- Отговорност на екипа за качество над Отговорност на тестера
- Подход на целия екип над Тестови отдели и независимо тестване
- Автоматизирана проверка над Ръчно тестване на регресия
- Техническо и API тестване над Просто GUI тестване
- Изследователско тестване над Тестване по сценарий
- Потребителски истории и нужди на клиентите над Спецификации на изискванията
- Изграждане на най-добрия софтуер над Разбиване на софтуера
- Ранно включване над Късно включване
- Кратка обратна връзка над Забавена обратна връзка
- Предотвратяване на дефекти над Намиране на дефекти
Какви умения трябва да притежава пъргавият тестер?
В допълнение към уменията, необходими за тестера, работещ в традиционен проект за водопад, тестващият в Agile екип трябва да бъде компетентен в автоматизацията на тестовете, разработването, управлявано от тестове, разработването, управлявано от тест, бялата кутия, черната кутия и опит -базирано тестване.
Тъй като Agile методологиите зависят до голяма степен от сътрудничеството, комуникацията и взаимодействието между членовете на екипа, както и заинтересованите страни извън екипа, тестерите в Agile екип трябва да имат добри междуличностни умения. Тестерите в Agile екипи трябва:
- Бъдете позитивни и ориентирани към решения с членове на екипа и заинтересовани страни
- Покажете критично, ориентирано към качеството, скептично мислене за продукта
- Активно получавайте информация от заинтересованите страни (вместо да разчитате изцяло на писмени спецификации)
- Точно оценете и отчетете резултатите от теста, напредъка на теста и качеството на продукта
- Работете ефективно за определяне на проверими истории на потребителите, особено критерии за приемане, с представители на клиенти и заинтересовани страни
- Сътрудничете в екипа, работейки по двойки с програмисти и други членове на екипа
- Отговорете на промяната бързо, включително промяна, добавяне или подобряване на тестови случаи
- Планирайте и организирайте собствената си работа
Ролята на тестера в пъргав екип
Ролята на тестера в Agile екип включва дейности, които генерират и осигуряват обратна връзка не само за състоянието на теста, напредъка на теста и качеството на продукта, но и за качеството на процеса. Тези дейности включват:
- Разбиране, прилагане и актуализиране на Agile Test Strategy
- Работи с Собственици на продукти да дефинирам Критерии за приемане и дефиницията на Готово.
- Измерване и отчитане на тестовото покритие за всички приложими измерения на покритието
- Осигуряване на правилното използване на инструментите за тестване
- Конфигуриране, използване и управление на тестови среди и тестови данни
- Писане и изпълнение на автоматизирани проверки и докладване обратно на екипа
- Докладване на дефекти и работа с екипа за тяхното отстраняване
- Обучение на други членове на екипа по съответните аспекти на тестването
- Осигуряване на подходящи задачи за тестване са планирани по време на пускането и планирането на итерации
- Активно сътрудничество с разработчици и заинтересовани страни в бизнеса за изясняване на изискванията, особено по отношение на проверяемостта, последователността и пълнотата
- Участвайте проактивно в ежедневни срещи за изправяне, сесии за подреждане на истории, ретроспективи на екипа, предлагане и прилагане на подобрения
В рамките на Agile екип всеки член на екипа отговаря за качеството на продукта и играе роля при изпълнението на задачи, свързани с теста.
Подвижните организации могат да срещнат някои свързани с теста организационни рискове:
- Тестерите работят толкова тясно с разработчиците, че губят подходящото мислене на тестера
- Тестерите стават толерантни или мълчат за неефективни, неефективни или нискокачествени практики в екипа
- Тестерите не могат да бъдат в крак с входящите промени в ограничени във времето повторения
Участие в Scrum дейности
Тестерът на Agile проект ще работи по различен начин от този, който работи по традиционен проект. Тестерите трябва да разберат ценностите и принципите, които стоят в основата на Agile проектите, и как тестерите са неразделна част от скрам екип, заедно с разработчици и представители на бизнеса.
Членовете в Agile проект общуват помежду си рано и често, което помага за отстраняване на дефектите рано и разработване на качествен продукт.
Важно е да се отбележи, че тестерите в проектите Agile не се фокусират само върху тестването на продукта, за да открият грешки, а по-скоро акцентът трябва да бъде върху подобряването на процесите за предотвратяване на дефекти и тестерите играят важна роля в това.
Тук разглеждаме как Agile Testers могат да добавят стойност на всеки етап от доставката на софтуера в Agile настройка.
Определяне на цялостното качество
Тестерите участват в дефинирането на цялостното качество и подход към тестването и особено добавяне на стойност в следните дейности:
Дейности по предварително планиране
Тестерите участват в сесии за предварително планиране и груминг и особено добавят стойност в следните дейности:
- Дефиниране на проверими потребителски истории, включително критерии за приемане
- Определяне на проверимостта на потребителските истории
- Създаване на тестове за приемане на потребителските истории
- Участие в анализи на риска от проекти и качество
Планиране на спринта
Тестерите участват в срещи за планиране на Sprint и особено добавят стойност в следните дейности:
- Планиране на тестването за изданието
- Участие в подробния анализ на риска на потребителските истории
- Създаване на тестове за приемане на потребителските истории
- Определяне на необходимите нива на изпитване
- Разбиване на потребителски истории по задачи (особено задачи за тестване)
- Оценка на усилията за тестване, свързани с потребителските истории и всички задачи за тестване
- Идентифициране на функционални и нефункционални аспекти на системата, която ще се тества
- Подкрепа и участие в автоматизация на тестове на множество нива на тестване
Тестване в Спринт
Тестерите участват по време на Спринт и особено добавят стойност в следните дейности:
- Извършване на изследователско тестване на нови функции
- Написване на автоматизирани тестове за регресия за нови и съществуващи функции
- Интегриране и изпълнение на автоматизирани тестове на CI сървър
- Обратна връзка възможно най-скоро на екипа в случай на проблеми
- Тестове за приемане на актуализации, когато се измислят нови сценарии