Equivalence partitioning
Эквивалентное разбиение - это метод тестирования "черного ящика", при котором все возможные входные данные делятся на группы (классы), где все элементы внутри класса ведут себя одинаково при тестировании.
Автор:
неизвестно.
Для чего это:
Для уменьшения количества тестовых случаев без потери качества тестирования.
Как использовать:
- Определите входные данные:
- Идентифицируйте все возможные входные данные, которые могут быть использованы для тестирования функции.
- Опишите типы данных (целые числа, строки, даты и т.д.) и допустимые диапазоны значений.
- Учитывайте все граничные значения (минимальные, максимальные, специальные) - Разбейте на классы эквивалентности:
- Разделите все возможные входные данные на группы (классы), где все элементы внутри класса ведут себя одинаково при тестировании. Используйте следующие критерии для определения классов:
а) эквивалентность: все элементы внутри класса должны вести себя одинаково.
б) независимость: классы должны быть непересекающимися.
в) полнота: все возможные входные данные должны быть разнесены по классам.
- Придумайте название и описание для каждого класса.
- Приведите примеры входных данных для каждого класса. - Выберите тест-кейсы:
- Выберите по одному или несколько тестовых случаев из каждого класса. Учитывайте граничные значения при выборе тестовых случаев. - Проведите тестирование:
- Сравните полученные результаты с ожидаемыми.
- Зафиксируйте все найденные ошибки. - Проанализируйте результаты:
- Проанализируйте найденные ошибки и определите их причины.
При необходимости доработайте тест-кейсы или классы эквивалентности. - Повторите тестирование, пока не будут устранены все ошибки.
Пример:
Функция: фильтрация товаров по цене в онлайн-магазине.
- Тип данных: 2 числа (минимальная и максимальная цена)
- Разбиение на классы эквивалентности:
Корректные значения:
Минимальная цена меньше или равна максимальной цене
Минимальная и максимальная цены - целые числа
Некорректные значения:
Минимальная цена больше максимальной цены
Минимальная или максимальная цена не является целым числом - Выбор тест-кейсов:
Корректные значения:
(100, 200)
(0, 10000)
(123.45, 567.89)
Некорректные значения:
(200, 100)
(100.5, 200.5)
("abc", 100)