Какие подходы к тестированию существуют, например эквивалентный класс, граничные значения, парное тестирование
Что проверяют
Умеете ли вы сокращать число проверок без потери покрытия и объяснять, почему выбрали именно эти значения. Почти всегда следом дают поле и просят прямо на месте выписать классы и границы, например для возраста от 18 до 65 лет.
Как отвечать
Все три техники относятся к тест-дизайну методом чёрного ящика, их удобно объяснить на одном примере:
- классы эквивалентности: входные данные делятся на группы, внутри которых система ведёт себя одинаково. Для возраста от 18 до 65 это меньше 18, от 18 до 65 и больше 65, плюс нечисловой ввод и пустое поле. Из каждого класса берут одно значение;
- граничные значения: ошибки живут на стыке классов, где разработчик перепутал
<и<=. Для того же поля проверяют 17, 18, 65 и 66, а в трёхточечном варианте ещё 19 и 64; - попарное тестирование (pairwise): при нескольких параметрах полный перебор взрывается. Три параметра по три значения дают 27 комбинаций, а набор, где каждая пара значений встречается хотя бы раз, укладывается в 9. Метод опирается на наблюдение, что большинство дефектов вызывает один параметр или сочетание двух. Наборы генерируют инструментами, например PICT.
Покажите, что знаете и соседние техники: таблицы решений для правил с несколькими условиями, диаграммы состояний и переходов для статусов заказа или заявки, предугадывание ошибок по опыту, исследовательское тестирование. Хороший финал: как вы их комбинируете. Сначала классы и границы для каждого поля, затем pairwise для сочетаний настроек, для бизнес-правил таблица решений.
Где спотыкаются
Путают pairwise с полным перебором: берут два параметра и выписывают все четыре комбинации. Для двух параметров попарный набор и есть полный перебор, экономия появляется начиная с трёх.
Берут на границах только допустимые значения, 18 и 65, и забывают 17 и 66, хотя именно они ловят ошибку в условии.
Забывают невалидные классы: пустое поле, пробелы, буквы, дробные и отрицательные числа, слишком длинный ввод.