Какие методики написания тест кейсов использовать для минимизации их количества
Что проверяют
Знаете ли вы техники тест-дизайна, которые сокращают число проверок без потери покрытия, и умеете ли применить их к конкретному полю или форме. Следом обычно дают задачу: «сколько тестов нужно для поля возраста от 18 до 65» или форму с несколькими параметрами.
Как отвечать
Покажите техники, которые именно уменьшают количество кейсов, и к каждой пример:
- классы эквивалентности: значения, которые система обрабатывает одинаково, проверяются одним представителем. Для возраста от 18 до 65 это три класса: меньше 18, от 18 до 65, больше 65, плюс невалидные вроде пустого поля и букв. Не 48 проверок, а по одной на класс;
- граничные значения: ошибки чаще всего сидят на краях классов. При двухточечном подходе берут 17, 18, 65, 66, при трёхточечном добавляют соседей изнутри, 19 и 64;
- попарное тестирование (pairwise): большинство дефектов вызывает один параметр или сочетание двух, поэтому покрывают все пары значений, а не все комбинации. Четыре параметра по три значения дают 81 комбинацию, а все пары укладываются в 9 тестов. Наборы генерируют PICT или
allpairspy; - таблицы решений: для логики с несколькими условиями. Правила с одинаковым результатом схлопываются, если условие на него не влияет;
- диаграммы состояний: для статусов заказа или заявки. Покрывают переходы, а не все пути, и отдельно проверяют запрещённые переходы;
- приоритизация по риску: не техника дизайна, но она решает, где нужна полная детализация, а где хватит чек-листа.
Закончите мыслью, что цель не минимум кейсов вообще, а минимум без потери покрытия требований, и это видно по матрице трассировки.
Где спотыкаются
Называют автоматизацию и шаблоны тест-кейсов способом сократить их число. Автоматизация ускоряет прогон, а количество проверок остаётся тем же.
Считают pairwise панацеей. Он ловит дефекты на стыке пар, но пропускает редкие сочетания трёх параметров, а зависимые параметры требуют ограничений, иначе генератор выдаст невозможные комбинации.
Режут негативные проверки ради экономии. Невалидные значения тоже образуют класс эквивалентности, и его представитель в наборе обязателен.