Два инструмента
Проверки надо где-то записать, и для этого есть два инструмента разной цены. Чек-лист — это список того, что проверить, строка на пункт. Тест-кейс — это инструкция: предусловие, шаги, ожидаемый результат.
| Чек-лист | Тест-кейс | |
|---|---|---|
| сколько писать | минуты | десятки минут |
| кто выполнит | тот, кто знает предмет | любой человек |
| что стареет | почти ничего | шаги при каждой правке интерфейса |
| когда полезен | своя работа, быстрая проверка | передача, повторяемость, обучение |
Спор «что лучше» бессмысленный: выбор зависит не от качества, а от того, кто будет это выполнять и сколько раз. Свою же проверку на завтра достаточно записать строкой «оплата картой с истёкшим сроком». Ту же проверку для нового человека придётся расписать по шагам — иначе он не будет знать, где взять карту с истёкшим сроком и что считается правильным ответом.
Отсюда практика большинства команд: чек-листы на всё, кейсы — на важное и повторяемое. Оплата, регистрация, права доступа расписываются кейсами, потому что их прогоняют каждый выпуск и делают это разные люди. Экран настроек, который трогают раз в год, живёт чек-листом.
Из чего состоит кейс
Разберём кейс по частям. Обязательных три, и без любой из них он перестаёт работать.
| Часть | Что в ней | Что бывает не так |
|---|---|---|
| предусловие | что должно быть до начала | «войти в систему» забыто, и кейс не воспроизводится |
| шаги | по одному действию на строку | в строке три действия, и непонятно, где сломалось |
| ожидаемый результат | что видим после шага | написано «всё работает» |
Главная часть — ожидаемый результат. Без него набор превращается в список действий, и тот, кто его выполняет, сам решает, что считать правильным. Именно поэтому у двух людей один и тот же кейс даёт разный ответ «прошёл / не прошёл».
Второе по важности — одно действие на шаг. Шаг «заполнить форму и отправить» скрывает пять действий, и если что-то пойдёт не так, непонятно, на каком именно. Разбивать до буквы («нажать на поле», «ввести букву») тоже не нужно: мера — действие, после которого можно назвать результат.
Как писать формулировки
Третье — как пишут формулировки, чтобы их понял другой человек. Разница видна на паре примеров.
Слева — то, что нельзя выполнить одинаково дважды; справа — то, что выполнит любой.
Правило одно: из формулировки должно быть видно, что делать и как понять результат. «Проверить форму» не проходит этот тест — проверить как, с какими данными, что считать успехом.
Второе правило — про порядок пунктов в чек-листе. Пишут от главного к второстепенному: сначала то, ради чего экран существует, потом крайние случаи, потом мелочи. Когда времени не хватит, обрежется хвост, а не середина, — и это решение принято заранее, а не в спешке.
| Порядок в чек-листе | Пример для формы оплаты |
|---|---|
| ради чего экран | оплата картой проходит, деньги списались один раз |
| частые неудачи | отказ банка, недостаточно средств, истёкшая карта |
| границы и пустота | нулевая сумма, максимальная сумма, пустые поля |
| мелочи | текст подсказки, порядок табуляции |
И последнее: чек-лист и кейсы живут рядом с задачей, а не в личном файле. Список, который видите только вы, не помогает команде и исчезает вместе с вашим отпуском.
И последнее — про то, как эти списки живут дальше. Чек-лист обновляется на той же задаче, где меняется поведение, а не в отдельный «день уборки», которого никогда не наступает. Поправили требование — поправили пункт; убрали возможность — убрали пункт. Так список остаётся правдой, а не археологией.
С кейсами то же самое, только дороже: каждая правка интерфейса означает правку кейсов, где он назван по именам кнопок. Поэтому в кейсах стараются писать действие, а не путь к нему — «перейти к оплате», а не «нажать синюю кнопку внизу справа»: первое переживает редизайн, второе нет.