Чем занимается тестировщик, когда нечего тестировать?
Чем занимается тестировщик, когда нечего тестировать?
Этот вопрос никогда не теряет своей актуальности. Мистер Т: «Scrum-мастер, сейчас нечего тестировать. Чем я могу заняться?». Может пройти неделя, пока команда закончит первую историю, так чем же будет заниматься тестировщик всё это время?
Для начала, ему следует заняться подготовкой к тестированию. А именно: написанием спецификаций тестов, подготовкой тестового окружения и так далее. Таким образом, когда у разработчика появится что-нибудь готовое к тестированию, мистер Т должен быть готов начать тестирование.
Если команда практикует TDD, люди с первого дня заняты написанием тестирующего кода. В этом случае, тестировщик может заняться парным программированием с разработчиками, пишущими тестирующий код. Если же тестировщик вообще не умеет программировать, ему следует работать в паре с разработчиком в роли «штурмана», дав напарнику возможность печатать. У хорошего тестировщика обычно получается выдумать больше разных тестов, чем у хорошего разработчика, поэтому они друг друга дополняют. Если же команда не занимается TDD или же количества подлежащих написанию тестов недостаточно, чтобы полностью загрузить тестировщика, он просто может делать всё что угодно, чтобы помочь команде достичь цели спринта. Как и любой другой член команды. Если тестировщик умеет программировать - отлично. Если нет, команде придется выявить все задания, не требующие навыков программирования, но которые необходимо выполнить за спринт.
Когда на планировании спринта истории разбиваются на задачи, то в первую очередь команда старается сфокусироваться на задачах, требующих программирования. Однако, как правило, существует множество задач, которые не требуют программирования, но, тем не менее, подлежат выполнению по ходу спринта. Если вы в течение планирования спринта потратите немного времени на определение задач, которые не требуют программирования, то мистер Т получит возможность сделать для достижения цели спринта очень много. Даже если он не умеет программировать или в этот момент нечего тестировать.
Вот некоторые примеры задач, которые не требуют программирования, но которые часто должны быть закончены до конца спринта:
• Установить и настроить тестовое окружение.
• Уточнить требования.
• Детально обсудить процесс установки.
• Написать документы по установке (заметки к релизу, readme.txt или что там требуется в вашей компании).
• Пообщаться с подрядчиками (например, с дизайнерами пользовательского интерфейса).
• Улучшить скрипты автоматизированной сборки.
• Последующее разбиение историй на задачи.
• Собрать ключевые вопросы от разработчиков и проследить, чтобы они не остались без ответов.
С другой стороны, что мы делаем в случае, когда мистер Т оказывается «узким местом»? Скажем, сейчас последний день спринта и большая часть функционала уже реализована, а мистер Т не имеет возможности протестировать всё необходимое. Что мы делаем в этом случае? Ну, мы можем сделать всех членов команды помощниками мистера Т. Он решает, что он может сделать самостоятельно, а простые задачи поручает остальным членам команды. Вот, что такое кросс-функциональная команда!
Итак, мистер Т действительно играет особую роль в команде, но он, кроме того, может выполнять работу других членов команды, так же, как и другие члены команды могут делать его работу.