Agile Testing Mindset and Role of Agile Tester

У камандзе Agile тэстыроўшчыкі павінны цесна супрацоўнічаць з усімі іншымі членамі каманды і з зацікаўленымі бакамі бізнесу. Гэта мае шэраг наступстваў з пункту гледжання навыкаў, якія павінен мець тэстар, і дзейнасці, якую яны выконваюць у камандзе Agile.



Agile Testing Mindset

Agile Testers павінны адарвацца ад прынцыпаў і працоўных метадалогій традыцыйнай распрацоўкі праграмнага забеспячэння. Для таго, каб атрымаць поспех у якасці спрытнага выпрабавальніка, неабходна правільнае мысленне.

Мысленне Agile Testing можа быць падведзена да дванаццаці прынцыпаў:


  • Дапамога па якасці скончылася Забеспячэнне якасці
  • Бесперапыннае тэсціраванне скончылася Тэставанне ў канцы
  • Адказнасць каманды за якасць скончылася Адказнасць тэстара
  • Падыход усёй каманды скончылася Выпрабавальныя аддзелы і незалежныя выпрабаванні
  • Аўтаматызаваная праверка скончылася Ручное тэсціраванне рэгрэсіі
  • Тэхнічнае і API-тэсціраванне скончылася Проста тэставанне графічнага інтэрфейсу
  • Даследчае тэсціраванне скончылася Тэставанне па сцэнарыі
  • Гісторыі карыстальнікаў і патрэбы кліентаў скончылася Спецыфікацыі патрабаванняў
  • Стварэнне лепшага праграмнага забеспячэння скончылася Парушэнне праграмнага забеспячэння
  • Ранняе ўключэнне скончылася Позні ўдзел
  • Кароткая зваротная сувязь скончылася Затрымка зваротнай сувязі
  • Прафілактыка дэфектаў скончылася Пошук дэфектаў


Якія навыкі павінен мець спрытны тэстар?

У дадатак да навыкаў, неабходных для тэстара, які працуе ў традыцыйным праекце вадаспаду, тэстар у камандзе Agile павінен быць кампетэнтным у галіне аўтаматызацыі выпрабаванняў, распрацоўкі на аснове тэстаў, распрацоўкі на аснове тэсту, белай скрыні, чорнай скрыні і вопыту на аснове тэставання.

Паколькі методыкі Agile у значнай ступені залежаць ад супрацоўніцтва, зносін і ўзаемадзеяння паміж членамі каманды, а таксама зацікаўленымі бакамі па-за камандай, тэстыроўшчыкі ў камандзе Agile павінны мець добрыя навыкі міжасобасных зносін. Тэстары ў камандах Agile павінны:


  • Будзьце пазітыўныя і арыентаваны на рашэнне з членамі каманды і зацікаўленымі бакамі
  • Адлюструйце крытычнае, арыентаванае на якасць, скептычнае мысленне пра прадукт
  • Актыўна атрымліваць інфармацыю ад зацікаўленых бакоў (а не цалкам абапірацца на пісьмовыя характарыстыкі)
  • Дакладна ацэньвайце і паведамляйце вынікі выпрабаванняў, ход выпрабаванняў і якасць прадукцыі
  • Эфектыўна працуйце з прадстаўнікамі кліентаў і зацікаўленымі бакамі, каб вызначыць праверныя гісторыі карыстальнікаў, асабліва крытэрыі прыняцця
  • Супрацоўнічайце ў камандзе, працуючы ў пары з праграмістамі і іншымі членамі каманды
  • Хутка рэагуйце на змены, у тым ліку змяняйце, дадавайце і ўдасканальвайце тэставыя прыклады
  • Плануйце і арганізуйце ўласную працу


Роля выпрабавальніка ў спрытнай камандзе

Роля выпрабавальніка ў камандзе Agile уключае мерапрыемствы, якія ствараюць і забяспечваюць зваротную сувязь не толькі пра стан выпрабаванняў, ход выпрабаванняў і якасць прадукцыі, але і пра якасць працэсу. Гэтыя мерапрыемствы ўключаюць:



  • Разуменне, укараненне і абнаўленне Agile Test Strategy
  • Працаваць з Уладальнікі прадукту вызначыць Крытэрыі прыёмкі і Вызначэнне 'Зроблена'.
  • Вымярэнне і справаздачнасць тэставага ахопу па ўсіх прыдатных памерах пакрыцця
  • Забеспячэнне належнага выкарыстання інструментаў тэсціравання
  • Наладжванне, выкарыстанне і кіраванне тэставым асяроддзем і тэставымі дадзенымі
  • Напісанне і выкананне аўтаматызаваных праверак і справаздачнасць перад камандай
  • Паведамленне пра дэфекты і праца з камандай па іх ліквідацыі
  • Трэнінг іншых членаў каманды па адпаведных аспектах тэсціравання
  • Забеспячэнне адпаведных задач тэсціравання запланавана падчас планавання выпуску і ітэрацыі
  • Актыўнае супрацоўніцтва з распрацоўшчыкамі і зацікаўленымі бакамі бізнесу для ўдакладнення патрабаванняў, асабліва з пункту гледжання праверачнасці, паслядоўнасці і паўнаты
  • Прыняцце актыўнага ўдзелу ў штодзённых сустрэчах па стэндапінгу, сеансах грумінгу гісторый, рэтраспектывах каманд, прапаноўванні і ўкараненні ўдасканаленняў

У камандзе Agile кожны член каманды адказвае за якасць прадукцыі і адыгрывае пэўную ролю ў выкананні заданняў, звязаных з тэстамі.
Спрытныя арганізацыі могуць сутыкнуцца з некаторымі арганізацыйнымі рызыкамі, звязанымі з тэстамі:

  • Тэстары настолькі цесна супрацоўнічаюць з распрацоўшчыкамі, што губляюць адпаведнае мысленне тэстараў
  • Тэстары становяцца талерантнымі і маўчаць пра неэфектыўныя, неэфектыўныя альбо нізкаякасныя практыкі ў камандзе
  • Тэстэры не могуць ісці ў нагу з новымі зменамі ў ітэрацыях, абмежаваных часам


Удзел у Scrum-мерапрыемствах

Тэстар па праекце Agile будзе працаваць інакш, чым той, хто працуе над традыцыйным праектам. Тэстэры павінны разумець каштоўнасці і прынцыпы, якія ляжаць у аснове праектаў Agile, і тое, як тэстары з'яўляюцца неад'емнай часткай Scrum-каманды разам з распрацоўшчыкамі і прадстаўнікамі бізнесу.

Удзельнікі Agile-праекта рана і часта маюць зносіны паміж сабой, што дапамагае рана выдаляць дэфекты і распрацоўваць якасную прадукцыю.


Важна адзначыць, што тэстыроўшчыкі ў праектах Agile не толькі засяроджваюцца на тэставанні прадукту для пошуку памылак, але ў цэнтры ўвагі павінны быць удасканаленне працэсаў прадухілення дэфектаў, і тэстары гуляюць у гэтым важную ролю.

Тут мы разгледзім, як Agile Testers могуць дадаць каштоўнасць на кожным этапе пастаўкі праграмнага забеспячэння пры наладжванні Agile.

Вызначэнне агульнай якасці

Тэстары ўдзельнічаюць у вызначэнні агульнай якасці і падыходу да тэсціравання, і асабліва дадаюць каштоўнасць у наступных відах дзейнасці:

Да планавання дзейнасці

Тэсціроўшчыкі ўдзельнічаюць у сесіях папярэдняга планавання і дагляду за гісторыямі, і асабліва дадаюць каштоўнасць у наступных мерапрыемствах:


  • Вызначэнне пратэстуемых гісторый карыстальнікаў, у тым ліку крытэрыі прыёмкі
  • Вызначэнне тэставанасці гісторый карыстальнікаў
  • Стварэнне прыёмных тэстаў для гісторый карыстальнікаў
  • Удзел у аналізе рызыкі праекта і якасці

Планаванне спрынту

Тэсціроўшчыкі ўдзельнічаюць у сустрэчах па планаванні спрынту і асабліва дадаюць каштоўнасць у наступных мерапрыемствах:

  • Планаванне тэставання да выпуску
  • Удзел у дэталёвым аналізе рызыкі гісторый карыстальнікаў
  • Стварэнне прыёмных тэстаў для гісторый карыстальнікаў
  • Вызначэнне неабходных узроўняў тэсту
  • Разбіўка гісторый карыстальнікаў на задачы (у прыватнасці, тэставанне)
  • Ацэнка намаганняў па тэставанні, звязаных з гісторыямі карыстальніка і ўсімі задачамі тэставання
  • Вызначэнне функцыянальных і нефункцыянальных аспектаў сістэмы, якую трэба праверыць
  • Падтрымка і ўдзел у аўтаматызацыі тэстаў на некалькіх узроўнях тэсціравання

Тэставанне ў спрынце

Падчас спрынту ўдзельнікі тэставання ўдзельнічаюць і асабліва дадаюць каштоўнасць у наступных відах дзейнасці:

  • Выкананне пошукавых выпрабаванняў новых функцый
  • Напісанне аўтаматызаваных рэгрэсійных тэстаў для новых і існуючых функцый
  • Інтэграцыя і выкананне аўтаматызаваных тэстаў на серверы CI
  • Зваротная сувязь як мага хутчэй у выпадку ўзнікнення праблем
  • Абнаўляйце прыёмныя тэсты пры прадумванні новых сцэнарыяў