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

Автор: | 21.03.2017

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

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

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?

Принцип KISS в действии: 2 комментария

  1. Yaroslav Pernerovsky

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

  2. Алексей Лупан

    Так тоже можно.
    А можно и электрошок, чтобы реально забыть пароль ))

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.