usepoint
menu

Equivalence partitioning

Эквивалентное разбиение - это метод тестирования "черного ящика", при котором все возможные входные данные делятся на группы (классы), где все элементы внутри класса ведут себя одинаково при тестировании.

Автор:

неизвестно.

Для чего это:

Для уменьшения количества тестовых случаев без потери качества тестирования.

Как использовать:

  1. Определите входные данные:
    - Идентифицируйте все возможные входные данные, которые могут быть использованы для тестирования функции.
    - Опишите типы данных (целые числа, строки, даты и т.д.) и допустимые диапазоны значений.
    - Учитывайте все граничные значения (минимальные, максимальные, специальные)
  2. Разбейте на классы эквивалентности:
    - Разделите все возможные входные данные на группы (классы), где все элементы внутри класса ведут себя одинаково при тестировании. Используйте следующие критерии для определения классов:
    а) эквивалентность: все элементы внутри класса должны вести себя одинаково.
    б) независимость: классы должны быть непересекающимися.
    в) полнота: все возможные входные данные должны быть разнесены по классам.
    - Придумайте название и описание для каждого класса.
    - Приведите примеры входных данных для каждого класса.
  3. Выберите тест-кейсы:
    - Выберите по одному или несколько тестовых случаев из каждого класса. Учитывайте граничные значения при выборе тестовых случаев.
  4. Проведите тестирование:
    - Сравните полученные результаты с ожидаемыми.
    - Зафиксируйте все найденные ошибки.
  5. Проанализируйте результаты:
    - Проанализируйте найденные ошибки и определите их причины.
    При необходимости доработайте тест-кейсы или классы эквивалентности.
  6. Повторите тестирование, пока не будут устранены все ошибки.

Пример:

Функция: фильтрация товаров по цене в онлайн-магазине.

  1. Тип данных: 2 числа (минимальная и максимальная цена)
  2. Разбиение на классы эквивалентности:
    Корректные значения:
    Минимальная цена меньше или равна максимальной цене
    Минимальная и максимальная цены - целые числа
    Некорректные значения:
    Минимальная цена больше максимальной цены
    Минимальная или максимальная цена не является целым числом
  3. Выбор тест-кейсов:
    Корректные значения:
    (100, 200)
    (0, 10000)
    (123.45, 567.89)
    Некорректные значения:
    (200, 100)
    (100.5, 200.5)
    ("abc", 100)