Образование

Доменное тестирование (domain testing)

Доменное тестирование (domain testing) – вид тестирования, направленный на анализ показательных значений и взаимосвязи элементов. Доменный анализ в тестировании также известен как:

  • «тестирование разделением» (partitioning testing);
  • «анализ эквивалентности» (equivalence analysis);
  • «анализ граничных значений» (boundary analysis).

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

Класс эквивалентности (equivalence class) – набор тестов, полное выполнение которого является избыточным и не приводит к обнаружению новых дефектов. Другими словами, если мы ожидаем одинакового результата от выполнения двух и более тестов, эти тесты эквивалентны. Такие множества тестов называются классами эквивалентности.

Доменное тестирование (domain testing, domain analysis) — техника создания эффективных и результативных тест кейсов в случае, когда несколько переменных могут или должны быть протестированы одновременно. – Определение доменного тестирования из «Тестирование программного обеспечения. Базовый курс» / С. С. Куликов. — Минск, 2017.

Доменное тестирование: признаки эквивалентности

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

  • Они направлены на поиск одной и той же ошибки.
  • Если один из тестов обнаруживает ошибку, другие её тоже, скорее всего, обнаружат.
  • Если один из тестов НЕ обнаруживает ошибку, другие её тоже, скорее всего, НЕ обнаружат.
  • Тесты используют схожие наборы входных данных.
  • Для выполнения тестов мы совершаем одни и те же операции.
  • Тесты генерируют одинаковые выходные данные или приводят приложение в одно и то же состояние.
  • Все тесты приводят к срабатыванию одного и того же блока обработки ошибок («error handling block»).
  • Ни один из тестов не приводит к срабатыванию блока обработки ошибок («error handling block»).

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

доменный анализ в тестировании

Domain testing: подход к достижению цели

Если очертить подход к достижению цели доменного тестирования, то можно выделить следующие шаги:

  • Определить набор функций
  • Определить переменные
  • Разделить пространство значений на группы
  • Выбрать значения, представляющие каждую группу
  • Особое внимание обратить на граничные значения групп

Сформировать конечный набор «наиболее показательных» значений и провести тесты с их использованием

Плюсы и минусы доменного тестирования

Нужно признать, что Доменное тестирование имеет как достоинства так и недостатки, поэтому давайте их перечислим.

Плюсы:

  • Обнаружение ошибок при минимальном количестве тестов.
  • Интуитивно понятный, универсальный подход.

Минусы:

  • Низкая вероятность обнаружения ошибок НЕ на граничных условиях.
  • Низкая вероятность обнаружения ошибок в сложных взаимодействиях.
  • Пространство значений часто бывает сложно формализовать.

Доменное тестирование: эквивалентность и анализ граничных значений

Анализ граничных значений одна из наиболее популярных разновидностей domain testing, поэтому приведем пример. Доменный анализ в тестировании основной целью имеет то, чтобы проверить, принимает ли система входные данные в допустимом диапазоне и выдает требуемые выходные данные. Кроме того, он проверяет, что система не должна принимать входные данные, условия и индексы за пределами указанного или действительного диапазона.

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

 

доменное тестирование

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

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

Такое разделение и есть классами эквивалентности. Затем мы выбираем только одно значение из каждого раздела для тестирования. Гипотеза, лежащая в основе этого метода, заключается в том, что если одно условие / значение в разделе проходит, все остальные также будут проходить. Аналогичным образом, если одно условие в разделе не выполняется, все остальные условия в этом разделе не будут выполнены.

Анализ граничных значений — вы проверяете границы между разделами эквивалентности. В нашем примере вместо проверки одного значения для каждого раздела вы будете проверять значения в таких разделах, как 0, 5, 6, 10, 11. Как вы можете заметить, вы проверяете значения как на допустимых, так и на недопустимых границах.

Разделение эквивалентности и анализ граничных значений (BVA) тесно связаны между собой и могут использоваться вместе на всех уровнях тестирования.

Доменное тестирование: полезные трюки

domain testing

И напоследок полезные трюки, которые можно применять при доменном тестировании и не только.

Делим или умножаем на два

  • Вводим в поле, не принимающее спецсимволы, полный набор таковых. Если что-то пошло не так, вводим половину, потом половину половины и т.д.
  • Если надо выяснить максимальную длину принимаемого текста, каждый раз удваиваем её. Когда нашли проблему, добавляем по ¼ от предыдущего успешного результата.

Позитивное вместе, негативное отдельно

  • Несколько позитивных тестов (например, ввод данных в несколько полей) можно провести за раз
  • При этом негативные тесты так комбинировать нельзя, т.к. мы должны убедиться, что программа корректно отслеживает проблемы с каждым из полей

domain testing

Используем готовые чек-листы:

  • В большинстве случаев кто-то уже сталкивался с тем, с чем сейчас столкнулись мы
  • Спрашиваем коллег, ищем в корпоративной библиотеке

domain testing

Скачать набор чек-листов для доменного тестирования

доменное тестирование

Мы будем рады и вашему мнению

Оставить отзыв

Veraksoff.info
Регистрация
Сбросить пароль
Сравнить товары
  • Всего (0)
Сравнить