Блог седого тестировщика

говориМ о тестировании
простым языком

Что такое доменное тестирование?

Время на прочтение: 4 мин.
Новые техники в тестировании появляются достаточно редко. В 2013 году вышла книга Сэма Канера «The Domain Testing Workbook».
Что такое доменное тестирование?, изображение №1

Книга посвящена всего лишь одному виду тестирования — тестированию доменного анализа (также его называют доменный анализ либо доменное тестирование).

Что это за вид тестирования, которому посвятили целых 488 страниц? Давайте разберемся.

Если мы с вами обратимся к глоссарию ISTQB, то определение доменного тестирования звучит следующим образом:

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

Если переформулировать проще, то определение будет следующим:

Доменное тестирование — это вид тестирования, направленный на анализ различных значений, поиск их взаимосвязи и составление эффективных тестов.

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

Для понимания возьмем простой пример. Скажем, что у нас есть поле Логин и Пароль. В идеале, нам необходимо каждое поле протестировать по отдельности. Однако доменное тестирование позволяет сделать так, чтобы в одном тесте мы смогли проверить оба поля одновременно и без потери в качестве тестирования.

Пример из жизни. Возьмем два действия: 1. ехать в автобусе в качестве пассажира и 2. слушать аудиокнигу. Мы можем просто ехать в автобусе без прослушивания книги, как и слушать книгу, не едучи в автобусе. Но мы можем объединить эти два действия и слушать книгу, пока едем в автобусе. При таком объединении мы без потери качества и до нужного места доберемся, и книгу послушаем.

Конечно, тут тоже есть свои ограничения и нюансы. Например, будет так шумно, что мы ничего не услышим. Но и при реальном тестировании они тоже есть. Например, при вводе логина и пароля сайт выводит “общее” предупреждение, которое гласит: “Логин или пароль введены неверно”. То есть в этом случае мы не сможем понять, что именно неверно.

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

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

Давайте вспомним, что они означают.

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

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

Цель доменного тестирования

Цель доменного тестирования — предоставить стратегию по выбору минимального набора показательных тестов.

Что такое доменное тестирование?, изображение №2

Нет, естественно, не один, но должно остаться минимум тестов, которые будут самые эффективными.

Шаги для достижения цели:

  1. Для начала нужно разделить предполагаемые значения на отдельные группы, условия — это могут быть цифры, буквы, допустимый диапазон цифр, предполагаемые граничные значения.
  2. Далее необходимо выявить конкретный набор значений и выбрать из них наиболее показательные, представляющие каждую группу, включая обязательно границы. Здесь мы уже определяем значения, которые будем проверять.
  3. И далее необходимо скомбинировать эти значения таким образом, чтобы отдельные параметры можно было протестировать одновременно.

Давайте разберем все на конкретном примере.

Что такое доменное тестирование?, изображение №3

К нам на тестирование поступает задача «протестировать форму авторизации». Форма состоит из двух полей: логин и пароль. Длина логина и пароля — от 5 до 10 символов. Логин может принимать различные символы, цифры и буквы на латинице. Пароль тоже может принимать символы, цифры и латиницу.

Решение:

  1. Для начала разделим все предполагаемые значения на группы:
  • Кол-во значений от — ∞ до 4
  • Кол-во значений от 5 до 10
  • Кол-во значений 11 до + ∞
  • Спец. символы
  • Буквы (латиница)
  • Цифры

2. Выявляем наборы значений, представляющие каждую группу:

  • 4
  • 5, 7, 10
  • 11
  • @, !, $
  • a, b, w, l
  • 2, 4

3. И далее скомбинируем эти значения в виде таблицы.

Что такое доменное тестирование?, изображение №4

Таким образом, мы добились наиболее эффективных тестов, которые не только максимально покрывают необходимые проверки, но и экономят наше время.

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

У доменного тестирования есть свои как плюсы, так и свои минусы.

К достоинствам можно отнести:

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

Недостатки:

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

Полезные хитрости

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

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

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

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

Поделиться в vk
Vkontakte
Поделиться в facebook
Facebook
Поделиться в linkedin
LinkedIn
Поделиться в twitter
Twitter

Автор статьи:

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Ближайшие события

Ближайшие события

Вам также может понравится