Как написать хорошие тест кейсы при конфликтующих требованиях
Что проверяют
Понимаете ли вы, что противоречие в требованиях само по себе дефект и что тестировщик его выявляет и эскалирует, а не решает единолично. Следом часто просят пример из практики или спрашивают, что делать, если владелец требований молчит, а релиз близко.
Как отвечать
Каркас из четырёх шагов:
- поймать конфликт на ревью требований: это статическое тестирование, самый дешёвый момент. Противоречия хорошо вскрывает таблица решений: если одна комбинация условий по двум пунктам даёт разный результат, конфликт виден сразу. Частый случай на границах: в одном пункте скидка «от 1000 рублей», в другом «свыше 1000», и значение 1000 оказывается спорным;
- задокументировать: заводите дефект требований или вопрос в Jira, указываете оба пункта и входные данные, на которых они расходятся, а вопрос формулируете как выбор между вариантами. Аналитику или владельцу продукта так проще ответить быстро;
- не блокировать работу: кейсы на бесспорную часть пишете сразу, кейсы на спорную помечаете как заблокированные и связываете с вопросом в TestRail, Qase или Allure TestOps. Если ждать нельзя, фиксируете в задаче принятое допущение и того, кто его согласовал;
- после решения: обновляете требование, кейсы и матрицу трассируемости, а для отвергнутого варианта добавляете негативную проверку, чтобы старое поведение не вернулось.
У каждого кейса один ожидаемый результат. Кейс «проверить оба варианта» ничего не проверяет.
На собеседовании подкрепите это своим случаем: что противоречило, как нашли, кто принял решение и что это сэкономило. Если такого опыта не было, скажите честно и разберите пример с границами значений, он показывает ход мысли не хуже.
Где спотыкаются
Выбирают трактовку сами и пишут кейсы под неё. Если догадка неверна, дефект найдут пользователи, а тесты будут зелёными.
Сами расставляют приоритеты по MoSCoW. Приоритет требований определяет владелец продукта, тестировщик приносит риски и примеры.
После решения не обновляют кейсы, и в наборе остаются проверки под отменённое поведение, которые то падают, то их отключают.