Доверие между тестировщиками и разработчиками |
13.04.2021 00:00 |
Автор: Ноэми Феррера (Noemi Ferrera) Я заметила, что во множестве компаний, в которых разработка и тестирование разделены, тестировщики чересчур доверяют разработчикам. Даже там, где разработка сильно интегрирована с тестированием, это может вылиться в пропущенные тесты, некоторые из которых могут быть критичными для поиска важных багов в разрабатываемом ПО. Один из явных примеров такой ситуации связан с CI/CD. Обычно это настраивается администратором или DevOps. Тут очень важно подключить к процессу тест-эксперта этой области, потому что он умеет проектировать нужные для валидации билдов автоматизированные тесты. Я видела варианты, где тестирования не было вообще, или же была группа недостаточных или нерелевантных тестов. Некоторые люди в команде качества воспринимают разработчиков как источник истины. Я тоже делала эту ошибку, работая с более опытными коллегами: что бы они ни говорили, это считалось истиной – им же виднее. Сравнение своих знаний со знаниями других в терминах "меньше-больше", а не в терминах "другого" – это путь к катастрофе. Расскажу историю, как я чересчур доверилась опытному разработчику: на стейдж-окружении был очевидный баг. Я создала репорт о нем. Кто-то другой завел дубликат. Мы опаздывали к релизу. Я сказала, что не могу дать отмашку, пока этот баг присутствует. Назначенный на фичу разработчик вызвал менеджера проекта и меня, и оба они пытались убедить меня передумать. Я внятно описала риск. Он сказал, что на баг вряд ли кто-то наткнется, и у него нет времени его исправлять. Я поверила ему – я была всего лишь джуниором, а он был сениором и дольше работал в компании. Мои инстинкты шептали, что сеньорство не делает его провидцем, но я все равно сказала "ОК, я согласна, если вы меня в случае чего прикроете". Он уверил меня в этом и согласился, сказав, что возьмет на себя всю ответственность в случае чего. Это нигде не фиксировалось письменно. Когда на ошибку наткнулись пользователи на проде, и ПМ, и разработчик обвинили меня. Письменно. Оба. Мой менеджер винил меня. Все они говорили, что я упустила очевидный баг. Я объяснила, что на самом деле произошло, предоставив логи дефекта, который все еще был открыт, как и его дубликат – и все нужные люди были об этом проинформированы. Менеджер вызвал меня в офис. Он сказал, что я не должна была соглашаться, и мое поведение было непрофессиональным, потому что "мы не должны искать виноватого". Иными словами, я должна была взять на себя вину, даже не пытаясь объяснить происходящее. Он не прислушался ко мне, и это повлияло на мое ревью, которое состоялось через неделю. Он сказал, что я получила два очень плохих "анонимных" ревью (сложно догадаться, кто их автор, правда?), а остальные, хоть и хорошие, были нерелевантными. В начале этого же ревью-периода я нашла фикс для очень важного дефекта другой команды, который стоил компании больших денег, и менеджер этой команды сказал, что если бы дефект исправил разработчик, его бы сразу повысили. Я нашла этот фикс – но это ничего не значило. Даже из самых плохих ситуаций можно извлечь пользу, неважно, произошли ли они с вами или с кем-то другим. Что я вынесла из этой:
Надеюсь, эта история поможет вам, если вы окажетесь в похожей ситуации. Помните, что каждое препятствие может вас чему-то научить. Напоследок скажу, что доверие очень важно, если вы правильно ведете диалог, и у вас хороший план действий. Обратный вариант – недоверие разработчику – тоже не идеальный сценарий. При недостатке доверия между командами создаются стены, и все тестируется по сто раз, но это уже другая история. |