Пиши, сокращай: как создавать сильные чек-листы

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Всем привет! Меня зовут Елена Поплоухина. Я — один из авторов Youtube‑канала по тестированию «Багаж тестировщика». На канале выходило несколько выпусков с примерами проектирования чек-листов. В этой статье я хочу дать несколько практических рекомендаций для быстрого и удобного создания чек-листов. А в конце статьи вы найдете ссылку на документ с шаблоном и примером оформления чек-листа.

Введение

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

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

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

Цель данной статьи - познакомить вас с принципом формирования структуры чек-листа и основными типами проверок в чек-листе.

Пример

Представим, что мы тестируем образовательную онлайн-платформу. На странице курса есть блок со списком отзывов. Рассмотрим описание проверок на примере этой функциональности.

Макет блока отзывов на образовательный курс
Макет блока отзывов на образовательный курс

Примечание. В задачи данной статьи не входит продемонстрировать исчерпывающий тест-дизайн по требованиям.

Где создавать чек-лист

Примером тест-менеджмент системы с поддержкой чек-листов является “Ситечко”. Также для создания чек-листов можно использовать любой табличный редактор, например, Google.Таблицы. Им и воспользуемся.

Формируем структуру чек-листа

Проектирование чек-листа начинается с оформления его структуры - скелета.

Сначала заполняется шапка с названием и описанием чек-листа. Здесь же можно дать ссылку на требования (документ, задачу в системе управления проектами, макет и т.д.) и указать текущий статус готовности. Набор статусов может быть следующий - В процессе создания, Готов, На согласовании, Согласован.

Название

Список отзывов

Описание

Проверки для списка отзывов на главной странице курса

Требования

https://www.figma.com/community/file/111111111111111111

Статус

В процессе создания

Ниже идет сам чек-лист. Он представляет из себя набор проверок. Для каждой проверки описываются:

  • Приоритет -  с градацией из трех уровней: высокий, средний, низкий.

  • Проверка - описание самой проверки.

  • Ожидаемый результат - поле опционально для заполнения.

№

Приоритет

Проверка

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

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

  • Список отзывов

  • Отображение одного отзыва в списке

  • Сортировка отзывов

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

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

№

Приоритет

Проверка

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

Отображение отзыва в списке

Проверки для отображения отзывов с разными свойствами.

Структура готова.

Разберем общие правила описания проверок. И посмотрим их применение на простом примере.

Что такое проверка?

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

А что же такое проверка в чек-листе? Предлагаю следующее определение термина:

Проверка - это описание тест-кейса или его отдельного шага с низкой детализацией.

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

  • не описываем предусловия, если они хорошо известны;

  • можем не указывать тестовые данные, чтобы разнообразить выполнение проверок; 

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

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

Формулировка проверки должна быть краткой. Если после первого прочтения вы не поняли ее смысл, желательно переформулировать проверку или попробовать разбить одну проверку на несколько.

Примеры не связанных друг с другом формулировок проверок:

  • Добавить товар в корзину.

  • Удаление события из календаря.

  • Построить маршрут на карте при медленном интернет-соединении.

  • Пользователю установлен 2 уровень привилегий. Отображение условий кэшбэка.

  • Пустые обязательные поля при редактировании профиля.

  • Начать ввод номера с цифры 8.

  • и т.д.

Приоритеты проверок

При установке приоритета проверкам можно ориентироваться на следующие правила. 

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

  • Средний.
    Подавляющая часть проверок. Проверяется важная часть логики работы приложения.

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

Формулировки проверок

Можно выделить 3 простых способа описания проверок при помощи вопросов:

  • Что проверяем?

  • Какое действие проверяем?

  • С какими тестовыми данными?

Разберем эти типы формулировок на примере создания чек-листа для следующих требований из примера:

Требования к отображению отзыва в списке

Для каждого отзыва отображается информация:
- Аватар
- Полное имя пользователя (имя и фамилия)
- Оценка курса от пользователя
- Дата отзыва в формате «DD/MM/YYYY»
- Текст отзыва

Если текст отзыва содержит более 300 символов, он обрезается кнопкой «Читать далее». При нажатии на кнопку отображается полный текст отзыва и кнопка «Свернуть отзыв».

При проектировании проверок выполняем 3 основных шага:

  1. Выбираем проверяемую сущность/блок. Она должна быть небольшой и атомарной. Например, не весь блок отзывов, а только список отзывов. Или только сортировка. Или только отдельный отзыв. Или какое-то поле отзыва.

  2. Придумываем действие пользователя над тестируемым объектом.

  3. Придумываем тестовые данные для проверяемого объекта.

Проверка вида - Что проверяем?

Формулировка проверки отвечает на вопрос “Что проверяем?”

Из названия группы проверок и описанных предусловий обычно понятен контекст. Несколько не связанных друг с другом примеров:

  • Создание нового бронирования путевки.

  • Фильтрация списка товаров по категории.

  • Поиск товара по наименованию.

  • Просмотр новости.

  • Воспроизведение трека в плейлисте.

  • и т.д.

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

Описание такой проверки отвечает на вопрос “Что проверяем?”. Проверку можно коротко сформулировать как “Отображение отзыва в списке”.

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

Приоритет

Проверка

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

Высокий

Отображение отзыва в списке

Для отзыва отображается:
- аватар пользователя
- имя и фамилия
- оценка курса
- дата отзыва
- текст отзыва

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

Проверка вида - Какое действие проверяем?

Формулировка проверки отвечает на вопрос “Какое действие проверяем?”

Фактически, это та же самая формулировка “Что проверяем”, описанная при помощи глагола. Выбирайте, какой из способов удобнее.

Несколько не связанных друг с другом примеров:

  • Создать новое бронирование путевки.

  • Отфильтровать список товаров по категории.

  • Найти товар по наименованию.

  • Посмотреть новость из списка.

  • Воспроизвести трек в плейлисте.

  • и т.д.

Рассмотрим пример тестирования отображения длинного отзыва в списке. Требования следующие:

Требования к отображению текста отзыва

Если текст отзыва содержит более 300 символов, он обрезается кнопкой “Читать далее”. При нажатии на кнопку отображается полный текст отзыва и кнопка “Свернуть отзыв”

Проверки для сворачивания/разворачивания отзыва удобно описать в виде глагола:

Приоритет

Проверка

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

Средний

Развернуть отзыв при помощи кнопки "Читать далее".

Отображается полный текст отзыва и кнопка "Свернуть".

Средний

Свернуть отзыв при помощи кнопки "Свернуть"

Отображается сокращенный текст отзыва - первые 300 символов - и кнопка "Читать далее".

Проверка вида - Описание тестовых данных/предусловий

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

Вернемся к примеру.

Требования к отображению текста отзыва

Если текст отзыва содержит более 300 символов, он обрезается кнопкой “Читать далее”. При нажатии на кнопку отображается полный текст отзыва и кнопка “Свернуть отзыв”

Проверки для отображения кнопки "Читать далее" в зависимости от длины отзыва можно описать следующим образом:

Приоритет

Проверка

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

Средний

Длина отзыва 299 символов на русском языке

Кнопка "Читать далее" не отображается

Средний

Длина отзыва 300 символов на русском языке

Кнопка "Читать далее" не отображается

Средний

Длина отзыва 301 символ на русском языке

Отображается сокращенный текст отзыва - первые 300 символов - и кнопка "Читать далее"

Ниже приведены примеры описания проверок для каждого из полей отзыва - аватара, имени и фамилии, текста, даты публикации.

Приоритет

Проверка

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

Низкий

У пользователя не установлен аватар

В отзыве отображается изображение-заглушка вместо аватара

Низкий

У пользователя установлено только имя, без фамилии

Отображается только имя

Низкий

У отзыва нет текста, только оценка

Блок текста не отображается

Средний

Дата публикации отзыва -
25 декабря 2022 года.

Формат вывода даты dd/mm/yyyy.
Дата выводится в виде - 25/12/2022

Низкий

Дата публикации отзыва -
5 февраля 2023 года.

Формат вывода даты dd/mm/yyyy.
Дата выводится в виде - 05/02/2023

Более сложные формулировки проверок

Некоторые ситуации нельзя описать при помощи трех простых формулировок. Поэтому можно использовать более сложные, которые являются комбинацией вопросов:

  • Что проверяем?

  • Какое действие проверяем?

  • С какими тестовыми данными?

Рассмотрим несколько примеров.

Часть требований к отображению списка отзывов

Отзывы загружаются частями по 10 элементов. Для подгрузки отзывов служит кнопка “More reviews”.

Проверки, в рамках которых тестируется это требования, можно сформулировать следующим образом.

Что проверяем + Описание тестовых данных/предусловий.

Приоритет

Проверка

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

Высокий

Отображение отзывов о курсе, когда для курса добавлено 11 отзывов

В списке отображается 10 отзывов и кнопка для загрузки следующей части отзывов.

Средний

Для курса добавлено 9 отзывов.
Отображение кнопки подгрузки отзывов.

Кнопка подгрузки отзывов не отображается.

Описание тестовых данных/предусловий + Какое действие проверяем?

Приоритет

Проверка

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

Средний

Для курса добавлено 20 отзывов. Нажать на кнопку подгрузки отзывов.

Внизу отображается еще 10 отзывов.
Кнопка подгрузки отзывов не отображается.

Средний

Для курса оставлено 10 тысяч отзывов.
Открыть страницу курса, подгрузить отзывы несколько раз подряд.

Каждая операция выполняется не более 3 секунд.
На время выполнения операции отображается лоадер.

При формулировках в первую очередь обращайте внимание на простоту и легкость понимания. 

Описание ожидаемого результата проверок

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

Подробное описание.
В примере можно перечислить поля из требований. Тогда при выполнении чек-листа не нужно будет лишний раз заглядывать в макет или требования. Можно быстрее пошарить знания между членами команды тестирования, поручить выполнение чек-листа НЕ его автору. Но времени на описание чек-листа тратится больше.

Приоритет

Проверка

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

Высокий

Отображение отзыва в списке

Для отзыва отображается
- аватар пользователя
- имя и фамилия
- оценка курса
- дата отзыва
- текст отзыва

Указание, где искать ожидаемый результат.
Например, указать короткую формулировку “В соответствии с макетом”. 

Приоритет

Проверка

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

Высокий

Отображение отзыва в списке

см. макет <ссылка>

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

Приоритет

Проверка

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

Высокий

Отображение отзыва в списке

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

Приоритет

Проверка

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

Средний

Отображение оценок отзыва от 1 до 5 в виде звездочек

Стоит ли в проверках просто перечислять проверяемые свойства объекта?

Можно встретить следующий подход к описанию чек-листа, когда весь чек-лист состоит только из описания проверяемых полей в виде:

Приоритет

Проверка

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

Отображение отзыва в списке

Высокий

Проверить аватар пользователя

Высокий

Проверить имя и фамилию

Высокий

Проверить оценку курса

Высокий

Проверить дату отзыва

Высокий

Проверить текст отзыва

Я не сторонница настолько общего описания. Как вы видите из примера, рассмотренного выше, тестирование каждого из полей включает несколько проверок. При таком верхнеуровневом описании непонятно, что в итоге будет проверено. Например, для аватара - будет проверено только отображение установленного аватара? Будет ли проверена ситуация, когда аватар не выбран пользователем? Также необязательно в каждой проверке писать само слово “Проверить” - оно избыточно.

Когда такой подход все-таки может применяться?

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

Приоритет

Проверка

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

Высокий

Отображение отзыва в списке

Для отзыва отображается
- аватар пользователя
- имя и фамилия
- оценка курса
- дата отзыва
- текст отзыва

Получаем группу проверок

Приоритет

Проверка

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

Отображение отзыва в списке

Предусловие: для отзыва заполнены все поля

Высокий

Аватар пользователя

Высокий

Имя и фамилия

Высокий

Оценка курса

Высокий

Дата отзыва

Высокий

Текст отзыва

А после этой группы будет идти другая группа, со следующими проверками полей.

Приоритет

Проверка

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

Отображение отдельных полей отзыва 

Низкий

У пользователя не установлен аватар

В отзыве отображается изображение-заглушка вместо аватара

....

.....

Еще один пример. Вместо проверки:

Приоритет

Проверка

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

Высокий

Отображение отзывов о курсе, когда для курса добавлено 11 отзывов

Рядом с заголовком выводится количество отзывов - 11
В списке отображается 10 отзывов и кнопка для загрузки следующей части отзывов.
Отзывы отсортированы по дате создания по убыванию.

Получаем группу проверок

Приоритет

Проверка

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

Отображение списка отзывов о курсе на странице просмотра курса

Предусловие: для курса добавлено 11 отзывов

Высокий

Количество отзывов рядом с заголовком

11

Высокий

Количество отзывов в списке

10 отзывов

Высокий

Кнопка для загрузки отзывов

Отображается

Высокий

Сортировка по умолчанию

По дате создания по убыванию.

Заключение

Мы рассмотрели основные способы формулирования проверок в чек-листе. Тренируйтесь и находите наиболее подходящий для вас подход. Скачать пример шаблона чек-листа в Google.Таблицах и пример оформления чек-листа по этому шаблону можно по ссылке.

Источник: https://habr.com/ru/articles/728708/


Интересные статьи

Интересные статьи

Привет, это Дима, бэкенд-разработчик из Hawking Bros. Сегодня я расскажу о решении задачи, с которой мы столкнулись при реализации нестандартной логики инфоблоков на проекте с битриксовой многосайтово...
Всем привет! Не так давно на работе в рамках тестирования нового бизнес-процесса мне понадобилась возможность авторизации под разными пользователями. Переход в соответствующий р...
Автор статьи, перевод которой мы публикуем, предлагает прекратить писать собственный код для аутентификации пользователей. Он полагает, что пришло время внедрять более безопасные реше...
Людям с таким психологическим портретом, как у меня, бесполезно заниматься тайм-менеджментом. Интересно очень многое, проектов одновременно несколько, мышление стратегическое, взаимодействие со...
Сегодня мы поговорим о перспективах становления Битрикс-разработчика и об этапах этого пути. Статья не претендует на абсолютную истину, но даёт жизненные ориентиры.