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

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

.
Синдром лягушки в кипятке
06.11.2018 00:00

Автор: Маарет Пиаярви (Maaret Pyhäjärvi)

Оригинал статьи

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

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

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

Хорошее тестирование – это не тест-кейсы

В начале моей карьеры я преподавала тестирование в университете. На курсе училось 120 студентов, он длился год, и я имела дело с приличным количеством юных дарований. Частью курса была четырехступенчатая практика в лаборатории – студенты писали тест-план, кейсы, выполняли их и отчитывались о тестировании, а также автоматизировали часть своих тестов.

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

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

Непрерывная интеграция и развертывание лучше управления изменениями

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

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

Тест-менеджеры могут сделать тестирование хуже

Когда я отработала в тестировании несколько лет, кто-то решил, что я могу возглавить тестирование, и сделал меня тест-менеджером. Я создавала планы и стратегии, обсуждала со своей командой тестировщиков, как реализовать эти планы, и тренировала людей в тестировании. Я посещала встречи, чтобы понимать полную картину того, что от нас ожидается. Еще я немного тестировала – обычно без жестких временных рамок, потому что у меня были и другие задачи. Затем на нас наступил Agile. Больше толку от внешних менеджеров, пытающихся рулить небольшими самоорганизующимися командами, не было.

Я сделала шаг назад в карьере, и снова стала тестировщиком. Те, кем я раньше руководила, стали лучше, потому что они не бросили те задачи, которыми раньше занималась я, а нашли более подходящие способы все это делать. Они стали лучше, когда часть их работы не перекладывалась на "менеджера". Если я знала больше других, то мой вклад был таким же – или больше – как у коллег.

Автотесты – ключевая часть тестирования

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

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

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

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

Обсудить в форуме