Основные методики создания тест-кейсов

Поговорим о фундаментальных подходах к созданию тест-кейсов. Это базовые вещи для каждого QA.

Методики создания тест-кейсов

Иногда еще называется «техники тест-дизайна». Это методика/техника, применяемая при написании тест-кейсов; цель этой деятельности — улучшить тестовое покрытие кода.

Какие бывают методики:

Теперь рассмотрим каждую детально.

1. Предугадывание ошибок

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

Пример: есть какое-то поле «Количество», оно измеряется в штуках, стало быть оно должно иметь только позитивные целые значения.

Негативные/некорректные вводыСообщение об ошибке
156.45Допускаются только целые числа
СтоДопускаются только цифры, а здесь буквы!

2. Разделение по классам эквивалентности

Или, как иначе называют иногда, «эквивалентное разбиение».

Правило Пресмана

Правило 1: если ввод представляет собой диапазон значений («от и до»), то создается один тест-кейс для одного валидного (корректного) значения, и два для невалидных.

Пример: есть поле ввода текста, диапазон допустимых значений от 100 до 5000.

Тест-кейс: с валидным значением 2000, плюс два невалидных 90 и 6000.

Правило 2. Если на ввод подается набор значений («перечисление»), то тест-кейсы делаются (тоже) с 1 валидным значением и с 2-мя невалидными.

Пример: Есть поле ввода для поиска продуктов в базе. Номера продуктов (ID-шки) должны иметь только следующие значения: 27, или 51, или 68.

Тест-кейс: Валидное 51, невалидные 23, 69.

Правило 3. Если ввод булевый (true или false), то создаются тест-кейсы для обоих значений, и true и false.

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

Если ввод ожидается в диапазоне значений, то надо разделить (разбить) диапазон на так называемые «эквивалентные части» (не обязательно две, может быть и больше), и протестировать значения в этих частях; плюс, надо протестировать (как минимум) два некорректных значения.

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

Пример: Есть поле ввода. Корректные значения должны быть такие: -100, 1000, 2000, 3000, 4000, 5000

Тест-кейс: 

Валидные значения: -100, 1000, 2000, 3000, 4000, 5000

Невалидные значения: -90, 6000

3. Анализ граничных значений (BVA)

Очень интуитивная методика. Если ввод представляет собой диапазон значений от А до В, то создаются тест-кейсы на, условно: (А, А+1, А-1), и (В, В+1, В-1).

Пример: текстовое поле должно содержать числа от 100 до 5000

Тест-кейс: 

с валидными: 100, 101, 4999, 5000

с невалидными: 99, 5001

Выбираем эту технику из-за того, что разработчики могут случайно ошибаться в коде условных операторов. Шансы найти баги высоки где-то около “границ” диапазона, поэтому такие тест-кейсы почти что обязательны.

4. Таблица решений

Работая по этой методике, проверяем сразу несколько условий, точнее их комбинации, на соответствия каким-то требованиям (условиям).

Формула: 2n [где n это количество условий] = количество тестовых сценариев в таблице.

Пример: покупатель показывает кредитную карту банка и претендует на скидку; он может быть новым или старым клиентом; также у него есть (или может быть) промокод.

Описание требований: если покупатель является «новым» для банка, и ему недавно выдали кредитную карту, то банк дает 15% скидки на первую покупку. Если покупатель “старый” и он участник «программы лояльности» и предъявляет соответствующую карту, то скидка должна быть 10%. Если у него есть промокод, то скидка должна быть 20%.

Дополнительно: промокод не может применяться одновременно со скидкой для новых зарегистрированных покупателей; если есть одновременно два условия, то применяется бОльшая скидка из двух (см. таблицу).

Итак, у нас есть 3 скидки, которые будут комбинироваться:

  1. Скидка новому клиенту 
  2. Скидка старому клиенту
  3. Скидка по промокоду

Итого, получается 2 в 3-ей степени = 8 правил/сценариев.

Количество условийПравило 1Правило 2Правило 3Правило 4Правило 5Правило 6Правило 7Правило 8
Скидка новому клиенту (15%)++++
Скидка старому клиенту (10%)++++
Скидка по промокоду (20%)++++
Итоговая скидка, %нет скидкинет скидки20%15%30%10%20%нет скидки

Имея такую таблицу, пишем тестовые сценарии по каждому из условий.

5. Диаграмма перехода состояний

И, совсем кратко, о методике, построенной на так называемых «диаграммах перехода состояний». В этой методике проверяем различные состояния страниц (или экранов приложения), на предмет корректности отображения/выполнения.

Пример: операции с банкоматом.

На диаграмме изображен упрощенный алгоритм по работе клиента с банкоматом, по которому можно писать тестовые сценарии.

На этом пока все! Прямо сейчас можешь проверить свои знания блиц-тестом по основам ISTQB (всего 8 вопросов — проходится за 1 минуту), или пробовать (необходимый для получения сертификата) более обширный тест на английском.

А еще у нас есть специальный раздел, посвященный процессам и методологии тестирования.

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас