Тест-кейс проверяет, а не доверяет!

У меня есть два курса для начинающих тестировщиков: интенсив и школа. И если на интенсиве все тестируют один проект, который мы даем, то в школе студенты сами выбирают проект для тестирования и внесения в портфолио.

Типичные примеры выбранных приложений:

  • Форум;
  • Интернет-магазин;
  • Сайт авиакомпании;
На какой функционал можно написать тест-кейсы? Например, на поиск! И вот я получаю примерно такой тест-кейс:
На какой функционал можно написать тест-кейсы? Например, на поиск! И вот я получаю примерно такой тест-кейс:

1. Поиск по названию темы

Шаги

  1. Зайти на форум https://www.example.com/
  2. Ввести в строку поиска слово «корова»

Ожидаемый результат

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

1

Или вот такой тест:

2. Поиск статей за последние сутки

Шаги

  1. Зайти в раздел статей https://www.example.com/
  2. Поставить галочку «отображать только статьи за последние сутки»
Ожидаемый результат

Остались только статьи, созданные за последние сутки

Как вы думаете, можно ли доверять такому тест-кейсу? Проверяет ли он обещанный функционал?

Нет! Не проверяет. Мы просто выполняем какое-то действие и смотрим на результат. И если «ну вроде подошло», считаем, что функционал работает. Но ведь это неправильно! Это так пользователь может сайт проверить, а тестировщик продумывает проверку полностью.

Как понять, что после фильтра «за последние сутки» остались и правда статьи за последние сутки? И что именно значит «за последние сутки»? Откуда начинается отсчет? Минус 24 часа или от полуночи?

Чтобы проверить функционал, нам надо подготовить статьи за разные дату и время публикации, а потом поставить галочку и убедиться, что в фильтр попали только нужные. Выглядеть это будет примерно вот так:

3. Поиск статей за последний сутки

Предварительные шаги

Подготовить статьи за разное время публикаций относительно текущей даты. Скажем, если сейчас 23.01.2018 10:00, делаем статьи:

Снимок экрана 2022-07-30 214526Шаги 

  1. Зайти в раздел статей https://www.example.com/
  2. Поставить галочку «отображать только статьи за последние сутки»

Ожидаемый результат

Остались только статьи 3-6, созданные за последние сутки. 1 и 2 были созданы ранее, в фильтр не попали. Статья 7 создана позднее (нереальный кейс, но мало ли), также не попала в фильтр.

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

Яблоко и унитаз

Предварительные шаги: создать товар «яблоко» с ярлыком «фрукты» и «унитаз» с ярлыком «ванная_комната».

2

Шаги: … открыть список всех товаров с ярлыком «фрукты».
ОР: в список попало яблоко, но не попал унитаз

3

Вот это — проверка того, что ярлыки действительно работают. А не просто «Открыть все товары с ярлыком, там лежат А, Б, В». Это простой пользователь просто открывает «что дают», а тестировщик готовит специальные данные, чтобы проверить, что функционал реально работает.

В тестах 1 и 2 проверки никакой нет. Просто открыть страничку и поверить на слово, что оно работает как должно. Это так обычный пользователь смотрит, но наша задача → протестировать функционал, а не верить ему на слово.

4
См также:
Что такое тест-кейс и как его писать
PS — это выдержка из моей книги для начинающих тестировщиков, написана в помощь студентам моей школы для тестировщиков

Автор статьи: Ольга Назина
ООО «Тестбейз», ИНН 9727006330, ОГРН 1227700497309
Она же — ИП Назина Ольга Евгеньевна, ИНН 772791965180, ОГРНИП 315774600011282