Показаны сообщения с ярлыком James A. Whittaker. Показать все сообщения
Показаны сообщения с ярлыком James A. Whittaker. Показать все сообщения

пятница, 7 мая 2021 г.

Тур чашки кофе

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

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

Тур чашки кофе — это когда ты работал-работал с приложением, а потом решил немного отдохнуть. Пошел и выпил кофе, например. А потом вернулся и решил продолжить работу.

Пора отдохнуть!

Обычно попить чай / кофе — это недолго, минут на 5. Именно это мы и делаем, уходим на 5 минут, оставив приложение на каком-то этапе. Желательно, чтобы это был один из N этапов, то есть не заключительный — например, начали оформлять заказ в интернет-магазине и не закончили, отвлеклись. А потом вернулись и пытаетесь продолжить.


среда, 19 декабря 2018 г.

Обсессивно-компульсивный тур, или тур невротика. The Obsessive-Compulsive Tour

Смотрели «Теорию большого взрыва»? Вот у Шелдона как раз было OCD — Obsessive-compulsive disorder, обсессивно-компульсивное расстройство. Оно заставляло Шелдона стучать в дверь и говорить «Пенни» обязательно три раза, даже если дверь открывали после первого стука.


В захудалый район автор добавил тур просто по названию. В реальной жизни сложно представить себе ситуацию, в которой OCD помогает жить. Но быть обcессивным в тестировании — выгодно!

OCD тестировщики вводят одинаковые значения снова и снова.
Они выполняют одно действие снова и снова.

Они повторяют, отменяют, копируют и вставляют. Снова и снова, снова и снова.
Игра такая — повторение, мать учения.

воскресенье, 16 декабря 2018 г.

Тур антисоциального типа. The Antisocial Tour

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

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

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


Яркий пример — жена, которую муж берет за компанию в туре по пабам. А она не хочет быть частью этого тура. Когда муж заходит в паб, жена остается снаружи. А когда он закончил и собирается уходить, жена входить внутрь и заказывает напиток.

Если они едут вместе на экскурсию, жена продолжает вести себя «всем назло». Как бы в оппозицию с общим поведением. Все любуются на пейзаж? Она сразу найдет милую белочку и демонстративно рассматривает ее. Все пошли в розариум? Она стоит на входе, тяжко вздыхая.

среда, 22 марта 2017 г.

Тур саботажника. The Saboteur Tour

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

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

кевин крушит  (оз).png
Типичный саботажник


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

Мы попросим приложение выполнить какую-нибудь операцию, интенсивно работающую с памятью, на машине со слишком маленьким количеством памяти. Или когда другое приложение работает в бекграунде и уже сожрало большинство ресурсов.

Тур легко осмыслить:
  • Заставь приложение выполнять какое-то действие.
  • Пойми, какие ресурсы необходимы для успешного выполнения этого действия.
  • Удали или спрячь эти ресурсы.

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

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

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

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

homerizlazyazz_couch_potato.gif


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

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

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

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

понедельник, 11 июля 2016 г.

Тур шотландского паба. The Scottish Pub Tour

Входит в «Туры по туристическим районам», Tours Through the Tourist District

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

scottish-pub2.jpg

Мой друг Адам встретился в Амстердаме с группой шотландских туристов —  юбки выдавали их национальность не хуже акцента. Ребята были членами pub-crawling troupe (группа, исследующая городские пабы) с интернациональными вкусами. Адам присоединился к ним в туре по пабам города. Он с готовностью признает, что во многие места не попал бы без наводки. Пабы расположены в маленьких, захудалых домах на отшибе. Мимо такого пробежишь мимо, опасливо озираясь по сторонам. И никогда не угадаешь, что именно там можно выпить отменного пива.

понедельник, 21 марта 2016 г.

Тур «Второй бесплатно». The TOGOF Tour

Входит в «Туры по туристическим районам», Tours Through the Tourist District/

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

Этот тур — игра в акронимы для Buy One Get One Free (BOGOF), что очень популярно в интернет-магазинах. В тестировании мы не будем ничего покупать, меняем акроним на Test One Get One Free (TOGOF).

2013-11-20_payless_1=2_95x83.jpg
Нашел баг в одном — найдешь во втором!

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

Почему это TOGOF? Потому что, если вы нашли баг в одной копии, вы нашли баг во всех них! 😏

воскресенье, 6 марта 2016 г.

Тур супермодели. The Supermodel Tour

Входит в «Туры по туристическим районам», Tours Through the Tourist District.

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

medium_926da1bdb6c8d0751edb6020bedd2032.jpeg
«Дрянные девчонки» — вроде красивые, но… )

Встречают по одежке, провожают по уму ©


Но сегодня ум и внутренний мир нас не интересуют, мы обращаем внимание только на первое впечатление. Таков принцип тура супермодели. Снаружи она «ВАУ», а вот какая внутри — добрая и милая, или ужасная стерва, 98% подписчиков не касается, ведь они никогда не встретятся за ланчем.

В этом туре вы должны думать поверхностно. Чтобы вы не делали, не погружайтесь глубоко. Этот тур не проверяет функции или процедуры, он проверяет то, как приложение выглядит и какое первое впечатление производит. Не фокусируйтесь на функциональности или реальном взаимодействии. Только на интерфейсе. Проходите тур и смотрите на элементы интерфейса:

воскресенье, 21 февраля 2016 г.

Тур одинокого бизнесмена. The Lonely Businessman Tour

Входит в «Туры по туристическим районам», Tours Through the Tourist District

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

Intelligent-Travelling (1).jpg
Бизнесмены бывают во многих странах… Не выходя из аэропорта

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


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

суббота, 6 февраля 2016 г.

Тур коллекционера. The Collector`s Tour

Входит в «Туры по туристическим районам», Tours Through the Tourist District

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

butterflies.jpg
Соберите коллекцию бабочек, сообщений об ошибке или чего-то еще...

Кто-то собирает бабочек, кто-то гербарий, а кто-то — баги :-)

Цель коллекционера — собрать полную коллекцию: бабочек каждого вида, каждого возраста. Аналогично и в тестировании — выбираем, что будем коллекционировать и собираем полный комплект.

Идея тура — пройтись в приложении везде, где только можно, и задокументировать все выходные данные.

четверг, 17 декабря 2015 г.

Тур полуночника. The All-Nighter Tour

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

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

Тур полуночника также известен как Тур завсегдатая клуба (Clubbing tour). Завсегдатай не идет домой вечером, он направляется в ночные клубы и тусит там всю ночь. Тур не должен останавливаться — всегда будет еще один клуб или еще один последний стакан выпивки. Некоторые верят, что такие туры проверяют характер. Сможешь продержаться? Выдержишь всю ночь?

club.jpg
Полуночник не спит ночью, он ищет приключений на свою пятую точку

В исследовательном тестировании вопросы те же — может ли ваше приложение продержаться? Как долго оно может работать и обрабатывать данные перед тем, как развалится?

вторник, 1 декабря 2015 г.

Тур глухого переулка. The Back Alley Tour

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

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

Куда поехать в отпуск? Что такое «хороший тур»? Если думать лень, берите тур по знаменитым местам, не прогадаете. Раз туда ломятся тысячи — значит, не просто так. Значит, хороший тур, хорошие места. Оппозицией таким турам является посещение мест, в которые больше никто бы не захотел пойти. Ну, например, тур по публичным туалетам.samye_neobychnye_publichnye_tualety_mira47f00dda91339b6db0939e7627c22b11.jpg
    Хотели бы пойти сюда? Большинство почему-то не хочет...

Не нравится аналогия? Есть более приятная и интересная. К «глухому переулку» относятся туры «за сцену»  в местах типа Диснейленда или студии записи фильмов, где мы можем посмотреть, как это все работает, и пойти туда, куда обычные туристы не ходят.

70195.jpg
«Призрак оперы», по ту сторону сцены. Это тоже «тур глухого переулка»!

вторник, 24 ноября 2015 г.

Тур актера второго плана. The Supporting Actor Tour

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

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

big.jpeg
Иногда задний план в упор не видят…

вторник, 15 сентября 2015 г.

Тур предыдущей версии. The Prior Version Tour

Входит в «Туры по историческим районам», Tours Through the Historical District

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

Релиз продукта — накатывание обновления поверх предыдущей версии.

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

Функционал был — функционал остался. Ну почти...


Если имеющая функциональность изменилась — проверяем все сценарии использования функционала. Не только основные сценарии, но и альтернативные ветки. Все должно работать!

Если функционал был удален — проверяем, что все связанное с ним продолжает работать. Что удаление никак не повлияло на работу системы.

Цель тура
Регрессионное тестирование — проверяем, что функциональность, которая работала до новой версии, продолжает работать.

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

Но зато показывает, как может повлиять изменение, казалось бы, незначительного участка…

Почему я несколько релизов не могла воспроизвести баг? Потому что мне и в голову не приходило, что изменение А может повлиять на Б! А оно влияет… И во время внесения изменений всегда думайте, как изменение влияет на текущий функционал. Нужна ли миграция существующих данных? Не сломается ли то, что работало раньше?

Регрессионных ошибок бывает много, самых разных видов. Думаю, у вас есть свой список «воспоминаний», который поможет вам не продолбать нечто важное во время следующего регресса :-)



PS: студентам моего курса по тестированию во время обучения эта статья не поможет, но вот выпускникам во время реальной работы — очень даже!

PPS: статья сохранена на Testbase, чтобы не потерялась ссылка.

How to Break Software Security. James A. Whittaker


Ссылка на Amazon.

Продолжение серии «How to Break...». На этот раз Джеймс рассказывает о тестировании безопасности. Лучше всего читать после прочтения базовой книги, «How to Break Software», а не как я, все наоборот Smile :)

Структура книги: верхнеуровневые классы проверок, например, на уровне кода или GUI, а потом сами атаки. Всего 19 атак.

Каждая атака содержит:

  • Вступление.
  • Когда атаку следует применять.
  • Как это делать.

четверг, 23 июля 2015 г.

Музейный тур. The Museum Tour

Входит в «Туры по историческим районам», Tours Through the Historical District

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

Музеи с антиквариатом — любимое место туристов. Они собирают несколько тысяч посетителей в день. Антиквариат в коде заслуживает такого же количества внимания от тестировщика. В данном случае под антиквариатом мы понимаем legacy code («устаревший код», распространенное название, поэтому оставила без перевода).


Legacy code — антиквариат разработчиков

Нетронутый legacy code легко найти быстрым просмотром даты и времени создания в репозитории (место хранения кода). Многие репозитории также поддерживают изменение. Таким образом, тестировщик может сделать небольшое исследование, чтобы увидеть, какая часть старого кода недавно изменялась.

среда, 15 июля 2015 г.

Тур по плохому району. The Bad-Neighborhood Tour

Входит в «Туры по историческим районам», Tours Through the Historical District

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

В каждом городе есть «плохие» районы — преступные. В ПО тоже есть плохие раойны — разделы кода, населенные багами. Разница между обычным человеком и тестировщиком заключается в том, что первые стараются избегать плохих районов, тогда как вторые уделяют им настолько много времени, насколько это возможно.

CjlR2Ru0dM4.jpg
Некоторые места лучше обходить стороной… Но не в коде!


За месяц до начала разработки сложно сказать, какие районы кода будут «плохими». Чем сложнее функциональность, тем вероятнее ошибки. Чем слабее разработчик, тем вероятнее баги в его коде.

Используйте баг-трекер для анализа. Посмотрите — в каком компоненте больше всего ошибок? Там и ищите!

111.jpg
Баги общительны…


funny-homer-simpson-chasing-spider-box-animated-gif-pics.gif
Где один, там их много =)


Более того, обнаружив бажный участок кода, рекомендуется пройтись туром сборщика мусора по ближайшим районам, чтобы убедиться, что фикс ошибки не сломал чего-то еще.


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


Я стараюсь не тупо переводить туры из книжки, а находить собственные аналогии. Так интереснее читать мой перевод после книжки и, наоборот, книжку после моего перевода.

Чтобы материал усвоился, я привожу пример прохождения тура на реальном проекте нашей компании.

В этот раз примера не будет по понятным причинам =)



PS: студентам моего курса по тестированию во время обучения эта статья не поможет, но вот выпускникам во время реальной работы — очень даже!

PPS: статья сохранена на Testbase, чтобы не потерялась ссылка.