В тестировании, чтобы проверить, корректно ли работает программное обеспечение (ПО), делают определенные действия и сверяют полученный результат с ожидаемым. Другими словами — моделируют ситуацию работы ПО. Чтобы описать шаги, создают тест-кейсы.
Что такое тест-кейсы
Это четкое описание входных данных, условий и процедуры тестирования, ожидаемых результатов. Они определяют один сценарий — конкретную цель тестирования программного обеспечения. Целью может быть проверка ПО: соответствует ли оно требованиям.
Четко определенные тест-кейсы позволяют многократно запускать одни и те же тесты, применять для последовательно изменяющихся версий программного обеспечения. А еще отслеживать регрессивные ошибки ПО — то есть те, которые повторяются и ухудшают качество продукта.
Подробнее о том, как писать тест-кейсы и другую тестовую документацию, вы узнаете на курсе
«Инженер по тестированию». Научитесь отслеживать ошибки и писать отчеты о тестировании. Посетите мастер-класс по тест-кейсам и попрактикуетесь в их создании. Эти навыки пригодятся в работе тестировщика.
Отличия
🚀 От чек-листа
В чек-листе перечисляют аспекты ПО, которые нужно проверить. Когда составляют тест-кейс, описывают состояние программного обеспечения и то, как его изменяют. То есть чек-листом определяют, что тестировать. А тест-кейсом — как тестировать. Чек-лист подойдет в качестве исходного документа, чтобы составить тест-кейсы.
🚀 От баг-репорта
Баг-репорт — это отчет об ошибке. Его составляют, когда находят ошибки в работе ПО. Тест-кейс же нужен, чтобы определить, есть ли ошибка. Он помогает составить качественный баг-репорт.
Виды тест-кейсов
Классификация зависит от типа входных данных, действий и ожидаемого поведения ПО.
1️⃣ Положительные. Подтверждают, что ПО соответствует требованиям. Показывают, что при корректных входных данных и действиях пользователя ПО выполняет функции.
2️⃣ Отрицательные. Показывают, что ПО способно обрабатывать некорректные входные данные или неверные действия пользователя. Например, выводить соответствующие сообщения, подсказывать, как исправить ситуацию.
3️⃣ Деструктивные. Демонстрируют, что никакие внешние воздействия или высокие нагрузки не приводят к потере данных пользователя, ПО можно использовать. Условие: нагрузки не разрушают аппаратную часть.
Пример
У вас есть требование к программной системе расписания занятий: «В систему нужно добавлять новые уроки».
Положительные тест-кейсы должны демонстрировать, что, если ввести корректные данные, новый урок появится в расписании.
Негативные попытаются сломать нормальную работу системы. Например, если добавляют урок, когда нет места в расписании, или не указывают его название.
Деструктивные покажут, сохранится ли расписание при сбоях. Например, если внезапно завершат программу или введут огромное количество данных за короткое время.
Жизненный цикл
У баг-репорта есть полноценный, развитый жизненный цикл. У тест-кейса — набор состояний. Они могут отличаться в зависимости от компании и возможностей систем управления тест-кейсами. Но обычно выделяют четыре состояния:
1️⃣ Не запускался. Тест-кейс создали, но тестирование по нему не проводили.
2️⃣ Пройден успешно. Ожидаемые и фактические результаты работы ПО совпадают.
3️⃣ Провален. Обнаружили дефект: ожидаемый результат минимум по одному шагу тест-кейса не совпадает с фактическим.
4️⃣ Пропущен. Тест-кейс отменили. Например, потому что изменили требования к ПО.
Если хотите узнать, как создавать и оценивать тест-кейсы, писать отчеты по их запуску, — вам на курс «Инженер по тестированию». Кроме теории во время обучения будете много практиковаться и получать обратную связь от наставников.
Обязательные атрибуты
Они тоже зависят от внутренней культуры компании или возможностей систем управления тест-кейсами. И даже от типа тестируемого ПО. Но обычно выделяют следующие атрибуты:
✅ Уникальный идентификатор — некое уникальное значение. По нему на тест-кейс ссылаются из других документов или тест-кейсов. Бывает буквенным, числовым, буквенно-числовым. Чаще всего применяют простую сквозную нумерацию.
✅ Краткое описание — лаконичное описание сути тест-кейса. Может содержать ссылку на требование к ПО.
✅ Входные данные — сведения о первоначальном состоянии системы, которое важно для тест-кейса. А еще значения для ввода или передачи ПО.
✅ Шаги — полная последовательность действий. Ее выполняют, чтобы провести описываемую тест-кейсом проверку.
✅ Ожидаемый результат — описание планируемого поведения или результата ПО. Может базироваться на требовании к программному обеспечению, общей логике работы.
✅ Фактический результат — описание итогового поведения или результата ПО. Если они совпадают, это указывают. Когда не совпадают, подробно описывают расхождения. Пометка «не совпадает», «отличается» — это грубая ошибка.
✅ Статус — текущее состояние тест-кейса.
Правила составления тест-кейса
👉 Создавайте простые тест-кейсы. То есть лаконичные и понятные не только вам. Используйте повелительное наклонение, например: «перейдите на домашнюю страницу», «введите данные», «нажмите здесь». Шаги должны быть четкие, без лишних деталей. Так проще понять шаги теста и ускорить работу.
👉 Учитывайте интересы конечного пользователя. Конечная цель любого программного проекта — простое и понятное приложение, отвечающее запросу клиентов. Тестировщик создает тест-кейсы с учетом мнения конечного пользователя.
Этому учат на курсе «Инженер по тестированию». Вы узнаете, на чём основана работа тестировщика, как учитывать поведение пользователей и оценивать качество работы. Во время учебы будете много практиковаться, а в конце получите диплом установленного образца.
👉 Избегайте повторов. Если тест-кейс нужен, чтобы выполнить другой тест-кейс, оставьте ссылку по идентификатору в столбце предварительного условия.
👉 Не предполагайте. Не додумывайте функциональность и возможности ПО. Строго придерживайтесь спецификации.
👉 Пишите тестовые примеры. Они должны покрывать все требования к ПО из спецификации. Используйте чек-листы и автоматизированные средства учета покрытия тестами. Это гарантия того, что ни одна функция или условие не останутся непроверенными.
👉 Задавайте идентификатор тест-кейса. Так, чтобы его было легко идентифицировать. Например, когда отслеживают ошибки или определяют требования к ПО на более позднем этапе.
👉 Внедряйте методы тестирования. Эти техники помогают спланировать несколько тест-кейсов и находить ошибки:
- анализ граничных значений — проверяйте верхние и нижние границы для допустимого диапазона значений;
- эквивалентное разделение — разбивайте диапазон всевозможных тест-кейсов на равные части/группы с одинаковым поведением;
- техника перехода состояний — создавайте тест-кейсы, которые покроют поведение ПО при переходе из одного состояния в другое.
👉 Внедряйте самоочистку. Тест-кейс должен возвращать среду в предтестовое состояние. Особенно это касается тестирования конфигураций.
👉 Создавайте повторяемые и самостоятельные текст-кейсы. Они должны всегда генерировать одинаковые результаты: независимо от того, кто их тестирует.
👉 Проводите экспертную оценку. Отправляйте текст-кейсы на проверку коллегам. Они могут обнаружить ошибки в дизайне тест-кейса, которые вы пропустили.
Учитесь создавать тест-кейсы и системы управления ими на курсе «Инженер по тестированию» Skypro. Кроме этого узнаете, как писать чек-листы и тест-планы, составлять отчеты в системах отслеживания ошибок. Проведете функциональное, UX/UI- и регрессионное тестирование — и это только в одном модуле. На курсе рассмотрим еще и тестирование мобильных приложений и API, инструменты тестировщика.
На курсе больше 330 часов теории и практики, пройдете 7 мастер-классов, создадите 4 проекта для портфолио. Доступ к материалам останется навсегда.
Шаблон и пример тест-кейса
Идентификатор | Описание | Шаги | Входные данные | Ожидаемые результаты | Фактические результаты | Статус |
TU01 | Проверка входа пользователя с существующими логином и паролем | Откройте сайт http://blahblahblah.ru
↓ Введите логин ↓ Введите пароль ↓ Нажмите кнопку «Войти» |
Логин = user99 Пароль = pass99 | Пользователь должен попасть на главную страницу | Как ожидали | Пройден успешно |
TU02 | Проверка входа пользователя с несуществующими логином и паролем | Откройте сайт http://blahblahblah.ru
↓ Введите логин ↓ Введите пароль ↓ Нажмите кнопку «Войти» |
Логин = user99 Пароль = badlass99 | Пользователь должен остаться на странице логина. Появится сообщение «Неверные логин или пароль» | Как ожидали | Пройден успешно |
В онлайн-университете Skypro есть программа «Инженер по тестированию» — на ней ученики осваивают профессию с нуля за 12 месяцев, делают четыре проекта для портфолио. Преподаватели — руководители отделов тестирования и старшие разработчики в ВТБ, Skyeng и других крупных компаниях. 95% выпускников выходят на работу в течение четырех месяцев: в этом помогает центр карьеры.
Главное о тест-кейсах
- Тест-кейс — это четкое описание входных данных, условий выполнения, процедуры тестирования и ожидаемых результатов.
- Исходным документом для тест-кейсов может быть чек-лист. Проваленный тест-кейс служит источником данных для баг-репорта.
- Обязательные атрибуты тест-кейса: уникальный идентификатор, краткое описание, входные данные. А еще шаги, ожидаемый результат, фактический результат, статус.
- От правильности написания тест-кейсов зависит качество тестирования. Создавайте простые тест-кейсы с учетом интересов конечного пользователя. Избегайте повторов и не предполагайте, пишите тестовые примеры. Внедряйте методы тестирования, самоочистку, консультируйтесь с экспертами.
Добавить комментарий