Тестируемость требований |
28.04.2021 00:00 |
Автор: Джефф Найман (Jeff Nyman) Применение современных методик позволяет командам разработки раньше принимать верные решения, обращаясь с требованиями как с тестами – то есть создавая спецификации фич. Об этом и поговорим. Цель этого подхода в:
Фича-спецификация становится источником истины для определения того, готова ли фича, а также способов подтвердить ее готовность. Появляется она в результате работы воркшопов по спецификации.
Это хороший старт для покрытия фич (а это важная штука).
Это хороший старт для работы над готовностью фичи (еще одна важная штука). Когда вы достигли общего понимания требований и тест-сценариев, у разработки и тестирования есть отличный шанс оценить затраты.
Заметьте, что "тестировщик" тут – любой, способный тестировать. Это не значит, что нужно волноваться о названиях профессии, это означает только наличие умеющего тестировать человека. Любой член команды может предлагать тест-сценарии для добавления в фича-спецификацию. Так как вся команда, а не только участники воркшопа, работает на основании этой общей фича-спецификации, то все будут в курсе изменений и необходимости пересмотреть оценки, если изменения достаточно велики. Оценка и переоценка не обязаны быть формальными: они просто означают, что нужно обсудить планируемый объем усилий. Тут есть важный момент: вы должны быть способны быстро просмотреть фича-спецификацию, она не должна выглядеть как набор JIRA-тикетов или страниц в Confluence, лишь частично покрывающий фичу и ее готовность. "Быстро просмотреть" ее должно быть можно не только в ходе спринта, в котором она создана – эти спецификации живут столько же, сколько существует сама фича. Поэтому важно понимать, что фича-спецификация – это требования, закодированные как тесты. Невозможно переоценить колоссальное влияние этой процедуры на качество, если она систематически проводится командой разработки. Я бы сказал, что это как минимум хорошее начало высокоуровневого рецепта по созданию качественного продукта. Работая в разработке или менеджменте продукта, я использую этот подход, чтобы побудить команду разработки к совместному труду. Здесь пересекаются разработка продукта и тестирование, и этот подход привел нас от вставки элементов в продуктовую документацию к требованиям с хорошей тестируемостью. Мы концентрировались на приемочной готовности, которая, в свою очередь, фокусировалась на ценности пользовательского опыта. Эта ценность – это, по сути, то, чем измеряется качество. Качество – это восприятие ценности. Более того, это восприятие со временем меняется, поэтому признание этих изменений и работа с их учетом очень важна для разработки продуктов. Тестирование позволяет этой практике быть эффективной. |