Разделы портала

Онлайн-тренинги

.
Органическое тестирование
02.10.2016 20:32

Автор: Виктор Славчев (Victor Slavchev)

Оригинал статьи: http://mrslavchev.com/2016/07/14/organic-testing/

Перевод: Ольга Алифанова

Прежде чем начать, хочу рассказать, как эта идея пришла мне в голову. Я работал над докладом "Скрытая мудрость тест-тролля" и включил в него шутку, основанную на публичной шумихе вокруг органической еды. Затем я задумался о том, что тестирование органично по своей природе, и решил написать об этом отдельно.

Тут также стоит упомянуть, что Джеймс Бах делал доклад "Органическое QA" для Apple. Я нашел эту информацию в его архиве, но не знаю, о чем именно Бах говорил – это был внутренний доклад для сотрудников компании. Поэтому моей целью не было дополнить Джеймса.

Почему "органическое"?

В своем докладе про образование сэр Кен Робинсон сравнивает современное состояние образования с фастфудом. Как и сети быстрого питания, индустрия образования удовлетворяет высокий спрос, нацелена на производство идентичных продуктов вне зависимости от того, из какой школы или университета пришел выпускник, и в основном применяет стандартизированную стратегию, использующую формализованные тесты для измерения и оценки уровня знаний. Сэр Кен Робинсон предлагает более органический подход к проблеме: каждому студенту уделяется персональное внимание в зависимости от его нужд и способностей, потому что интеллект и креативность уникальны, разнообразны, и их невозможно "выровнять", применяя одинаковые принципы к разным людям. Это очень интересный доклад, крайне рекомендую к просмотру.

В тестировании, судя по всему, назрела аналогичная проблема.

Когда я говорил про образование, вам не показалось, что это очень похоже на ситуацию в тестировании? Вот и я так думаю.

Тестирование, по большому счету, воспринимается как массовое производство, аналогичное МакДональдс: считается, что навыки тестировщика развивать так же легко, как штамповать гамбургеры.

Люди делают вид, что умение тестировать легко приобрести, повторяя монотонные бессмысленные действия, основанные на скрипте или сценарии. Они прикидываются, что тестированию легко научиться и стать мастером своего дела, если вы строго следуете предписанным шагам.

Не так давно я прослушал замечательное интервью, взятое Джо Колантонио у Джерри Вайнберга. Джерри упомянул о том, что тестирование родилось как работа, которой разработчики не хотели заниматься самостоятельно, поэтому менеджмент создал отдельную должность для этой задачи, которую можно было оплачивать хуже, чем должность разработчика.

Нравится вам это или нет, но такое отношение к тестировщикам живее всех живых. Тестирование считается менее "техничным" и креативным, меньше требующим экспериментов, и даже менее интеллектуальным занятием, нежели разработка. О тестировщиках думают как о людях, просто "ищущих баги", "убеждающихся, что все ОК", "играющих с продуктом", "ответственных за качество" (заметьте, что обычно никто не рассуждает о том, что такое качество, кто определяет, низкое оно или высокое, и зачем мы вообще беремся оценивать его).

Все эти мифы и легенды о тестировании лгут. Да, плохое, выполненное левой пяткой тестирование выглядит именно так, но наша цель – хорошее тестирование! Я много говорил об этих мифах в серии статей "Устаревшие концепции тестирования" и "Чем тестирование не является". Итак, в чем же основная суть тестирования? Могу с уверенностью заявить, что тестирование имеет органическую природу.

Органическая природа тестирования

Речь идет не об абсолютно любом тестировании – я говорю о тестировании, выполненном квалифицированной, образованной, мотивированной и нацеленной на развитие личностью (ударение на слове "личность"). Да, тут нужен личный подход – как уже упоминалось выше, интеллект, как и люди вообще, может быть очень и очень разным, и эта-то разница нам и нужна, ее-то нам и надо! То, как тестировщик рассматривает проблему и как именно он тестирует – уникально для него лично, и именно это разнообразие нам необходимо, а вовсе не массовое производство тест-роботов, которые мыслят, действуют и тестируют абсолютно одинаково.

Почему тестирование органично?

  • Разнообразие как противоположность однородности.

Как я уже говорил выше, органичность – это антоним унифицированного подхода. Мы хотим, чтобы тестировщик формировал свое собственное представление о задаче, мы стремимся к разнообразным вариантам решений, а не просто решению "лишь бы было", мы хотим получать информацию о продукте, его рисках, нуждах, которые он удовлетворяет разными способами, а не одним и тем же.

  • Тестирование постоянно развивается.

Тестировщиков все время пытаются убедить, что с 70-80-х годов тестирование ничуть не изменилось и его принципы остались незыблемыми. Сюрприз, сюрприз – если бы это было правдой, тестирование просто вымерло бы как профессия. Оно постоянно развивается, и те, кто вовлечен в него, помогают его развитию при помощи опросов, блогов, обсуждений, журналов, подкастов, вебинаров, воркшопов, курсов, книг – всего, что нацелено на формирование и улучшение тестирования как ремесла.

  • У тестирования есть жизненный цикл

Я знаю, что обычно тестирование заставляют воспринимать как часть другого цикла – цикла разработки программного обеспечения, но у тестирования как процесса есть и свой собственный цикл. И мы, тестировщики, должны понимать, из каких этапов он состоит – детства, когда начинать тестировать еще рановато (оно не даст результатов вообще или даст, но незначительные), пика развития, когда мы можем исследовать наш объект во всем его многообразии, и последний этап, когда уже слишком поздно что-то тестировать. Все это, как мне кажется, подтверждает органичность природы тестирования.

  • Его невозможно полностью автоматизировать.

Это связано с вышеупомянутым разнообразием. Нам интересны разнообразные вещи, которые способен выполнить человек, а вовсе не те, выбитые в камне, которые могут быть многократно выполнены при помощи автотестов. Все самое интересное растет из непредсказуемого. Конечно, автоматизация очень важна для тестирования, но это инструмент, а не органическая его часть. Если вам интересно мое мнение по этому поводу во всех подробностях, взгляните на статью "Горькая правда про автоматизацию".

  • Тестирование требует постоянной, специализированной, адаптивной поддержки, чтобы приносить настоящую пользу.

Как любой организм, неважно, собака это или пучок морковки, тестирование требует особой заботы вне зависимости от объекта тестирования. Да, мы можем опираться на одни и те же принципы, но мы должны учитывать контекстно-обусловленные нужды, чтобы наши результаты имели ценность. Поэтому мы не полагаемся на алгоритмы, лучшие практики, серебряные пули и любые другие магически универсальные решения – они нарушают этот принцип.