Анализ граничных значений и разделение эквивалентности

⚡ Умное резюме

Методы эквивалентного разбиения и анализа граничных значений — это методы тестирования «черного ящика», которые сжимают большие диапазоны входных данных в классы эквивалентности и проверяют границы разбиений, обеспечивая эффективное обнаружение дефектов с надежным охватом как допустимых, так и недопустимых входных данных.

  • Входные данные для разделения: Для устранения избыточности разделите значения на допустимые и недопустимые категории.
  • Target Границы: Проверяйте минимальные, близкие к минимальным, номинальные, близкие к максимальным и максимальные значения.
  • Соедините оба варианта: Для выявления дефектов на краях сначала используйте метод эквивалентного разбиения, а затем метод анализа граничных значений.
  • Максимальное покрытие: Для каждого класса существует одно значение, которое подтверждает корректность поведения для всех эквивалентных входных данных.
  • Используйте ИИ Generators: Инструменты искусственного интеллекта автоматизируют обнаружение разделов и создание граничных случаев.

Пятиточечная модель анализа граничных значений

Исчерпывающее тестирование редко осуществимо из-за временных и комбинаторных ограничений. Методы разбиения на эквивалентные части и анализа граничных значений решают эту проблему путем группировки.ping Использование схожих входных данных и целенаправленное воздействие на их границы для более полного охвата при меньшем количестве случаев.

Что такое разбиение на эквивалентные части?

Разделение эквивалентности Метод «черного ящика» (также называемый разделением на классы эквивалентности или ECP) ​​— это метод, использующий подход «черного ящика», который разделяет входные данные на группы эквивалентных значений. Тестировщик выбирает одного представителя для каждого класса, предполагая, что программное обеспечение ведет себя одинаково для каждого члена класса.

  • Разделяет входную область на классы эквивалентности: допустимые и недопустимые.
  • Применимо ко всем уровни тестирования—единица, интеграция, система и приемка.

Что такое анализ граничных значений?

Анализ граничных значений (BVA)Проверка диапазона, также называемая проверкой эквивалентности по крайним значениям, подтверждает правильность определения крайних значений каждого класса эквивалентности. Поскольку дефекты группируются в пределах диапазона, проверка диапазона по пяти ключевым точкам:

  1. Минимальный
  2. Чуть выше минимума
  3. Номинальная стоимость
  4. Чуть ниже максимума
  5. Максимальный

Пятиточечная модель анализа граничных значений

BVA дополняет метод эквивалентного разбиения: после определения классов их граничные значения оказываются смещенными на единицу, что приводит к ошибкам на границах.

Зачем использовать метод эквивалентного разбиения и анализ граничных значений?

Разумный выбор тестов необходим, когда количество комбинаций слишком велико для исчерпывающего тестирования. Эти методы предлагают три преимущества:

  1. Сжимайте большие объемы тестовых примеров в управляемые фрагменты.
  2. Предоставьте четкие правила выбора тестовых данных без ущерба для эффективности.
  3. Подходит для ресурсоемких вычислительных приложений с большим количеством числовых переменных.

Как выполнить разбиение на эквивалентные части (пример)

  • Обратите внимание на текстовое поле «Заказать пиццу» ниже.
  • Допустимы значения от 1 до 10; отображается сообщение об успешном выполнении.
  • Количества 11–99 недействительны, что приводит к срабатыванию “Можно заказать только 10 пицц”.
Заказать пиццу:

Условия испытаний:

  1. Любое число больше 10 является недействительным.
  2. Любое число меньше 1 является недействительным.
  3. Numbers 1–10 являются допустимыми.
  4. Любое трёхзначное число, например -100, является недействительным.

Проверка каждого значения приводит к появлению более 100 случаев. Метод эквивалентного разбиения группирует предметную область в классы с идентичным поведением.

Группы эквивалентного разбиения для ввода данных о пицце

Эти группы называются Классы эквивалентностиВыберите одно значение для каждого класса — если оно проходит проверку, все остальные проходят проверку; если оно не проходит проверку, весь класс не проходит проверку.

Значения, представляющие класс эквивалентности

Как выполнить анализ граничных условий (пример)

Используя то же поле Pizza, BVA проверяет границы разделов, а не номинальные значения. Тестировщики оценивают значения 0, 1, 10 и 11, охватывая как допустимые, так и недопустимые границы.

Анализ граничных значений входных данных для пиццы.

Для входных данных, принимающих значения от 1 до 10, граничные тестовые случаи следующие:

Сценарий тестирования Descriptион Ожидаемый результат
Граничное значение = 0 Система НЕ должна принимать
Граничное значение = 1 Система должна принять
Граничное значение = 2 Система должна принять
Граничное значение = 9 Система должна принять
Граничное значение = 10 Система должна принять
Граничное значение = 11 Система НЕ должна принимать

Разделение на эквивалентные значения против анализа граничных значений

Оба метода позволяют сократить объем тестирования, но различаются по направленности и времени проведения.

Аспект Разделение эквивалентности Анализ граничных значений
Фокус Группы эквивалентных входных данных Края каждой группы
Выбор данных Одно значение на класс Мин, около мин, номинальный, около макс, макс
лучше всего для Сокращение количества дублирующих случаев Выявление дефектов, отличающихся на единицу.
Оформить заказ Применяется первым Применяется далее

Пример: Проверка поля пароля

Поле для ввода пароля, принимающее от 6 до 10 символов, образует три раздела — 0-5, 6-10 и 11-14 — с эквивалентными результатами в каждом из них.

Введите пароль:
# Сценарий тестирования Ожидаемый результат
1 Введите от 0 до 5 символов Система не должна принимать
2 Введите от 6 до 10 символов Система должна принять
3 Введите от 11 до 14 символов Система не должна принимать

Передовые методы разделения имущества по принципу эквивалентности и оценки бенчмаркинга.

Следуйте этим рекомендациям, чтобы обеспечить высокий уровень охвата тестирования при одновременном контроле количества тестов:

  • Составьте карту всех доменов: Сначала перечислите допустимые, недопустимые и особые разделы.
  • Проверьте обе стороны каждого предела: Чтобы выявлять ошибки, возникающие при смещении на единицу, указывайте значения только внутри и снаружи диапазона.
  • Комбинируйте методы: Для решения сложных логических задач используйте в сочетании с таблицами решений или проверкой переходов состояний.
  • Автоматизация обработки граничных случаев: Настройте граничные значения таким образом, чтобы наборы регрессионных моделей работали согласованно.

Основные выводы

  • Метод эквивалентного разбиения группирует схожие входные данные; достаточно одного значения на класс.
  • Анализ граничных значений проверяет границы разделов и корректность/некорректность ребер.
  • Оба метода представляют собой методы «черного ящика» для числовых полей или полей, основанных на диапазонах.
  • Сочетание этих методов позволяет сократить объем тестирования без потери качества обнаружения дефектов.

Видео об анализе граничных значений и тестировании разделения эквивалентности

Нажмите здесь если видео недоступно

Часто задаваемые вопросы (FAQ)

Метод эквивалентного разбиения выбирает одного представителя для каждого класса; анализ граничных значений нацелен на экстремальные значения на каждом ребре. Разбиение уменьшает объем, а анализ граничных значений выявляет предельные дефекты.

Метод эквивалентного разделения — это метод «черного ящика», поскольку он фокусируется на поведении «вход-выход» без доступа к исходному коду. Тестировщики определяют разделы на основе спецификаций, поэтому он применим на уровне модульного, интеграционного, системного и приемочного тестирования.

Да. Оба варианта применимы к API тестированиегде параметры и поля полезной нагрузки часто имеют числовые диапазоны или ограничения по длине. Тестировщики определяют разделы для допустимых, недопустимых и предельных входных данных.

Избегайте использования BVA, если входные данные не являются числовыми диапазонами — например, неупорядоченные множества, логические флаги или категориальные значения. Таблицы решений или проверка переходов состояний работают лучше, поскольку в них границы не имеют смысла.

Robust BVA расширяет стандартный подход, добавляя значения, находящиеся за пределами допустимого диапазона — одно ниже минимального и одно выше максимального, — чтобы проверить, как система отклоняет явно недопустимые входные данные.

Да. Генераторы ИИ анализируют требования и схемы, чтобы предложить классы эквивалентности и граничные значения. Такие инструменты, как... Testim и Мабл Быстро учитесь на основе истории дефектов и поверхностных критических случаев.

Искусственный интеллект обнаруживает перекрытиеping Тестировщики упускают из виду разделы, избыточные случаи и пропущенные границы. Машинное обучение ранжирует границы с высоким риском на основе истории дефектов, что позволяет более эффективно выбирать тесты и быстрее обнаруживать неочевидные проблемы.

Да. JUnit, TestNGpytest поддерживает параметризованное тестирование, позволяя тестировщикам определять разделы и граничные значения в качестве входных наборов данных. Это обеспечивает систематическое выполнение случаев эквивалентности и граничных условий в конвейерах CI.

Подведем итог этой публикации следующим образом: