В этом посте я постараюсь описать свой подход к созданию тестовых сценариев. Если вы используете какой-то другой, плиз, делитесь в комментариях.
Итак, процесс создания тестов я делю на несколько этапов:
Знакомство
Конспект
Наброски
Приоритеты
Оформление
Знакомство включает в себя ознакомление с функциональностью, которую нужно тестировать, её область применения, особенности, архитектура, используемые протоколы и тп. По сути детальное знакомство с требованиями.
Конспект включает в себя краткие записи по делу, и заметки относящиеся непосредственно к тестированию, в том числе не учтенные в требованиях развилки или кейсы для дальнейшего уточнения. Зарисовки таблиц и схем работы, чтобы ничего не пропустить. Именно здесь, по сути, начинают применяться автоматически техники тест-дизайна, то есть из чистого текста, мы выгребаем важное и получаем переработанную аналитику.
Наброски - это написание заголовков тест кейсов, уже осмысленные, с использованием схем, таблиц и материалов из «Конспекты». Я ещё называю этот процесс созданием тестового покрытия. Если только из заголовков тестов вы так и не понимаете покрытие, значит вы пишите неправильные заголовки.
Приоритеты - на этом этапе (можно и на предыдущем) я, уже для написаного покрытия, расставляю приоритеты тестов. И сверяюсь с предыдущими пунктами, что всё покрыто. Если у вас подучилось мало высокоприоритетных тестов и много малоприоритетных, значит у вас плохое покрытие. Вы тестируете много ненужного и мало важного. Это может быть самопроверкой, я часто за собой замечала зацикленность на негативных сценариях и недостаток хороших позитивных тестов, клиентских реальных кейсов. Это проблема многих опытных тестировщиков.
Оформление. Когда всё готово, тесты стоит лишь расписать по шагам. Аккуратно и понятно оформить. В процессе могут возникать новые идеи или не учтенные нигде сценарии, и это нормально. Всегда сверяюсь почему на этапах раньше не возникало таких вопросов или не всплывали такие кейсы.
Такой подход позволяет писать тесты иттеративно, сразу убеждаться в корректности покрытия, а также меньше переписывать тесты.
А в том, случае, если внезапно нужно протестировать раньше, вы всегда можете взять ваши хорошие заголовки с приоритетами в качестве чек-листа и выдать результаты на более раннем этапе, и, пока исправляются ошибки, дооформить тест кейсы.