Тест-кейс: что это и как его написать

Тест-кейс — это описанный алгоритм тестирования фичи или системы, список шагов и сопутствующих входных данных, которые должны привести к определённому результату. Обсудили с Даниилом Скляровым, инженером по тестированию в Яндексе, как составлять тест-кейсы и когда на них не стоит тратить время

Какая тестовая документация бывает

Тестировщик пишет специальную документацию, в которой подробно отражает, что и как должно работать. Это и есть тест-кейсы. Их пишут в процессе разработки, до старта тестирования, иногда во время и даже после тестов.

Есть два основных вида тестовой документации: тест-кейсы и чек-листы. Одностраничному веб-сайту или команде, в которой один или два тестировщика, хватит и чек-листов. Большим командам лучше использовать тест-кейсы, чтобы информация не терялась.

Чек-лист можно сравнить со списком покупок: это список того, что необходимо проверить. Если представить тестирование некоторых пользовательских сценариев в Кинопоиске в виде чек-листа, получится следующее:

  1. Оформление подписки.

  2. Просмотр витрины фильмов.

  3. Запуск продолженного просмотра.

А тест-кейс — детализированный план того, как проверить определённое требование к программе. Например, когда проверяем оформление подписки, шаги тест-кейса могут выглядеть так:

  1. Авторизоваться в приложении Кинопоиска как пользователь без подписки.

  2. Нажать на кнопку «Оформить подписку».

  3. Ввести данные карты и код из смс.

  4. Подтвердить оформление подписки.

Один тест-кейс проверяет одну конкретную функцию или пользовательский сценарий. Тест-кейс состоит из информации о том, что должно быть проверено, пошаговой инструкции, как это проверить, а также данных и условий, при которых нужно проводить эту проверку.

Тест-кейсы бывают:

  • Позитивные — показывают, что при корректных данных и ожидаемых сценариях система выполняет то, что должна. Например, если поле пароля позволяет вписать цифры и символы, позитивный тест-кейс — проверка на ввод пароля, состоящего из цифр и символов.

  • Негативные — показывают, что при некорректных входных данных система отреагирует правильно. Например, выведет окно с подсказкой или предупреждением.

Зачем описывать тесты

Благодаря тест-кейсам легче обнаружить ошибки, которые могли возникнуть при разработке, или дефекты, которые пропустили на предыдущих итерациях тестирования. Также важно поддерживать документацию в актуальном виде и аккуратно документировать все фичи, потому что:

  • Проверяемую функциональность будут тестировать ещё много раз. И это могут делать другие люди. Новые сотрудники должны легко разбираться в проекте и не тратить время на проверку документов.

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

  • Это облегчает оценку тестового покрытия. Позволяет точнее определить время, требуемое для тестирования.

Pozvolyaet

Из чего состоит тест-кейс

  • ID — уникальное сочетание букв и цифр. Инженеры по тестированию используют ID, чтобы группировать тесты в наборы. В современных системах управления тестированием это происходит автоматически.

  • Заголовок — наименование тест-кейса. Описывает то, что должно быть проверено.

  • Предусловия, или входные данные, — действия, которые надо выполнить до начала проверки, и/или инструменты, которые надо использовать.

  • Шаги — описание последовательных действий, которые необходимо выполнить для проведения теста.

  • Ожидаемый результат — описание того, как система должна реагировать на шаги теста.

Тест-кейсы и чек-лист составляются до тестирования, это план того, как оно будет проходить. Поэтому в тест-кейсе может быть только ожидаемое значение, фактическое ещё неизвестно. Если в процессе тестирования обнаруживается несоответствие, его заносят в баг-репорт.

Когда тестовая документация не нужна

  • Когда на проекте работают только опытные тестировщики, которые смогут качественно протестировать и по чек-листам.

  • Когда проект небольшой, например одностраничный лендинг. Его по чек-листу сможет протестировать даже новичок.

  • Если сроки горят и нет времени на составление подробного тест-кейса. Писать хорошие тест-кейсы — это долго, зато потом они значительно облегчают процесс тестирования.

Вот несколько советов, следуя которым вы повысите качество своих тест-кейсов:
— Сразу после написания кейса дайте пройти его незнакомому с программой человеку. Фидбэка не бывает много — и чем его больше, тем быстрее можно научиться писать кейсы качественно.
— При написании тест-кейсов нужно помнить о конечном пользователе и об интересах бизнеса. Проходите собственные тест-кейсы с точки зрения их практической пользы для пользователя.
— Внедряйте методы тест-дизайна. Например, проводите анализ граничных значений.
Даниил Скляров, инженер по тестированию в Яндексе

Краткий пересказ от YandexGPT