Техники тест-дизайна служат для разработки качественных тест-кейсов. Поскольку исчерпывающее тестирование невозможно, техники ручного тестирования позволяют сократить количество выполняемых тест-кейсов и увеличить тестовое покрытие. Они помогают выявить условия тестирования, которые иначе трудно распознать.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Содержание:
- Анализ граничных значений (BVA)
- Разбиение на классы эквивалентности
- Таблица принятия решений
- Переход состояний
- Диаграмма перехода состояний
- Таблица переходов состояний
- Угадывание ошибок
- Заключение
Анализ граничных значений (BVA)
Данная техника тест-дизайна основана на тестировании поведения системы на внутренних и внешних границах значений входных данных. Она обусловлена тем, что большое количество ошибок возникает именно на границах входных значений, а не в середине диапазона, поэтому тестированию подвергаются как сами границы, так и значения выше и ниже.
Этот метод дополняет разбиение на классы эквивалентности. Установлено, что, если система верно обрабатывает выбранные граничные значения, то ее поведение будет аналогичным со всеми значениями, находящимися внутри диапазона.
Суть метода:
Если входное условие ограничено значениями x и y, то тест-кейсы должны быть разработаны для самих x и y, а также для значений, которые находятся выше и ниже этих границ.
Пример:
Имеется диапазон входных данных от 1 до 10. Граничные значения для данного диапазона: 0,1,2 (внутренняя граница) и 9,10,11 (внешняя граница).
Разбиение на классы эквивалентности
Этот метод позволяет разделять множество тестовых условий на классы, считающиеся эквивалентными. Для одного репрезентативного значения из класса результат теста является идентичным для любого другого значения из того же класса. Это позволяет выявить как допустимые, так и недопустимые классы эквивалентности.
Пример:
Условия ввода действительны между
1 до 10 и 20 до 30
Следовательно, можно разбить эти тестовые условия на пять классов эквивалентности:
--- до 0 (невалидный) 1 до 10 (валидный) 11 до 19 (невалидный) 20 до 30 (валидный) 31 до --- (невалидный)
Из каждого класса достаточно выбрать по одному репрезентативному значению, например:
-2, 3, 15, 25, 45
Таблица принятия решений
Таблица принятия решений также известна как таблица причинно-следственных связей. Этот метод используется для функций, которые реагируют на комбинации входных данных или событий. Например, кнопка отправки формы должна активироваться, если пользователь ввел все необходимые поля.
Первая задача – выявить функциональные возможности, в которых результат зависит от комбинации входных данных. Если имеется большой набор входных комбинаций, то их можно разделить на более мелкие подмножества, что облегчит управление таблицей.
Для каждой функции необходимо создать таблицу и перечислить в ней все типы комбинаций данных и соответствующих им результатов. Это поможет выявить условие, которое в противном случае могло бы быть упущено.
Ниже описаны шаги по созданию таблицы принятия решений:
- Занести варианты входных данных в строки.
- Занести варианты условий в столбцы.
- Заполнить таблицу различными комбинациями входных данных.
- В последней строке записать результат в соответствии с комбинацией входных данных.
Пример: Кнопка отправки в контактной форме активизируется только после того, как пользователь введет все необходимые данные.
Переход состояния
В технике переход состояния изменение входных условий приводит к изменению состояния тестируемого приложения (AUT). Тестировщик использует как валидные, так и невалидные входные тестовые значения для оценки поведения системы.
Рекомендации по использованию техники перехода состояний:
- Переход состояний следует использовать для проверки приложения с ограниченным набором входных значений.
- Данная техника тест-дизайна должна использоваться, когда требуется проверить последовательность событий, происходящих в тестируемом приложении.
- Как правило, после анализа возможных действий и соответствующих им состояний системы создается диаграмма, наглядно демонстрирующая весь процесс.
Пример:
Необходимо протестировать вход в систему. Если пользователь введет правильный пароль в любой из первых трех попыток, ему будет предоставлен доступ. Если он введет неверный пароль в первой или второй попытке, ему будет предложено ввести пароль повторно. Если пользователь в третий раз введет пароль неверно, то в доступе будет отказано, а учетная запись заблокирована.
Диаграмма перехода состояний
На данной диаграмме показана последовательность переходов состояний системы в зависимости от действий пользователя: когда пользователь вводит верный PIN-код, система переходит в состояние “Доступ разрешен” (Access granted) и т.д. На основе приведенной диаграммы можно также создать таблицу переходов состояний.
Таблица переходов состояний
Правильный PIN-код | Неверный PIN-код | |
S1) Старт | S5 | S2 |
S2) 1-я попытка | S5 | S3 |
S3) 2-я попытка | S5 | S4 |
S4) 3-я попытка | S5 | S6 |
S5) Доступ разрешен | – | – |
S6) Счет заблокирован | – | – |
Угадывание ошибок
Угадывание ошибок – это техника, основанная на угадывании ошибки, которая потенциально может возникнуть в коде. Эта методика в значительной степени основана на опыте тестировщика, который способен выявить проблемную часть тестируемого приложения. Следовательно, для более точного угадывания ошибок тестировщики должны иметь обширный опыт и высокую квалификацию.
В рамках данной методики составляется список возможных ошибок или ситуаций, которые могут привести к ошибкам. Затем тестировщик пишет тест-кейсы для выявления этих ошибок.
Рекомендации по угадыванию ошибок:
- Тестировщик использует предыдущий опыт тестирования аналогичных приложений.
- Тестировщик глубоко понимает тестируемую систему.
- Тестировщик знает о наиболее распространенных ошибках реализации.
- Тестировщик оценивает статистические данные и результаты тестирования.
Заключение
- Техники тест-дизайна позволяют разрабатывать более качественные тест-кейсы.
- Существует пять наиболее часто используемых техник.
- Анализ граничных значений – это тестирование поведения системы на внутренних и внешних границах значений входных данных.
- Метод разбиения на классы эквивалентности позволяет разделить множество тестовых условий на части, которые следует считать одинаковыми.
- Техника таблицы принятия решений используется для функций, реагирующих на комбинацию входных данных или событий.
- В технике перехода состояний изменения входных условий изменяют состояние тестируемого приложения (AUT).
- Угадывание ошибок – тестировщик основывается на предыдущем опыте, чтобы предугадать ошибку, которая может возникнуть в коде.
Перевод статьи «Software Testing Techniques with Test Case Design Examples».
Пингбэк: 10 вопросов по QA на собеседовании
Пингбэк: Как писать тест-кейсы для тестирования API