Эвристики воспоминаний для тест-дизайна |
16.03.2021 00:00 |
Автор: Маарет Пюхяярве (MaaretPyhäjärvi) Хорошее исследовательское тестирование балансирует наш выбор того, что делать сейчас – поэтому, когда время вышло, мы уверены, что сделали наилучшую из возможных работу в заданных временных рамках, и способны рассказать об идеях и рисках, которые мы не покрыли. Для баланса выбора нам надо знать, какие варианты у нас есть, и недавно я заметила, что количество вариантов, из которого выбирают некоторые тестировщики, ограничено. Многое из того, что мы сейчас называем тест-дизайном – это припоминание информации с целью сделать информированный выбор. Как говорится: "Если единственный известный вам инструмент – это молоток, все становится похожим на гвоздь". Мы можем добавить следствие, развеивающие иллюзии исследовательского тестирования: "Не то чтобы все было похожим на гвоздь, но мы способны замечать только гвозди". Чаще всего встречающийся среди тестировщиков гвоздь – это обработка ошибок в любой функциональности. Он балансирует идею, что наиболее частый гвоздь среди разработчиков – это безоблачно счастливый сценарий, и когда обе роли работают вместе, мы получаем чуть лучшее покрытие функциональности в целом. Чтобы избегать рецептов из одного ингредиента, надо знать, какие ингредиенты вообще есть. Нам нужно знать о широком выборе способов документировать тестирование (запись тест-кейсов, записки в свободной форме, структурированные личные заметки, структурированные групповые заметки, документация тестов для автоматизации). Нам нужно знать о различных перспективах выбора покрытия. Нам нужно знать, что хоть мы и создаем программный код, ПО делается для людей – и надо знать о широком разнообразии людей и социальных дисциплин, от социальных наук и экономики до юридических тонкостей. Нам надо знать, с какими релевантными проблемами тут уже сталкивались, хорошо владеть и локальным, и общедоступным баг-фольклором, и учитывать их, чтобы не повторять эти ошибки – но также и не позволять прошлым неудачам ограничивать наш будущий потенциал: тестирование должно быть основано на риске, а не на страхе. И наступает момент, когда вы сидите на групповом совещании и проводите очистку бэклога для новой функциональности, к которой приступает команда. Что должен включать список задач, чтобы тестирование было проведено в полном объеме? В таких случаях мне приносят пользу эвристики воспоминаний. Это то, что помогает мне вспомнить и объяснить свои мысли команде. Мы не можем принимать мгновенные решения, не зная о доступных вариантах. Я использую три различных уровня эвристик воспоминаний для исследования того, что мне нужно для быстрой пробежки по моим вариантам. Каждый уровень находится на своем уровне абстракции.
Для эвристики воспоминания на уровне стори мне очень нравится то, что предложила Анна-Мария Шарре. В то же самое время я редко вижу разработку на основе стори – ценными в моем контексте считаются бэклоги (фичи и возможности), а стори-формат не считается важным. Воспоминания на уровне изменений Триггером для этого уровня воспоминаний будет изменение кода. Не тикет Джиры, но память о меняющихся строках кода с комментарием, говорящим о намерении внести изменения. Иногда это случается при парной работе на компьютере разработчика – вы совместно работаете над изменением. Иногда это случается при пулл-запросе – кто-то вносит изменения и просит разрешения залить их в ствол. Иногда это происходит, когда видишь, что пулл-запрос одобрен и доступен в тест-окружении. Это частый момент в течение дня, и способность быстро соображать при неизвестных изменениях – залог разницы между быстрой и медленной обратной связь. Что я тут вспоминаю:
Воспоминания на уровне фичи Триггер для этого уровня воспоминаний – это необходимость планировать тесты на уровне фичи, чтобы упростить тест-задачи разработчиков, но также и высвободить место для тестирования. Иногда это происходит в ходе чистки бэклога, когда вся команда обсуждает, как мы будем тестировать фичу. Иногда это происходит при парной работе – мы генерируем идеи, что бы мы хотели протестировать. Иногда это происходит, когда я в одиночестве размышляю о работе, которую надо провести над новой фичей – рабочий процесс формируется так, что подразумевает "тестирование" в каждом тикете и эпике без достижения соглашения, что это конкретно означает. Воспоминания помогают делать выбор, потому что мы знаем о своих вариантах. Не вредным будет позвать на помощь, делая этот выбор. |