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 сървър
  • Обратна връзка възможно най-скоро на екипа в случай на проблеми
  • Тестове за приемане на актуализации, когато се измислят нови сценарии