четверг, 11 июня 2015 г.

The FedEx Tour

Входит в «Туры по бизнес-району», Tours of the Business District

Вольный перевод статьи Виттакера из книги Exploratory Software testing. Туры помогают искать баги, взглянув на систему по-новому. Тестировщик выбирает тур и следует его цели, не отвлекаясь ни на что другое. Словно турист в незнакомом городе, составил план и пошел!

FedEx — символ доставок во всем мире. Находясь в любой точке планеты, можно отправить посылку родным в Подмосковье. И нам не важно, через сколько временных складов она пройдет. Мы уверены, что родные получат груз в целости и сохранности.

fedex-express-vase-small-31944.jpg
Данные проходят сквозь ПО как посылки FedEx из точки А в точку Б

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

Данные начинают свою жизнь как inputs (входные данные), сохраняются во внутренние переменные, изменяются и используются в вычислениях. Потом большинство данных доставляются как outputs (выходные данные) некоторому пользователю или части приложения. В FedEx-туре мы смотрим на эти данные.

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

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

Если он используется как биллинг-адрес, проверьте функцию биллинга.

Если он используется как адрес доставки, используйте функцию доставки.

Если его можно обновить — обновите.  

Если можно вывести на печать — выведите.

Если он очищается или как-то обрабатывается — обработайте.

Попробуйте найти все функции, которые имеют отношение к входным данным. Как FedEx управляет своими посылками, так и вы включаетесь в каждый этап жизни данных.

Цель тура: проследить за путем входных данных (inputs). Найти и проверить все функции, которые их используют: сохраняют, меняют, выводят (outputs).

Самые очевидные входные данные — данные при регистрации. Зарегистрируемся в Дадате — https://dadata.ru/#registration_popup

1.jpg
Форма регистрации в Дадате. Пока что все спокойно

После регистрации видим первый вывод данных, ага!

2.jpg
Интересненько: введенный email отображается в маленьком окошке-приветствии

Значит, уже можно поэкспериментировать. Что мы видим? Всплывающее окно, не сильно широкое по размерам. А что, если зарегистрировать длинную почту? Вобьем максимально возможное количество символов:

3.jpg
Зажать и держать — так достигаем произвольной границы на длину поля

Регистрируемся и-и-и-и… Мва-ха-ха, сломали! Почта не влезла в экран, появился какой-то стремный скролл-бар

2.PNG
Эй, это что?

Если прокрутить его, увидим еще больший перекос стилей

3.PNG
Эк тебя перекосило то: кнопку «закрыть» усосало во тьму

Круто, круто, не успели тур перевести, уже баг верстки нашли! Бегом оформлять? Как бы не так :-)

Попробуем воспроизвести на другом компьютере, где диагональ 21 дюйм, а не жалкие 13. И воспроизводить будем «по-правильному». Генерируем через perlclip (инструмент для генерации строки любой длины и наполнения) строку, которую удобно будет считать — «counterstring 100000».

Пишем в поле «email» при регистрации «@mail.ru», а перед ним вставляем сгенеренную строку, получаем 67 символов.

11.jpg
Воспроизводим: снова генерим максимальный email

Блин, оно влезло!

12.jpg
На разрешении 1920х1080 не воспроизводится!

Итого: на разрешении 1920х1080 — не воспроизводится.
Воспроизводится на 1600х900 — это дефолтное разрешение на lenovo yoga, на котором очень часто я нахожу такие косяки.

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

Заметки параноика

То, что в Дадате длинный текст влез в небольшое поле, не значит, что таких проблем в принципе не существует. Если видите небольшое окно с выводом переменной → проверьте, влезет ли туда максимальное значение по длине.

slon2u.jpg
Тестировщик, бди! Видишь мелкое окно — данные впихни!

Где еще есть данные регистрации в Дадате


Мы идем дальше. Раз Дадата просит подтвердить эл. адрес → она присылает на почту письмо. А вдруг там упоминается мое имя? Пойдем проверим:

4.jpg
В письме никаких имен, оно шаблонное, FedEx-багов тут не будет

Хорошо. Где еще может быть введенная при регистрации информация? В личном кабинете. Откроем его:

3.PNG
Открываем личный кабинет — ссылка с количеством денег на балансе

В личном кабинете отображаются имя и email. Проверяем их корректность:
5.jpg
Отображаются введенные при регистрации данные. Все правильно

Их можно изменить? Меняем и сохраняем!

6.jpg
Меняем персональные данные, а вдруг не сохранится?

Как проверить, что сохранилось? Выйти из системы и снова зайти. Ага, сохраняется.

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

Заметки параноика

Данные в личном кабинете могут не сохраняться.
При изменении email письма могут уходить по старому адресу или кануть в небытие.
Email может измениться, но в письме придет старое имя.

«Доверяй, но проверяй» — мантра тестировщика :)

Уф, с регистрацией все. Какие еще данные проверить? В Дадате тур заканчивается на регистрации, потому что результаты обработок мы никак не храним. Ура, свобода попугаям! :-)

В FedEx туре мы обращаем внимание на все выводы данных, но не углябляемся в тестирование конкретных функций. Изменяя данные в личном кабинете, мы смотрим только на то, что они сохранились. Хочется потестировать ввод различных вариаций email, изменение данных в разных вкладках браузера. Но нет. Не отвлекайтесь от цели тура. Пришла в голову интересная идея «на потестить»? Записали и продолжили тур, вернитесь к ней позже.

>> Тут будет ссылка на следующий тур

Статья написана в помощь студентам моего курса по тестированию.

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

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