Принцип KISS в действии

Задача: протестировать функционал «Мну забыло парольку!»

Смотрю тест-кейс:

ForgEt password
ForgEt password анфас.

= = = = = = START = = = = = = =

Precondition: (очевидно копипаст требований, но то норм)

  1. User is not logged.
  2. Log in form is displayed on the page and have following elements:
    • static text above the «Email Address» field;
    • required «Email Address» field (empty);
    • required «Password» field (empty);
    • checkbox «Remember Me»;
    • Login button;
    • Forgot Password? link. (но не норм то, что это просто перечисление того, что тестировщик должен будет увидеть на экране. Оно вроде бы важно, но на деле — мусор, бо к делу не относится.)
  3. Available user account ‘test@gmail.com / 11111111

Steps:

  1. Open ‘Forgot Your Password?‘ form сlicking on the [Forgot Your Password?] link — the Forgot Your Password? dialog box should be displayed.
  2. Fill the Email Address field following data:
    • Email: test@gmail.com
  3. Assure that: the mail with Password — ‘11111111‘ has been delivered to mentioned Email Addres

= = = = = = END = = = = = = =

Думаем: если в одной строке рассказывается про какое-то действие, которое НЕПРЕМЕННО должно сопровождаться указанием «проверить наличие того и сего» (еще раз — ЕСЛИ такое вообще нужно), тогда указание/перечень того, что должно быть проверено, следует указывать сразу под упомянутой строкой.

Как надо/можно делать:

Пример №1. Простое (но не самое адекватное) упрощение текста

Steps To Reproduce

  1. Open storefront.
  2. Click on Login link on the header of the page.
    • My Account login page is opened and loaded.
    • The Returning Customers box is displayed on the page.
  3. Click on Forgot Your Password? link.
  4. ‘Forgot Your Password?’ dialog box will be displayed.

Камменты:

1

The Returning Customers box is displayed on the page. — это вообще что за «Коробка возвращающегося клиента» и необходимость проверять ее наличие? Подразумевается наличие формы логина — какой же это бокс-то?

2

Кейс вообще рассказывает о ситуации «Юзер провтыкал свой пароль к аккаунту в нашем магазине, и вместо того, чтобы залогиниться, как просто и добрый самаритянин, он злобно растеряно негодующе запрашивает у системы запуск алгоритма восстановления пароля«.

В большинстве жизненных случаев в короткой и бурной жизни тестировщика нет смысла исчерпывающе точно указывать, куда и когда надо кликать, чтобы тупо залогиниться… Поэтому принципиально не следует перечислять пошагово страницы и линки, которые надо пройти… да и надо ли их проходить? Не факт, что юзер будет переходить на страницу логина именно через open storefront + Click on Login link on the header of the page. Почему бы нам просто не открывать эту страницу по url?

Путь «open storefront + Click on Login link on the header of the page» можно проверить в отдельном тест-кейсе. И особенно хорошо такой кейс положить в набор для smoke testing. А во всех остальных миллионах тестов, в которых подразумевается «надо залогиниться», к экрану с формой логина можно обращаться СРАЗУ по url, например.

Принцип Keep It Simple, Stupid (KISS) в действии.

группа KISS
Пол Стэнли одобряэ! I was made for testing you, bayba…

Пример №2. Упрощенное (и более адекватное) представление всей ситуации, которую надо создать и проверить

Steps To Reproduce

  1. Open the Returning Customers Login page
  2. Click on Forgot Your Password? link.
  3. Check, that ‘Forgot Your Password?’ dialog box will be displayed.

Камменты:

Так проще, однозначнее, прозрачнее.

И Expected results присутствует в последней строчке, «и всё, и этого достаточно» ©.

Но так тоже туповато… Ведь ситуация «вызвать форму восстановления забытого пароля» — всего лишь шаг в сценарии восстановления пароля. Смысл тестировать отдельно вызов этой формы, а потом отдельно отмену вызова этой формы? Это избыточные, неадекватные проверки.

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

  1. Open the Returning Customers Login page
  2. Open ‘Forgot Your Password?’ form.
  3. дальше что надо делать, исходя из требований? А дальше надо доводить ситуацию до логического финиша, вестимо!

Step ‘Open Login form’ was removed to the hell. Understood the reason?

2 ответа на “Принцип KISS в действии”

  1. Необходимость в напоминании пароля у меня появляется только когда я затупил и система грязно ругнулась в ответ. Тогда и только тогда я начну искать заветный линк — «Напомни мне, братка, как мы раньше то договорились здороваться?» Посему самый первый пункт должен звучать как — намеренно лохануться во время логина. Не?

Добавить комментарий