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

<p>4.8.1. Техника разделения на классы эквивалентности</p>

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

Пример

Если приложение принимает ввод числа от 1 до 100, то можно определить три класса эквивалентности: числа меньше 1, числа от 1 до 100 и числа больше 100. Достаточно протестировать по одному значению из каждого класса. Таким образом, вместо огромного количество вариантов остается только три, что существенно сократит время тестирования.

<p>4.8.2. Техника граничных значений</p>

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

Пример

Продолжаем пример с приложением, принимающим числа от 1 до 100. У нас имеется две границы целых чисел: 1 и 100. Применяя технику граничных значений, можно сделать вывод, что необходимо проверить значения 0, 1, 100 и 101. То есть, используется одно значение из группы значений выше правильных данных, одно — ниже их и два значения из одной группы, которые являются границами.

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

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

<p>4.8.3. Техника попарного тестирования</p>

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

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

Пример

При тестировании формы вам необходимо проверить, корректно ли она работает в нескольких операционных системах, браузерах и языках.

Набор данных будет такой:

— Операционные системы (Windows, macOS, Linux).

— Браузеры (Firefox, Chrome, Safari).

— Языки (Английский, Русский, Испанский).

Вычислить все варианты проверок несложно: 3 (Операционные системы) × 3 (Браузеры) × 3 (Языки) = 27 тестов.

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

<p>4.8.4. Техника таблицы принятия решений</p>

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

Пример

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

— Тип аккаунта пользователя: стандартный аккаунт, Премиум аккаунт.

— Итоговая сумма покупки пользователя: сумма покупки ниже 500$, сумма покупки от 500$.

После применения попарного тестирования таблица будет такой:

После применения техники таблицы принятия решения:

<p>4.8.5. Техника состояний и переходов</p>
Перейти на страницу:

Похожие книги