вторник, 2 июня 2015 г.

Интеллектуальный тур. The Intellectual Tour

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

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

Однажды Уиттакер путешествовал по Лондону с группой туристов. Группу водил гид — достопочтенный джентлемен лет 50. Он говорил, что всю жизнь прожил в Лондоне и знал о городе все.


Казалось бы, обычная фраза гида — «Я тут живу и знаю город». Но на этот раз ему не повезло. Среди туристов были школьники, которые изучали историю Англии. Каждый раз, когда гид рассказывал о здании, улице или историческом событии, школьники задавали «сложные» вопросы. Гид отбивался  с трудом. К середине тура он уже боялся открыть рот. Школьники доминировали. В итоге гид сдался: признался, что живет в Лондоне всего 5 лет и просто вызубрил одну лекцию. Это была фантастическая бага! Школьники сломали гида!


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

Конечно, задаваемые вопросы сильно зависят от нашего приложения:

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

Этот тур разный для разных приложений, но идея одна — задавайте софту сложные вопросы.

Вариацией этого тура является тур высокомерного американца (Arrogant American tour), который представляет мнение о согражданах Уиттакера, путешествующих по миру:

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

Этот тур и его вариации помогают найти разные баги, от критичных до довольно глупых. Учитесь разделять их... Иначе разработчики скажут «ата-та»!



Цель тура: задавать приложению «сложные» вопросы, нагружать его по максимуму. Или наоборот, задавать глупые вопросы для привлечения внимания.

Стандартизация по одному человеку

Проверка имени, адреса и телефона — https://dadata.ru/#process-person.
как это работает.jpg

Сложные вопросы:
— Можно ли обработать двойные имена и фамилии?
— А если фамилия и имя одинаковые?
Марина Марина → Ма́рина Мари́на
— А как насчет буквы «Ё»? Ее всегда надо проверять, особенно если есть подозрения на завязку на регулярные выражения, ведь «Ё» не входит в регулярку [а-я]
— Ух ты, система транслитерировать умеет? Двойное «o» — это «у». А что, если я введу «ОооооОООООоооОО», что распознает? Попробуем и в ФИО, и в адресе.

— Можно ли ввести очень длинный адрес с “неадресной частью” (пояснение, что за здание), например:
142762, город Москва, поселение Филимонковское, деревня Марьино, улица Филимонковская, ОАО "Новомосковский Технопарк", административное здание.
— А как насчет номера дома с нулем вначале?
Заревый проезд 05 → это дом 5, просто ошиблись, но...
Электросталь Ленина 04 → вполне себе реальный адрес
— Как насчет стандартных сокращений (МО, Спб)?
— Распознаются ли корпуса в Зеленограде? Там нет номера дома, но есть сразу корпус.
— А если хороший адрес без улицы?
боровое матюшино 4

2015-06-02_124514.jpg
«Хороший» адрес без улицы

Глупые вопросы:
— А если я в ФИО три раза фамилию введу?
— А если в номере телефона есть комментарий, «не звонить после 18:00, позвать Галю»?
— А очистится ли ФИО — «ПcТcПcВ ВЛиДИМИР ПуТРрВИЧ»?
— А если я введу в адрес «Планета Земля»? Или «Галактика млечный путь, Солнечная система, планета Земля, Бельгия, Брюгге»? А если просто «лес», «дом», «сад», «поле»?

А про телефоны я не буду рассказывать, потому что у моих студентов есть на них задачка :)

Загрузка файла

Находится на главной странице после авторизации:
2015-06-02_165623.jpg

Сложные вопросы:
— Можем ли мы загрузить файл с 1000 колонок и 10000 строк с адресами? В адресах больше всего колонок на выходе.
— Можем ли мы загрузить файл с пустым именем?
— Исполняемый файл с расширением .exe?
— CSV-файл с разным количеством колонок в разных строках?
— С нестандартными кодировками?

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

Подсказки
По адресам, организациям, банкам, ФИО и email — https://dadata.ru/suggestions/.
подсказки.jpg

Сложные вопросы:
— Можно ли найти улицу, название которой совпадает с названием города?
Омская, город Омск
Московская обл, Клинский р-н, г Клин, ул Клинская
обл Сахалинская гор Сахалин ул Сахалинская
— В Москве 4 улицы «8-е Марта», как будут подсказываться?
— Короткие названия как обрабатываются? Клин

Глупые вопросы:
— Если я «Пупсичек» вобью, полное имя подскажется?
— А если в разделе организаций введу «Тот банк на Проспекте мира», он же мне найдет то, что я ищу?
— …


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

1 комментарий: