Тест-кейс — это профессиональная документация тестировщика, последовательность действий направленная на проверку какого-либо функционала, описывающая как придти к фактическому результату.
Набор тест-кейсов называют тест-комплектом. Иногда тест-набор путают с тест-планом. Тест-план описывает какие работы, как и когда должны быть проведены в рамках тестирования продукта, а так же что необходимо для их выполнения.
Зачем нужны тест-кейсы?
Атрибуты тест-кейса
Любой тест-кейс обязательно включает в себя:
- Уникальный идентификатор тест-кейса — необходим для удобной организации хранения и навигации по нашим тест-наборам.
- Название — основная тема, или идея тест-кейса. Кратное описание его сути.
- Предусловия — описание условий, которые не имеют прямого отношения к проверяемому функционалу, но должны быть выполнены.
Например, оставить комментарий на вашем портале может только зарегистрированный пользователь. Значит для тест-кейса «Создание комментария» будет необходимо выполнение предусловия «пользователь зарегистрирован», и «пользователь авторизован» - Шаги — описание последовательности действий, которая должна привести нас к ожидаемому результату
- Ожидаемый результат — результат: что мы ожидаем увидеть после выполнения шагов.
Не обязательно, но желательно добавить в тест-кейс атрибут история редактирования — это сильно облегчит вам жизнь. Лаконичный журнал изменений, где отраженно: кем, как, и когда был изменен тест-кейс.
Что еще необходимо знать, перед созданием тест-кейса?
Во-первых, каждый выполненный тест-кейс, дает нам один из трех результатов:
1.Положительный результат, если фактический результат равен ожидаемому результату,
2.Отрицательный результат, если фактический результат не равен ожидаемому результату. В этом случае, найдена ошибка.
3.Выполнение теста блокировано, если после одного из шагов продолжение теста невозможно. В этом случае так же, найдена ошибка.
Во-вторых, одним тест-кейсом проверяется одна конкретная вещь, и для этой вещи должен быть только один ожидаемый результат.
Чего не должно быть в тест-кейсе
1. Зависимостей от других тест-кейсов;
2. Нечеткой формулировки шагов или ожидаемого результата;
3. Отсутствия необходимой для прохождения тест-кейса информации;
4. Излишней детализации.
Первого следует избегать, потому что: связанный тест-кейс всегда может быть удален из-за ненадобности или он может быть изменен, в этом случае, станет непонятно как исполнить тест-кейс в которому, есть ссылки.
Так же из-за зависимости тест-кейсов, может возникнуть ощущение, что тестируемый продукт уже приведет к нужному состоянию благодаря выполнению связанных тест-кейсов.
Со вторым думаю все ясно. Если описание шагов или ожидаемое результата будет не четким, то это блокирует прохождение тест-кейса.
В тест-кейса должно быть вся информация, которая необходима для его прохождения. Например, если мы проверяем окно логина на сайте, значит нам понадобится логин и пароль, иначе прохождение этого сценария будет невозможно.
Так же не следует слишком детализировать кейс. Например, если мы проверяем возможность создания комментария, то не стоит писать в каком угле экрана должно быть окно логина. Избыточная информация только затрудняет прохождение тест-кейса.
Тест кейс (test case)

ТЕСТ КЕЙС (TEST CASE) – это комплекс исходных данных, условий и ожидаемых результатов, разработанный с целью проверки требуемого свойства продукта. Test cases, собранные в последовательность для достижения некоторой цели образуют test suite (набор тестов).
Еще одно определение test case — это спецификация входных данных, условий выполнения, процедуры тестирования и ожидаемых результатов, которые определяют один тест, который должен быть выполнен для достижения конкретной цели тестирования программного обеспечения, например для выполнения определенного пути программы или для проверки соответствия определенному требованию
Содержание
Чтобы больше прояснить ситуацию с терминами и определениями, давайте сопоставим некоторые термины касательно этой темы:
- Тест-кейс и тест = синоним
- Не путаем чек-лист и тест. Отличие тест кейса от чек-листа заключается в том, что чек-лист это всего лишь идея будущего теста, а тест кейс, как мы говорили выше, набор данных и ожидаемых результатов. Часто чек лист становится хорошим началом атрибута Test description в тест-кейсе.
- Не путаем тест план и тест кейс. Что касается мы уже определились, а вот тест план это фундаментальный документ, который описывает разные аспекты процесса тестирования. Подробно о тест плане мы поговорим в отдельной статье.
- Тест сценарий и тест кейс, также неравны. Тестовый сценарий (test scenario) – набор тестов (тест-кейсов), собранных в последовательность для достижения некоторой цели. Хороший тестовые сценарии и тест кейсы в нем всегда следуют некоторой логике, например: типичному использованию приложения, удобству тестирования, распределению функций по модулям и т.д.
В общем, мы дали основные определения понятий теперь пришло время поговорить про составление тест кейсов, показать пример тест кейса на конкретном примере. Начнем, пожалуй, с вопроса: почему написание тест кейсов не простое занятие, зачем нужно создание тест кейсов и продолжим вопросом как составлять тест кейсы. Виды тест кейсов в данной статье рассматривать не будем, потому что это тема отдельного поста и касаться он будет классификации тестирования в целом. Сразу хочу отметить, учитывая специфику темы, что некоторые слова будут написаны на английском языке.
В чем сложность написания тест кейсов?
Признаться честно, разработка тест кейсов не совсем приятное для многих тестировщиков занятие. И эта неприязнь легко поддается объяснению, ведь их создание требует от Software Testing Engineer следующего:
- Большой мозговой активности. Как мы знаем думать человеку не свойственно по природе, поэтому сесть за разработку тестов, для многих, требует нечеловеческой силы воли.
Примечание: Существует мнение, что мозг поглощает около 20% питательных веществ, при том, что занимает около 2% от всего организма. Возможно, поэтому наше «серое вещество», желая сэкономить энергию, предлагает посмотреть любимый сериал, а не обдумать какую-либо проблему.
- Временных затрат. Оформление тест кейса требует нескольких минут, а, в зависимости от проекта, тестов может понадобиться сотни, а то и тысячи.
- Выполнение рутинных действий. Создание и управление тест кейсами, зачастую, сопряжено с большим количеством копи-паста. Повторение однотипных действий бывает чрезвычайно утомительным.
Не смотря на внушительное количество отрицательных моментов в создании тест кейсов, все же плюсы от их создания компенсируют все недостатки. Давайте перечислим причины, которые позволяют говорить, что написание тест кейсов это не пустая трата времени.
Зачем нужно написание тест кейсов?

Как мы отмечали выше создание тестов не простое занятие для большинства нестировщиков. Тем не менее, позитивные свойства качественных тест кейсов заключаются в том, что они позволяют:
- Найти проблемные места в требованиях. Если требование не понятно и не тестируемо в принципе, то написание тест кейса это проявит. Вместе с тем, здесь нужно быть предельно ответственным, нельзя копипастить требования в ТК.
- Структурировать всю информацию. Логика и структура дадут нам больше шансов тратить меньше времени на вникание в сам тест кейс (одно будет вытекать из другого). Кейсы, максимально замапленные на требования, позволяют потом не искать, откуда же эта информация взята.
- Ускорить регрессию. Чтобы провести качественный регресс, надо выбрать правильные тест кейсы smoke test, высокоуровневый тест кейсы и тд. Помимо этого, тест кейсы, содержащие максимум вспомогательной информации: логины, пароли – тем самым экономим время.
- Хранить и собирать информацию. Все сложные настройки должны быть описаны в тест кейсах (логины, пароли, валидация полей, сертификаты, данные карт и тд.). Всегда можно приатачить к кейсам дополнительные файлы с нужной инфой или даже какое-то важное письмо.
- Отслеживать процесс тестирования. Тут важно отметить следующие особенности, что одна ячейка таблицы=один тест, так четко и без проблем ставим статус. Можно создаем статистику (пройдено /не пройдено, не протестировано)
Также, тест кейсы, тест план и его тест стратегия, могут использоваться как источник информации для следующих проектов. В дополнение к сказанному, кейс тестирование, помогает удовлетворить требования заказчика. Часто заказчик проверяет кейсы, иногда нет. Но в целом на большинстве проектов кейсы должны быть.
Как писать тест кейсы?

Чтобы написать хороший хорошие тест кейсы в целом и каждый отдельно взятый test case в частности, тестировщику необходимо ответить на несколько основополагающих вопросов:
- Подробный или общий?
- Позитивный или негативный?
- Простой или сложный?
- Независимый или объединенный?
Теперь давайте детализируем каждый из вопросов, для более полного понимания.
Подробный или общий тест кейс?
Пример оформления 1
2.In the field B, type 3
Плюсы и минусы
- Проходящий все время будет вбивать одно и тоже и не проверит другие значения
- Если тест-кейс слишком общий, то можно не так понять (без примеров) и ввести не то
- Более подробные кейсы требуют много времени на создание
- Новичку не подробный тест будет тяжело проходить
Пример оформления 2
1.In the field A, enter valid integer
2.In the field B, enter valid integer
4.Check value of the field C
Плюсы и минусы
- Мы не привязаны к точным значениям
- Время на поддержку теста сокращается
- Мы перечисляем конкретные цифры, которые должны быть проверены в тесте
Позитивные или негативные тест кейсы?
Что касается этого вопроса, то здесь следует помнить несколько простых принципа:
- Позитивный тест кейс идет в первую очередь
- Негативные тест кейсы найдут больше багов
- Негативных тестов всегда больше, но надо отбирать наиболее вероятные
- Очень важно иметь граничные тест кейсы между позитивными и негативными
Помня эти принципы, тестировщику проще не совершить крен в ту или иную сторону будь-то при написании тест кейсов игры или use case testing.
Простые или сложные тест кейсы?
Начиная разработку ТК сотруднику необходимо помнить, следующую последовательность разработки, а потом и выполнения тестов:
- Простые позитивные
- Простые негативные
- Сложные позитивные
- Сложные негативные
Такая очередность позволяет оптимизировать процесс написания и в дальнейшем легче определять приоритет тест кейса.
Независимые или объединенные тест кейсы?
В данной ситуации нет однозначного ответа да этот вопрос, все зависит от конкретного проекта. Поэтому просто перечислим типичные характеристики данных тест кейсов
Независимые:
- Независимые тесты быстро и легко проходим
- Можно продолжать тестирование, если один тест упал
- Проходить тесты можно в любом порядке
Объединенные:
- Сценарии повторяют поведения пользователя
- Эффективны, когда в 1 шаге у нас по 10 подшагов
- Мы не создаем каждый раз новые данные, а используем созданное на предыдущем шаге
- Характерны для интеграционного и системного тестирования
Помня эти особенности легче сделать выбор в ту или иную сторону, находясь перед выбором.
Best practices тест кейсы:
- Используйте простой разговорный язык
- Всегда используйте полное описание и наименование элементов
- Не объясняйте Windows basics
- , (?), “field name”, ‘label’
- “Open”, а не “go”
Теперь пришло время поговорить про поля тест кейса и характерные атрибуты.
Что может являться атрибутом тест кейса?
Мы написали про основные принципы того, как составлять тест кейсы, теперь давайте разберемся, какая же должна быть структура тест кейса.
| Названия атрибутов тест кейса | ||||||||
|---|---|---|---|---|---|---|---|---|
| ID | Priority | Req. ID | Module | Sub-Module | Test description | Expected result | Result | Comment |
Следует отметить, что атрибуты тест кейса могут отличаться в зависимости от компании и инструмента, с помощью которого данные тесты создаются, поэтому мы перечислим наиболее распространенные атрибуты тест кейса:
- ID — уникальный идентификатор. Если проставляется руками, то желательно делать его осмысленным. Часто генерируется автоматически.
- Priority (приоритет тест кейса) – атрибут, который указывает приоритетность ТК, и принимает значение, согласно принятой в компании классификации (A-B-C-D-E, High-Medium-Lowи тд.)
- Req. ID – атрибут, указывающий на связанный с тестом пункт требования
- Module – здесь указывается связанный с тест кейсом модуль.
- Sub-Module – аналогично предыдущему пункту, только вписывается более мелкая структурная единица.
- Test description (описание тест кейсов) – важный атрибут, в котором указывается заголовок (суть теста), условия для его выполнения, шаги и действия после прохождения теста. Test description, соответственно, может и должен содержать:
- Precondition
- Steps
- Postcondition
- Expected result (ожидаемый результат тест кейса) – данный атрибут отражает ожидаемый результат по каждому шагу.
- Result – сюда заносятся данные о результате пройденного теста (passed/failed и др.)
- Comment – сюда можно вносить свои примечания к тесту (вопросы заказчику, какие-либо наблюдения или детали)
Написание тест кейсов: примеры
Для лучшего понимания, того, как составляются тест кейсы, представляю для скачки специфический тест кейс задания, которое было выполнено во время прохождения учебных курсов.

Скачать тест кейс пример оформления в формате xlsx
Правильно пишем тест-кейсы. Памятка начинающему специалисту по тестированию

Когда смотришь на специалистов по тестированию, которые пишут тест-кейсы, то понимаешь, что многие из них даже не имеют представления как это правильно делается. Я не буду приводить множество примеров, которые показывают вопиющие ошибки, а постараюсь озвучить основные принципы того, как надо писать тест-кейсы.
Для начинающих поясним, что такое тест-кейс озвучив определение из глоссария терминов ISTQB:
Тест-кейс — набор входных значений, предусловий выполнения, ожидаемых результатов и постусловий выполнения, разработанный для определённой цели или тестового условия, таких как выполнения определённого пути программы или же для проверки соответствия определённому требованию.
Определение тест-кейса языком обывателя:
Тест-кейс — это чёткое описание действий, которые необходимо выполнить, для того чтобы проверить работу программы (поля для ввода, кнопки и т.д.). Данное описание содержит: действия, которые надо выполнить до начала проверки — предусловия; действия, которые надо выполнить для проверки — шаги; описание того, что должно произойти, после выполнения действий для проверки — ожидаемый результат.
Надеюсь, теперь многим стало понятно, что такое тест-кейс. Теперь перейдём к правилам написания тест-кейсов, которые вырабатывались не один год и показывают свою эффективность до сих пор.
Обязательные атрибуты для заполнения
- Номер тест-кейса — уникальный идентификатор тест-кейса (такие системы как TestRail, TestLink и подобные автоматически присваивают тест-кейсам уникальные номера). Если у вас тысячи тест-кейсов, то при общении с коллегами, вам будет удобнее сообщить номер тест-кейса ссылаясь на него, а не пытаться словами рассказать, где и как найти определённый тест-кейс.
- Заголовок — краткое, понятное и ёмкое описание сути проверки.
- Предусловия — описание действий, которые необходимо предварительно выполнить или учесть, и которые не имеют прямого отношения к проверке.
- Шаги проверки — описание последовательности действий, которые необходимо выполнить для проверки.
- Ожидаемый результат — проверка, которая устанавливает, что мы ожидаем получить, после выполнения определённых действий в соответствующем шаге.
В зависимости от специфики компании могут присутствовать дополнительные атрибуты для заполнения: приоритет, функциональный блок, программа, ссылка на требование, номер требования и т.д.
Правила написания тест-кейсов
- Заголовок:
- должен быть чётким, кратким, понятным и однозначно характеризующим суть тест-кейса;
- не может содержать выполняемые шаги и ожидаемый результат.
- Предусловие:
- может содержать полную информацию о состоянии системы или объекта, необходимом для начала выполнения шагов тест-кейса;
- может содержать ссылки на информационные источники, которые необходимо изучить перед прохождением тест-кейса (инструкции, описание систем…);
- не может содержать ссылки на тестируемый ресурс, если у информационной системы более одной среды (прод, тест, препрод…), данная информация должна быть вынесена в инструкцию, и ссылка приложена в предусловии;
- не может содержать данные для авторизации, данная информация должна быть вынесена в инструкцию, и ссылка приложена в предусловии;
- не может содержать выполняемые шаги и ожидаемый результат, если нам нужно, чтобы до выполнения шагов проверки у нас была открыта главная страница, то мы в предусловии указываем «открыта главная страница сайта»;
- не может содержать ожидаемый результат.
- Шаги проверки:
- должны быть чёткими, понятными и последовательными;
- следует избегать излишней детализации шагов. Правильно: «ввести в поле число 12».
Неправильно: «нажать на клавиатуре на цифру ‘1’, следующим шагом нажать на клавиатуре на цифру ‘2’»; - должны использоваться безличные глаголы.
Правильно: нажать, ввести, перейти.
Неправильно: нажмите, введите, идите; - не должно быть комментариев и пояснений, если есть необходимость привести мини-инструкцию, то оформляем инструкции в базе-знаний и в предусловии ссылаемся на неё;
- не должно быть жёстко прописанных статических данных (логины, пароли, имена файлов) и примеров, для исключения эффекта пестицида.
- Ожидаемый результат:
- должен быть у каждого шага проверки;
- должно быть кратко и понятно описано состояние системы или объекта, наступающее после выполнения соответствующего шага;
- не должно быть избыточного описания.
- Общие требования к тест-кейсам:
- язык описания тест-кейсов должен быть понятен широкому кругу пользователей, а не узкой группе лиц;
- тест-кейс должен быть максимально независим от других тест-кейсов и не ссылаться на другие тест-кейсы (лучшая практика, когда зависимостей нет вообще);
- тест-кейсы группируются в функциональные блоки по их назначению;
- в тест-кейсах проверяющих работу функционала скриншотов быть не должно, иначе вы будете посвящать сотни часов на изменение всех скриншотов в тысячах тест-кейсах при изменении интерфейса тестируемой программы. Скриншоты могут быть добавлены только в тест-кейсы проверяющие отображение страниц и форм.
На самом деле правила простые, однако их не так-то просто соблюдать. Если же придерживаться данных правил, то тест-кейсы будут легко поддерживаемыми, легко читаемыми, не будут вызывать отторжения и могут быть использованы всеми участниками команды в процессе разработки программного обеспечения.
Примеры
Для наглядности приведу пару примеров. Рассмотрим на примере сайта, на котором вы сейчас находитесь.
Тест-кейс №1. Корректный
| Номер | 1 |
| Заголовок | Отправка сообщения через форму обратной связи на странице “Контакты” |
| Предусловие | Открыта главная страница сайта victorz.ru. Есть доступ к почте администратора сайта victorz.ru |
| Шаг | Ожидаемый результат |
| В верхнем меню сайта нажать на ссылку “Контакты” | Открылась страница “Контакты” |
| Ввести значение в поле “Ваше имя” состоящее из латинских букв, кириллицы | В поле “Ваше имя” отображается введённое имя |
| Ввести корректный email в поле “Ваш e-mail” | В поле “Ваш e-mail” отображается введённый email |
| Ввести в поле “Тема” значение состоящее из латинских букв, кириллицы, спецсимволов и чисел | В поле “Тема” отображается введённый текст |
| Ввести в поле “Сообщение” значение состоящее из латинских букв, кириллицы, спецсимволов и чисел | В поле “Сообщение” отображается введённый текст |
| Ввести в поле капчи требуемое капчей значение | В поле капчи отображается введённое значение |
| Нажать под заполняемой формой на кнопку “Отправить” | Под кнопкой «Отправить» появился текст “Спасибо. Ваше сообщение было отправлено.” Все заполненные поля очищены. |
| Проверить почту администратора сайта | На почту пришло сообщение, отправленное с сайта через форму обратной связи и содержащее в теле сообщения данные введённые на шагах 1-5. |
Тест-кейс №2. Некорректный
В данном тест-кейсе постарался в каждой строке писать неправильно, чтобы было наглядно. И в скобках добавлял наводящие пояснения.
| Номер | 1 |
| Заголовок | Отправить сообщение через форму обратной связи (Указываем, что проверяем или что делаем?) |
| Предусловие | Перейти на главную страницу сайта victorz.ru (Это не предусловие, а описание шага) |
| Шаг | Ожидаемый результат |
| Нажать на ссылку “Контакты” (Где она находится?) | Открылась страница (Какая?) |
| Ввести имя в поле “Ваше имя” (Какие символы вводить?) | (Ничего не указано в ожидаемом результате, что должно произойти?) |
| Ввести email в поле “Ваш e-mail” (корректный или некорректный?) | В поле отображается email (Какой? Введённый? В каком поле отображается?) |
| Ввести в поле значение, состоящее из латинских букв, кириллицы, спецсимволов и чисел (В какое поле?) | В поле “Тема” отображается текст (Какой?) |
| Ввести в поле “Сообщение” текст (Какие символы вводить?) | Видим в поле “Сообщение” введённый текст (Видим или отображается?) |
| Вводим в поле капчи требуемое капчей значение (Помните только безличные глаголы — Ввести). | В поле капчи будет введённое значение (Что будет делать? Танцевать?) |
| Нажать под заполняемой формой на кнопку (На какую?) | Появился текст “Спасибо. Ваше сообщение было отправлено.” (Где появится?) |
| (Последний шаг не заполнен, а это неправильно, так как мы не проверим действительно ли работает отправка писем через форму обратной связи) |
Во второй части видео (с 8-й минуты) разбираю на примерах создание тест-кейсов:
Главное в нашем деле практика. Практикуйтесь в написании тест-кейсов.
Если вы будете вести тест-кейсы в таблице (к примеру в Excel), то можете скачать шаблон тест-кейсов. В файле две вкладки. На одной шаблон единичного тест-кейса, а на второй пример порядка размещения группы тест-кейсов.
