среда, 3 августа 2016 г.

Тур домоседа. The Couch Potato Tour

Входит в «Туры по отельным районам», Tours Through the Hotel District

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

homerizlazyazz_couch_potato.gif


В группе всегда найдется один человек, не участвующий в экскурсии. Он стоит позади толпы. Ему скучно, у него нет энергии и сил. Он думает «Зачем я вообще платил за поездку?! Посидел бы дома, попил пивка...» Гиду приходится выпрыгивать из штанов, чтобы заинтересовать скучающего домоседа.

Домосед заставляет гида работать интенсивнее. А как оно в ПО? Точно так же. Часто неактивность заставляет приложение работать усерднее, потому что оно выполняет ветку “ELSE” условия в IF-THEN-ELSE цикле. А что делать, если пользователь заполнил поля и ушел в астрал? А если не заполнил ничего, какая будет “дефолтная” логика?

Этот тур означает делать так мало работы, как только возможно:
— соглашаться со всеми дефолтными значениями;
— оставлять поля пустыми;
— заполнять в форме минимум значений;
— никогда не кликать на “подробнее”;
— переключать вкладки без ввода данных;
— и так далее.

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


Цель тура

Лениться! Делать так мало работы, как только возможно:
— соглашаться со всеми дефолтными значениями;
— оставлять поля пустыми;
— заполнять в форме минимум значений;
— никогда не кликать на “подробнее”;
— переключать вкладки без ввода данных;
— и так далее.

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

Но мы обычно в рамках туров тестируем Дадату, давайте посмотрим, где там можно применить тур Гомера :-)

На главной странице неавторизованного пользователя у нас есть пример использования, нажми да любуйся. Идеально!

Пример 1.jpg
Пример использования с дефолтными значениями

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

Пример 2.jpg
Результат обработки дефолтных значений

И это круто. Если бы не было примера, а была только форма, то что делать, если пользователь обленился и нажал “Проверить”, ничего не вводя? Нужно блокировать кнопку или писать сообщение об ошибке… Но зачем? Заранее подготовленные дефолтные данные в данном случае куда уместнее.

Пойдем поищем еще. Где тут регаться не надо? О, подсказки. И тут есть пример с дефолтными значениями. Кликаем на призывную кнопочку

подсказки пример.jpg
В подсказках тоже все уже сделали за тебя, сиди да жми на кнопочку...

И вуаля!
подсказки пример 2.jpg
Оно работает!

Я передумала, Дадата — очень удачный пример для тура домоседа! :-) Для того, как надо делать дефолтные значения. А есть ли пустые? Давайте поищем.

Пробуем зарегистрироваться. На форме регистрации три поля, но только два обязательных.
регистрация.jpg
На форме регистрации есть необязательные поля, проверим!

Значит, обязательно регистрируемся с пустым именем. В туре Гомера проверка обязательная!

После регистрации получаем API-ключ и идем тестировать запросы. Разумеется, пытаясь отправить как можно меньше данных.

Хороший тур, люблю его. Системы зачастую очень плохо реагируют на пустые поля или попытки заполнить форму минимально. Обязательно попробуйте его на своем приложении. И удачи вам в этом! :-)

См также:
С тремя параметрами работает, а с одним — NPE — что бывает, если не применять этот тур.
Как за 20 минут найти 4 бага — еще пример применения тура


<< Тур, отмененный из-за дождя

PS: Статья написана в помощь студентам моих курсов по тестированию и уже доступна на Testbase, чтобы не потерялась ссылка.

2 комментария:

  1. Несколько раз вчитывалась в предложение ("Если есть несколько путей в приложении достичь цели, домосед всегда выберет путь наименьшего сопротивления."), пока не поняла, что в его построение закралась ошибка. Предлагаю переставить словосочетание "в приложении" в начало после слова если. :)

    ОтветитьУдалить