среда, 25 марта 2015 г.

Какой результат писать в чек-листе

Когда начинающие тестировщики впервые сталкиваются с оформлением чек-листа, они впадают в ступор — какой должен быть результат?


Верный гугл говорит — “О, зацени, как все просто!”:
  • Значение поля принимается.
  • Сообщение о некорректных данных.

Давайте попробуем применить на практике! Напишем чек-лист для регистрации на сайте https://dadata.ru/.
Рис 1.jpg


1. Абстрактный результат — плохо!


Обратите внимание на третий столбик. Хорошо ли, что там повторяется текст?

Чек-лист для формы регистрации — 1

Описание
Пример
Результат
Все поля заполнены правильно
Имя — Ольга
Пароль — 1
Регистрация прошла успешно, на почту отправлено письмо-приветствие.
Проверка поля “Имя”


Свое имя
Ольга
Регистрация прошла успешно, на почту отправлено письмо-приветствие.
Короткое имя
Ян
Регистрация прошла успешно, на почту отправлено письмо-приветствие.
Длинное имя (составное)
Розалинд Аруша Аркадина Алталун Флоренс Луна
Регистрация прошла успешно, на почту отправлено письмо-приветствие.
...
...
...
Проверка поля “Email”


Корректный email (популярный домен)
olga@mail.ru
Регистрация прошла успешно, на почту отправлено письмо-приветствие.
Точка внутри email
Регистрация прошла успешно, на почту отправлено письмо-приветствие
Кириллический email
олечка@мусики.рф
Регистрация прошла успешно, на почту отправлено письмо-приветствие
Пустая почта

Ошибка
Одно слово вместо домена
olga@fdgfdg
Ошибка
...




Повторение — мать учения.
А копипаста — зло!

Это знает каждый тестировщик. Будем хитрее — вынесем одинаковый текст “за скобку”.

Чек-лист для формы регистрации — 2

Если результат “ОК” → Регистрация прошла успешно, на почту отправлено письмо-приветствие.

Описание
Пример
Результат
Все поля заполнены правильно
Имя — Ольга
Пароль — 1
ОК
Проверка поля “Имя”


Свое имя
Ольга
ОК
Короткое имя
Ева
ОК
Длинное имя (составное)
Розалинд Аруша Аркадина Алталун Флоренс Луна
ОК
...
...
...
Проверка поля “Email”


Корректный email (популярный домен)
olga@mail.ru
ОК
Точка внутри email
ОК
Кириллический email
олечка@мусики.рф
ОК
Пустая почта

Ошибка
Одно слово вместо домена
olga@fdgfdg
Ошибка
...




Какие мы молодцы! И чек-лист написали, и «текст ради текста» выкинули, круто же! Или нет?

Можно ли понять из данного чек-листа, зачем нужны были все эти проверки? Давайте посмотрим, что можно писать вместо абстрактного «ок».


2. Конкретный результат



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

Мы же не просто так 20 кейсов проверяем, чем-то же они отличаются. Описывайте эту специфику вместо банального "ок".

А результата «не ок» вообще не бывает! Разные ошибки обрабатываются системой по-разному. И это тоже надо отобразить в чек-листе. Иначе как проверяющий поймет, нормальный текст ошибки или не очень? Не всегда очевидно, что там должно быть…

Давайте попробуем конкретизировать проверки.

Чек-лист для формы регистрации — 3

Описание
Пример
Результат
Все поля заполнены правильно
Имя — Ольга
Пароль — 1
Регистрация прошла успешно, на почту отправлено письмо-приветствие
Проверка поля “Имя”


Свое имя
Ольга
Успешная регистрация
Короткое имя
Ян
Ограничений на минимальное имя нет
Длинное имя (составное)
Розалинд Аруша Аркадина Алталун Флоренс Луна
В личном кабинете имя отображется нормально, влезает в отведенное под него место
...
...
...
Проверка поля “Email”


Корректный email (популярный домен)
olga@mail.ru
Успешная регистрация
Точка внутри email
Успешная регистрация
Кириллический email
олечка@мусики.рф
На кириллический email ушло письмо
Пустая почта

Ошибка “Введите email”
Одно слово вместо домена
olga@fdgfdg
Ошибка “Введите адрес в формате mail@site.com”
...



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

Чек-лист для формы регистрации — 4

Описание
Пример
Результат
Корректный email (популярный домен)
olga@mail.ru
Регистрация прошла успешно, на почту отправлено письмо-приветствие
Корректный email
(корпоративная сеть)
olga@company.ru
Точка внутри email
Кириллический email
олечка@мусики.рф
На кириллический email ушло письмо
Пустая почта

Ошибка “Введите email”
Одно слово вместо домена
olgak@fdgfdg
Ошибка “Введите адрес в формате mail@site.com”


Давайте посмотрим на другом примере — подсказки по ФИО.
Вводим данные, система подсказывает.

Рис 2.jpg

Выбираем подсказку — заполняются гранулярные поля.


Рис 3.jpg

Как будет выглядеть чек-лист с абстрактным результатом?


Чек-лист для подсказок — 1

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


ФИО
Киселева Ольга Евгеньевна
Данные разнесены по правильным полям:
  • Фамилия в поле «Фамилия».
  • Имя в поле «Имя».
  • Отчество в поле «Отчество».
  • Пол определен верно.

Смотрится хорошо и правильно… Но что значит “выпадает список подсказок”? Я ввожу букву “О”, а мне выдается список подсказок с первой буквы алфавита — это ок? Нет, не ок, хотя результату соответствует.


Что такое “данные разнесены по правильным полям”? Если я ввела "Киселева Ольга" и Дадата запихала эту строку в отчество, выставив мужской пол — это ок? Нет, не ок. А что тогда ок?

Ответ кажется очевидным, можно отмахаться — тренер/начальник придирается. Но очевиден результат далеко не всегда. Представьте себе, что вы — алгоритм, который определяет, где фамилия, где имя, где отчество. Распределите эти данные:

Константин Семенович Маркович
Саша Савченко
Кенгатаран Урутирарубини
Курувитаге Манори Исанка
Бжадуг Маруан Талал
Гохил Харпалсинх Полубха
Улига Тумэнжаргал
Абдул Вахаб (это все фамилия)
Аслан оглы Назила
Казы Кызы Гулянда
Пан Полина Сон-Деровна
Тен Вова Алексейвич
Кан Рая Николаевна
Нгуен Ту Ань
Нгуен Нгок Лонг
Кожокару Ион Георге
Фан Се Рюн

Давайте добавим в чек-лист конкретики:

Описание
Пример
Результат
С какой буквы начинаются подсказки
О
Выпадает список имен и фамилий, начинающихся на букву “О”
Женское имя, распространенное
Ольга
В списке подсказок “Ольга” есть. При выборе имени заполняются поля:
  • Имя — Ольга
  • пол — женский
...


ФИО
Киселева Ольга Евгеньевна
В списке подсказок все компоненты есть. При выборе заполняются поля:
  • Фамилия — Киселева
  • Имя — Ольга
  • Отчество — Евгеньевна
  • пол — женский


Выполнить данный чек-лист сможет любой тестировщик — от начинающего до опытного, от знающего каждый кусочек продукта до того, кто впервые Дадату видит.

3. Пустой результат


Если результат писать лень и очень хочется скатиться в абстрактное “ок” — вообще его не пишите. Конкретика нужна не всегда.

Отличный пример чек-листа без результата — для загрузки файлов в Дадату. Почитайте его, нужны ли тут пояснения, примеры, однотипный результат? Нет, не нужны (smile)

Итого — когда и какие результаты использовать


Абстрактный — забудьте как страшный сон, особенно «не ок».
Конкретный — когда непонятно, что именно означает «ок» (для каждого пункта результат разный).
Пустой — когда результат превращается в унылую копипасту.


PS — статья написана для моих студентов и добавлена на портал Testbase в навык описания чек-листов, чтобы не потерялась!

8 комментариев:

  1. Большое спасибо за статью и примеры! Наверно еще пару раз перечитаю чтобы все уложилось.

    ОтветитьУдалить
    Ответы
    1. Не за что! Скоро еще добавлю статью в целом про тест-кейсы)))

      Удалить
  2. Выскажу немного своего ИМХО.
    Мне кажется, что после прочтения вашей стать у начинающих инженеров возникнет мнение, что в чек-листах нужно указывать конкретные тестовые данные. Хотя, на мой взгляд, это концептуально не верно. Конкретика - это в тест-кейсы.
    Чек-лист же предполагает набор проверок(что потыкать, если угодно) абстрагированно от конкретных тестовых значений.
    Поправьте меня, если я не прав, пожалуйста.

    ОтветитьУдалить
    Ответы
    1. Чек-лист может быть и без результата, просто список «что потыкать». Если результат есть, он должен быть про проверку. Если у вас вылезает ошибка — надо прописать, какая именно. И хотя вызвать ее можно не только данными из колонки "пример", сам текст меняться не должен.

      Писать конкретику нужно, если она неочевидная. Как в случае с подсказками. «Назина Ольга» — тут все понятно, но имена и фамилии бывают очень разными! Поэтому, если в чек-листе есть пример, его можно и в результате упомянуть. Не вижу смысла вместо чек-листа писать тест-кейс «потому что конретика только там», зачем превращать мало в много?

      Ну и часто бывает смесь чек-листа и тест-кейсов. То есть чуть подробнее чек-листа, но не тест-кейс

      Удалить
  3. Ольга, спасибо большое за статью - читать одно удовольствие. У меня тут вопрос назрел - когда целесообразнее использовать тест кейс, а когда чек лист?) Может быть у вас пара примеров найдется?)

    ОтветитьУдалить
    Ответы
    1. Это будет отдельная статья из книги) Но в целом — тест-кейсы нужны на сложный или жизненно важный функционал, где нельзя что-то забыть или ошибиться. Или когда в команде много новичков постоянно, чтобы им отдавать. В остальных случаях лучше использовать чек-листы

      Удалить
  4. Ольга, мне всё же не очень понятно про конкретный результат в чек-листе. Мы накидываем список проверок и пишем, что ОЖИДАЕМ получить? Или каждую проверку производим и записываем ФАКТИЧЕСКИЙ результат в колонку с результатом? По вашему примеру, похоже, что конкретный результат - это фактический, а не предполагаемый/ожидаемый.

    ОтветитьУдалить
    Ответы
    1. Мы пишем ожидаемый результат, потому что иначе у нас будет чек-лист "мы ввели нормальные данные, а ОР — страшная ошибка во весь экран».

      Удалить