Стів Роу про тест девелоперів

Як я вже згадував, Стів Роу (Steve Rowe) написав дві статті про тест девелоперів: Test Developers Shouldn’t Execute Tests та Do We Still Need Test Developers? Далі детальніше про їх зміст.

В першій (Test Developers Shouldn’t Execute Tests) автор аргументує свою думку щодо того, чи потрібно тест девелоперам виконувати тести. На його думку, команди тестувальників повині бути чітко поділеними на тих людей, які пишуть автоматичні тести (тест девелопери), і на тих, хто їх виконує. Тобто обов’язок виконання тестів не повинен лежати на його творцях. Ось причини:

  • За умов, коли тест девелопери витрачатимуть значну частину свого часу - нехай 15% - на те, щоб інсталювати машини, налаштовувати тестові середовища, виконувати тести, з’явиться велика кількість людей, які захочуть бути не тест девелоперами, а програмістами. Такий стан справ, за яких тест девелопери виконуватимуть роботу тестувальників, звузить коло тих, хто захоче писати автоматизовані тести.
  • Крім того, написання коду вимагає довгих відрізків часу без відволікаючих факторів. Відтворити баґ, прогнати BAT-тест - все це відволікає і знижує ефективність основної діяльності - написання автоматичних тестів.
  • Багато тестів простіше виконати вручну, аніж автоматизувати. Якщо людина буде відповідальною за виконання тесту і за його автоматизацію, з’явиться спокуса просто виконати тест вручну (бо так швидше). Але, витрачаючи більше часу на ручне тестування, в тест девелопера залишається менше часу на автоматизацію, що в свою чергу веде до збільшення часу на виконання тестів…
  • В кінці кінців, є питання спеціалізації. Чим більш спеціалізованими є люди, тим більш продуктивною є їх робота.

Найпоширенішими запереченнями до описаного підходу є наступні:

  • такий стан речей ніби-то піднімає тест девелоперів над групою тестування. Роу заперечує, кажучи, що така спеціалізація веде просто до перегляду обов’язків всередині команди.
  • за таких умов тест девелопери можуть виявитися відірваними від поточного стану проекту. Стів Роу погоджується із цим і зауважує, що для уникнення цього потрібно забезпечити залучення тест девелоперів до обробки результатів провалених автоматичних тестів і до зустрічей команди тестування загалом.

Один із коментаторів до цієї статті, керівник проекту testingReflections.com Antony Marcano, серед іншого запитав у своєму коментарі, чи потрібна тоді взагалі така роль як тест девелопер на проекті? Чи не варто залучити програмістів до написання автоматичних тестів?

Do We Still Need Test Developers? є відповіддю на це питання. І відповідь Стіва Роу є: “Так, нам потрібні тест девелопери”. І ось чому:

  • Тест девелопери, попри те, що використовують ті ж засоби, що і програмісти, думають по-іншому. Якщо програмісти восновному концентруються на позитивних аспектах продукту, який розробляється, то тест девелопери звертають увагу на негативні варіанти: крайові умови, неправильний тип вхідних даних, нетипова операція тощо.
  • Тест девелопери фокусуються на інтеграційних тестах, які є складнішими в автоматизації і потребують іншого підходу, аніж юніт-тести.
  • Існують підходи, специфічні для тестувальників (model-based testing, data-driven testing, класи еквівалентності, pairwise testing), які не знатимуть програмісти. Тест девелопери їх знатимуть або матимуть стимул вивчити.
  • Крім того, наявність окремої групи розробки автоматичних тестів в межах команди тестування може певним чином убезпечити останню від урізання бюджету (як в грошах, так і часі, виділеному на тестування)

Від себе додам, що коментарі до обох статей також заслуговують на увагу.

0 Responses to “Стів Роу про тест девелоперів”


  1. No Comments

Leave a Reply




Безкоштовний хостинг TOPUA