Что это? Если говорить простыми словами, то тест-кейс – это сценарий, по которому проверяются программные продукты. В отличие от чек-листов, используются в сложных проектах с большой долей ответственности, требуют больше времени для разработки.
Как создать? У тест-кейсов есть обязательные атрибуты и правила создания. Если следовать им, то на выходе вы получите работоспособный сценарий. Вольная трактовка правил приведет к написанию непродуманного тест-кейса и потере времени.
В статье рассказывается:
- Что такое тест-кейс
- Атрибуты тест-кейса
- Отличия тест-кейсов от чек-листов
- Плюсы и минусы тест-кейсов
- Виды тест-кейсов
- Правила разработки тест-кейсов
- Ошибки при создании тест-кейсов
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Что такое тест-кейс
Тест-кейс — это алгоритм действий, которые требуется совершить для проверки работы программы (кнопок, полей ввода и т.д.). В него входят шаги, которые предпринимаются перед проверкой (предусловия), являются проверкой, а также ожидаемый результат — то, что получим после выполненных действий.
Словарь терминов некоммерческой организации, занимающейся сертификацией в области тестирования (ISTQB), предлагает следующее определение тест-кейса: «… набор входных значений, предусловий выполнения, ожидаемых результатов и постусловий выполнения, разработанный для определенной цели или тестового условия, таких как выполнение определенного пути программы или же для проверки соответствия определенному требованию».
Комплект из нескольких тест-кейсов принято называть тестовым набором (test suite). Не путайте с понятием тест-плана. Оно обозначает именно планирование работы: что, когда, зачем, как и т.д.
Атрибуты тест-кейса
Все документы должны оформляться по определенному стандарту. Составление тест-кейсов также имеет строгие критерии. Они включают такие атрибуты, как:
- Уникальный идентификационный номер, состоящий из комбинации букв и цифр.
- Заголовок. Описывает цель тест-кейса. К примеру, тест-кейс для тестирования страницы входа может иметь заголовок «Проверка входа пользователя с верными данными».
- Предусловия. Шаги, предваряющие реализацию тест-кейса. При определенных условиях требуется ввод учетных данных.
- Шаги. Изложение действий, составляющих проверку.
- Постусловия. Список действий, необходимых для восстановления системы до исходного состояния. Указываются, если есть необходимость.
- Ожидаемый результат. Предполагаемый результат, к которому мы придем после реализации тест-кейса.
- Фактический результат. Состояние системы после совершения всех действий тест-кейса(не является обязательным).
- Статус. Успех (Success)/ провал (Failed)/ блокировка (Blocked). Отмечается не всегда, если требуется.
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Скачивайте и используйте уже сегодня:
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
К некоторым формам тест-кейсов добавляют и другие атрибуты. Среди них:
- Требования к среде. Программное обеспечение, специализированное оборудование и другие предметы, которые потребуются для прохождения тест-кейса, но не указанные в спецификации проекта тестирования.
- Специальные процедурные требования. Особенные процессы настройки, очистки или реализации для конкретного тест-кейса.
- Межкейсовые зависимости. Тест-кейсы, которые необходимо пройти перед выполнением данного.
Отличия тест-кейсов от чек-листов
Тест-кейсы применяют в крупных серьезных проектах. В частности, когда некорректная реакция системы может стать вопросом жизни и смерти. Например, в проектах, отвечающих за пожарную безопасность, медицинское обслуживание и финансовую сферу, необходимо проводить тестирование с большой ответственностью. Для этого составляются чек-листы (QA) — перечень критериев проверки. Они значительно повышают качество тестирования.
Читайте также!
Тест-кейсы для сайтов, мобильных приложений и других несложных систем, как правило, не разрабатываются. Чаще всего в проекте работают не больше двух тестировщиков, которые хорошо знакомы со всеми особенностями продукта. Написание тест-кейсов и их обслуживание не будет оправдано в плане временных и финансовых ресурсов. В данном случае разработчики предпочитают составлять чек-лист, по которому проверяют конкретные функции.
Плюсы и минусы тест-кейсов
Главное достоинство тест-кейса состоит в том, что его может провести практически любой сотрудник компании, не имеющий отношения к работе над проектом. Если к созданию тест-кейса подошли ответственно, исполнитель справится с ним без труда.
Минусы такого типа тестирования тесно взаимосвязаны.
- Заполнение требует долгой монотонной работы. Например, при тестировании корректного ввода ФИО надо выполнять простейшие одинаковые шаги: «ввести только символы, «ввести только числа» и т.д. Это особенно заметно, если посмотреть несколько тест-кейсов на один и тот же функционал.
- Затратное по времени редактирование. Малейшее изменение содержания сайта требует коррекции сотен сценариев тест-кейса. Не самое увлекательное и довольно выматывающее занятие.
- Некорректность тест-кейсов. Возникает из-за того, что при создании нового берутся элементы старого, которые не поменяли.
Именно вероятная неактуальность тест-кейсов делает их неэффективными. Проблема состоит еще и в том, что опытный тестировщик, хорошо знающий проект, без труда заметит несоответствие кейса. Тогда как сотрудник, которому впервые поручили эту задачу и направили несколько кейсов из середины тестового набора, вряд ли заподозрит ошибку.
Работающая схема для решения этой проблемы — применение тест-кейсов с одинаковым алгоритмом выполнения, но с различными вариациями входных параметров и ожидаемыми результатами. Это выглядит как небольшие чек-листы с предусловиями.
Виды тест-кейсов
Тест-кейсы делят на несколько групп в зависимости от входных данных, действий и предполагаемого поведения системы.
- Позитивные тест-кейсы. Доказывают, что программное обеспечение отвечает всем требованиям: если были введены верные данные, а пользователь следовал указаниям, система реагирует адекватно.
- Отрицательные тест-кейсы. Их результаты позволяют убедиться в способности программного обеспечения правильно реагировать на ошибочные вводные или некорректные действия. Это может быть, например, появление всплывающего окна с подсказкой.
- Деструктивные тест-кейсы. Служат для проверки способности системы выдерживать большие нагрузки и внешние воздействия без утери данных пользователя. Должно соблюдаться условие о запрете разрушения аппаратной части.
Пример.
Надо проверить требование к системе записи клиентов в салон красоты: «В систему нужно добавлять новые филиалы и мастеров».
на курсы от GeekBrains до 24 ноября
Задачи тестировщика при составлении положительных тест-кейсов заключаются в том, чтобы показать, что при введении правильных данных в приложении появляются новые адреса салонов и имена мастеров.
Цель деструктивных тест-кейсов заключается в том, чтобы испытать систему при нагрузках. Это может быть аварийное выключение или добавление критически большого количества мастеров.
Правила разработки тест-кейсов
При разработке тест-кейсов учитывают следующие требования для каждого из его атрибутов.
Заголовок
- важна четкая короткая формулировка, ясно выражающая суть тест-кейса;
- не должен включать ожидаемый результат и выполняемые шаги.
Предусловие
- подробно описывает состояние объекта или системы, требуемое для выполнения шагов тест-кейса;
- список источников информации (описание системы, инструкции), которые тестировщик должен прочитать перед тем, как начать выполнение тест-кейса;
- если тестируемая информационная система обладает несколькими средами (прод, тест, препрод…), предусловие не должно включать ссылки на нее. Информацию о ресурсе следует разместить в инструкции, а ссылку добавить в предусловие.
- не прописываются данные для авторизации, их размещают в инструкции, оставляя ссылку в поле тест-кейса для предусловия;
- не должно включать ожидаемый результат и выполняемые шаги. Если есть необходимость держать открытой главную страницу сайта перед тем, как приступаем к шагам проверки, в предусловии отмечается: «открыта главная страница сайта»;
- не должно описывать ожидаемый результат.
Шаги проверки
- ключевые качества: доступность, четкость, последовательность;
- важно избавляться от чрезмерной подробности в описании. Например, вместо «первый шаг — нажать на клавиатуре цифру 2, второй шаг — нажать на клавиатуре цифру 5», следует писать «ввести число 25 в данном поле»;
- применяются только глаголы в неопределенной форме: ввести, нажать, удалить и т.д. Недопустимо: введите, нажмите, удалите;
- если требуется добавить комментарии или пояснения, они размещаются в виде инструкции в базе знаний, а в предусловии размещаем ссылку на нее;
- не допускаются конкретные статистические данные (названия файлов, логины и пароли) и примеры, во избежание эффекта пестицида.
Ожидаемый результат
- описывается у каждого шага проверки;
- содержит внятное и краткое описание состояния, в которое приходит программа или объект после реализации конкретного шага;
- не допустимы лишние описания.
Общие требования к тест-кейсам
- описание тест-кейсов излагается простой, общедоступной лексикой;
- хороший тест-кейс не содержит никаких зависимостей с другими. По крайне мере, надо стремиться к их минимизации и избегать ссылок на другие тест-кейсы;
- тест-кейсы разбивают по назначению на функциональные блоки;
- в тест-кейсы для проверки работы функционала нельзя добавлять скриншоты. В противном случае, при изменении интерфейса проверяемой системы, придется исправлять скриншоты в тысячах тест-кейсов. Размещение скриншотов допустимо только в кейсах, тестирующих отображение страниц и форм.
Соблюдение перечисленных правил поможет составить грамотные тест-кейсы. Это значит, что они будут одинаково удобны в использовании для всех сотрудников проекта, хорошо совместимы и доступны.
Ошибки при создании тест-кейсов
Посмотрим, как правильно писать тест-кейсы и какие ошибки в них недопустимы.
- Слишком обобщенное название тест-кейса
Это создает путаницу между различными тест-кейсами одного проекта. Поэтому название должно отражать специфику каждого конкретного тест-кейса.
Неправильно: Уведомление пользователя об отсутствии интернет-соединения.
Правильно: Уведомление пользователя о потере Wi-Fi сигнала вручную.
Читайте также!
- Употребление повелительного наклонения в тест-кейсе
Дело не в практической целесообразности, а в элементарной вежливости.
Неправильно: перейди на страницу; введи значение и т.д.
Правильно: перейти на страницу; ввести значение и т.д.
- Некликабельные ссылки
Это касается как гиперссылок внутри программы, так и внешних ресурсов. Каждую ссылку надо делать кликабельной с помощью Ctrl + K.
- Слишком подробные описания действий
Формулировки шагов тест-кейса не должны вызывать вопросов, но при этом не надо писать очевидные вещи.
Неправильно: Наведите мышку и нажмите на зеленую кнопку внизу страницы посередине с надписью «Согласен».
Правильно: Нажмите на кнопку «Согласен».
- Слишком краткое описание действий
Правильный тест-кейс лаконичен, но при этом не требует дополнительных объяснений.
Неправильно: Открыть меню «Дополнительные возможности».
Правильно:
- Нажать на иконку «Профиль».
- Перейти во вкладку «Настройки».
- Выбрать пункт «Дополнительные возможности».
Приоритет тест-кейсов и чек-листов заключается в том, что они делают процесс тестирования программного обеспечения структурированным и доступным для неспециалистов. В чек-листах прописываются объекты проверки, а в тест-кейсах — пошаговый алгоритм.
Применение данного формата тестирования систем позволяет значительно экономить время на проверках. Гораздо рациональнее один раз потратить время на основательную подготовку набора тест-кейсов и чек-листов, чем каждый раз разрабатывать новое тестирование продукта.