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
- Зваротная сувязь як мага хутчэй у выпадку ўзнікнення праблем
- Абнаўляйце прыёмныя тэсты пры прадумванні новых сцэнарыяў