четверг, 22 февраля 2018 г.

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

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

Типичные примеры выбранных приложений:
  • Форум;
  • Интернет-магазин;
  • Сайт авиакомпании;
  • ...

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

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

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

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

Видим статью со словом «корова» в названии

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


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


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

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

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

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

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

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

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

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

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

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

Подготовить статьи за разное время публикаций относительно текущей даты. Скажем, если сейчас 23.01.2018 10:00, делаем статьи:
    1. 21.01.2018 10:00
    2. 22.01.2018 09:59
    3. 22.01.2018 10:00
    4. 22.01.2018 18:00
    5. 23.01.2018 08:00
    6. 23.01.2018 10:00
    7. 23.01.2018 10:05

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

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

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


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

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

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



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


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

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



См также:

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

Комментариев нет:

Отправить комментарий