Главная страница

Роман Савин - тест dot com. Пособие по жестокому обращениюсбагам и в интернетстартапах com роман Савин


Скачать 5.26 Mb.
НазваниеПособие по жестокому обращениюсбагам и в интернетстартапах com роман Савин
АнкорРоман Савин - тест dot com.pdf
Дата26.04.2017
Размер5.26 Mb.
Формат файлаpdf
Имя файлаРоман Савин - тест dot com.pdf
ТипПособие
#5534
страница15 из 24
1   ...   11   12   13   14   15   16   17   18   ...   24
определенная комбинация которых ведет нас к определенному
ожидаемому результату.
Таким образом, иногда появляется потребность
• в табл. 3, когда сценарии из табл. 2 становятся элементами более сложных сценариев,
• в табл. 4, когда сценарии из табл. 3 становятся элементами еще более сложных сценариев,
• и т.д.
Кстати,
иногда в табл. 1 мы сразу отражаем возможные значения для несколь-
ких связанных между собой веб-страниц.
Я знаю, что матричный метод в начале работы по нему кажется сложным и запутанным. Единственный способ освоить его — это использовать на практике, что мы с вами сейчас и сделаем.
Однажды в классе по "юниксу" на занятии по теме "Регулярные выражения" (наука поиска паттернов в тексте) один товарищ удивительно метко выразил физическое состояние всех студен- тов: "Это как операция на головном мозге". Я не удивлюсь, если в начале использования матричного метода у вас будет схожее состояние.
Итак, предлагаю вам сейчас самостоятельно создать табл. 1 и табл. 2 для второй части регистрации. Также прошу вас написать тест-кейсы по полной форме на каждый из сценариев первой и второй частей регистрации.
Далее.

184
Тестирование Дот Ком. Часть 3
Одна из прелестей матричного подхода заключается в наглядно- сти — мы видим перед собой таблицу со структурированными вариантами сценариев, и нам удобно комбинировать их в более сложные сценарии или непосредственно переносить их в тест- кейсы.
Кстати, во многих случаях нет смысла идти дальше табл. 1, например
когда сценарии для тест-кейсов непосредственно вытекают из эле-
ментов табл. 1 или когда сценарии для тест-кейсов можно просто до-
мыслить, скомбинировав в уме элементы табл. 1.
3. БЛОК-СХЕМЫ
В беседе о продюсерах и вещах, которые им нужно улучшить в своей работе, мы уже говорили о блок-схемах. Блок-схема — это
графическая презентация некого процесса.
Блок-схемы допускают разные уровни абстракции, например процесс регистрации можно представить и в таком виде:
Процесс регистрации
Эта блок-схема и ее сестра из беседы о цикле разработки ПО
• похожи тем, что демонстрируют нам логику работы реги- страции и
• различаются тем, что имеют различную детализацию этой логики.

Нигилистический настрой и практическая методология
185
В своей работе тестировщики используют ту степень детали-
зации, которая нужна для конкретной ситуации: если мы тес- тируем саму регистрацию, то нам необходима большая степень детализации (процесса регистрации) по сравнению с ситуацией, когда нам нужно увидеть место регистрации как часть процесса покупки.
Идея о разных степенях абстрагированности раскладки в зави-
симости от того, ЧТО и КАК мы тестируем, напрямую отно-
сится и к черновику-чистовику, и к матричному методу.
Вот элементарные, непробиваемые и вечные формы (блоки) для составления блок-схем, которых вам будет достаточно в боль- шинстве ситуаций:
Точка начала/конца блок-схемы может содержать название этой точки (например, название веб-страницы) или просто и со вкусом величаться "Начало"/"Конец".
Это любой этап процесса, кроме этапов
начало/конец, решение или перенос.
Решение — некая точка, после которой возможны, как правило, два варианта раз- вития процесса.
Перенос ставится в том случае, если данное ответвление процесса представлено (будет представлено) другой блок-схемой.
Вот несколько рекомендаций по составлению блок-схем.
1. Перед составлением блок-схемы назовите основной про-
цесс, описываемый ею, например "Процесс регистрации".
2. Сначала набросайте путь основного течения процесса, на- пример, в случае с регистрацией это три блока, показанные на последней блок-схеме (страница 1, страница 2 и под- тверждение).
3. Называйте каждый блок кратко и информативно.
4. Приводите ссылки на полезную информацию, например, см. Спек #9017 — это ссылка на соответствующий спек.

186
Тестирование Дот Ком. Часть 3
5. Для наглядности презентации старайтесь скомпоновать блок-схему таким образом, чтобы процесс шел сверху вниз и слева направо.
6. Для превентирования ошибки в толковании избегайте пе- ресечения стрелок.
7. Протестируйте (проверьте) законченную блок-схему на пред- мет соответствия спеку или другому источнику.
Для тренировки нарисуйте блок-схему следующей ситуации.
Идея: вскипятить чайник.
Вот вам в помощь блоки решений, которые предстоит разложить в блок-схеме:
1. Вода в чайнике есть/нет.
2. Плита включена да/нет.
3. Чайник кипит да/нет.
Для совершенствования в составлении блок-схем очень рекомен- дую найти ресурсы в Интернете или купить книгу.
Блок-схемы — это визуальные источники идей для тестиро-
вания. Кроме того,
как и в случае со всеми методами генерации тестов, процесс
создания блок-схем вызывает рождение множества превосход-
ных идей для тестирования, открывает тестировщику новые
грани ПО и вызывает ряд вопросов, которые не возникли бы
при простом прочтении спека.
Политический момент
как известно,
теория (простое прочтение спека перед его утверждением) и
практика (работа со спеком при создании тест-кейсов) — это две
разные вещи.
На "практике", если спек более или менее сложный, неизбежно воз-
никнет необходимость в уточнениях.

Нигилистический настрой и практическая методология
187
Знайте, что отвечать на вопросы по спеку — это святая обязан-
ность продюсера.
Вы имеете право, нет, ОБЯЗАНЫ задать ему ВСЕ вопросы по спеку, ко-
торые у вас возникнут, ибо шкуру будут спускать с вас, а нес него, если
вы из-за неотвеченных вопросов пропустите баги.
Кстати, обязательно сохраняйте всю переписку в отдельном фолдере
(папке) е-мейл клиента (дайте фолдеру наименование (Ю) спека):
вдруг продюсер дал вам уточнение, оно было неверным, вы написали
тест-кейс с ошибкой/не написали тест-кейс вовсе и пропустили серь-
езный баг?
Нет е-мейла — нет доказательств, есть е-мейл — есть доказательства.
Если уточнение по спеку было сделано устно, пошлите е-мейл продю-
серу, где опишите то, как вы поняли уточнение, и спросите "Я правиль-
но понял?".
Если продюсер не отвечает, пошлите ему тот же е-мейл из фолдера е-
мейл клиента "Отправленная почта", чтобы он видел, что уже один
раз проигнорировал ваш запрос.
Если ответа снова нет и продюсер не болен, не уехал на ПМЖ в Австра-
лию, а даже очень здоров, строит дачку в Малаховке, и вы видите его в
столовой каждый день, то просто перешлите последний из е-мейлов
продюсера своему менеджеру и сообщите ему, что не можете рабо-
тать по спеку.
Менеджер не будет сам говорить с ним, а переправит ваш е-мейл ме-
неджеру продюсеров, чтобы тот спросил у продюсера: "В чем, собст-
венно, дело?" Даю гарантию, через час продюсер сам прилетит к вам,
как ни в чем не бывало хлопнет по плечу, как лучшего друга, и проведет
с вами столько времени, сколько нужно, травя байки и находя удачные
аналогии для того, чтобы вы лучше поняли материал. "Бизнес есть
бизнес", вы ищете баги и, чтобы быть эффективным, должны по-
лучить всю информацию по спеку.
Теперь суперважная вещь в отношении методов генерирования и отбора тестов.
Превосходные результаты дает комбинирование методов.
Например, можно набросать черновик и в качестве чистовика создать
табл. 1, сгруппировав в ней идеи из черновика.
С другой стороны, имея табл. 1, табл. 2 и т.д., можно использовать метод
черновик-чистовик, чтобы выделить сценарии из элементов табл. 1,
табл. 2 и т.д.
С третьей стороны, можно создать блок-схему, чтобы нагляднее ви-
деть процессы, описанные в таблицах, и найти новые интересные
идеи.
Вобщем бесчисленное множество комбинаций и огромное поле для творчества! Как мы уже говорили, в тестировании
НЕТ ДОГМ

188
Тестирование Дот Ком. Часть 3
и даже сами основы отрасли знания "Тестирование" постоянно находятся под обстрелом, так что дерзайте и находите именно те приемы и методы, которые будут работать для вас в тех ситуа-
циях, в которых вы будете работать.
Методы отбора тестов
1. Оценка риска (risk estimate).
2. Эквивалентные классы (equivalent classes).
3. Пограничные значения (boundary values).
Общая вещь: методы отбора тестов применяются во время
или после генерирования тестов.
1. ОЦЕНКА РИСКА (risk estimate)
Представьте, что вы только что прикупили отель где-нибудь в горах Сьерра-Невада в Северной Калифорнии. У вас нет опыта работы менеджером отеля, но вы чувствуете себя абсолютно уве- ренным в своей новой роли, так как у вас есть высшее образова- ние в области физики твердого тела и такую фигню, как управле- ние отелем, вы, конечно, осилите на раз.
К вашему отелю ведут три дороги:
первая соединяет отель и ответвление скоростной магист- рали,
вторая соединяет отель и дорогу, ведущую к горнолыж- ным курортам,
третья соединяет отель и небольшую проселочную дорогу. по которой ездят в основном местные жители.
Все три дороги имеют одинаковую протяженность.
10 человек уже приехали и 30 человек должны приехать сегодня.
Всю ночь шел снег, и все три дороги замело так, что ни один джип не проедет ни по одной из них.
У вас есть только одна снегоуборочная машина, и на уборку лю- бой из дорог уйдет полдня. Так что нужно выбирать, с какой из них начать.
Можно подойти к решению этой задачи чисто субъективно.

Нигилистический настрой и практическая методология
189
Абсолютно очевидно, что по дороге номер 3 могут приехать только ваши местные кореша
• для игры в покер (но сегодня не день покера — пятница) или
• на барбекю (но сегодня не суббота).
Значит, дорога 3 остается в снегу.
Абсолютно очевидно, что дорога номер 2 также не является приоритетной в расчистке, так как абсолютно очевидно, что 10 меньше 30.
Таким образом, наш план:
• посадить отельского "жнеца, швеца и на дуде игреца" за руль снегоуборочной машины расчищать роад намбер уан: дорогу к скоростной магистрали;
• вывесить в лобби отеля большой плакат "Дорог на гор за- крыт. Не ходи, а то хана" для уже вселившихся;
• накормить уже вселившихся бесплатным завтраком (в каче- стве извинения).
Запомним, с какой уверенностью мы говорили себе: "Абсолютно очевидно".
Давайте перед тем как реализовывать наш гениальный план, ос- нованный на очевидных вещах, остановимся на минутку у стойки регистрации и поговорим с менеджером отеля, который прорабо- тал в нем 20 лет.
Первый вариант разговора
Вопрос: "Что делать, Джеймс?"
Ответ: "Босс, все очень просто. Все, кто уже вселился в отель, приехали играть в снежки, кататься на беговых лыжах или просто дышать свежим воздухом. Я это знаю потому, что переговорил с каждым из них и знаю большинство из них, так как они приезжают каждый год. Поэтому нет никакого смысла в расчистке дороги
номер 2, все остаются в отеле или развлекаются в его окрестностях.
Я также знаю, что 16 человек из 30 — это компания, которая вы- едет к нам рано утром из Рино (я вчера говорил по телефону с одним из них) по этой дороге (показывает на карте), которая пе- ресекается с дорогой номер 3. Соответственно они прибудут к нам по дороге номер 3.

190
Тестирование Дот Ком. Часть 3
Далее, посмотрите на монитор. Где живут 12 из 14 оставшихся клиентов? Они все живут в Сан-Франциско и окрестностях.
Только что передали по радио, что на единственной скоростной дороге, ведущей из Сан-Франциско, из-за снегопада уже образо- вались страшные пробки. Кроме того, скорее всего большинство членов сан-францисской команды поедут после работы, т.е. в 4 часа, а значит, будут здесь не раньше 8.
Следовательно, нам нужно сначала расчистить дорогу 3 и по-
сле этого заняться дорогой 1.
Кстати, остаются еще двое, едущие из Техаса. Вот их мобильный телефон. Я собираюсь им позвонить, рассказать о ситуации со снегом, наших планах по расчистке и скоординироваться с ними, как им лучше до нас добраться".
Второй вариант разговора
Вопрос: "Что делать, Джеймс?"
Ответ: "Босс, надо сначала расчищать дорогу 2, ведущую к горнолыжным курортам. Все наши постояльцы — это горнолыж- ники. Кроме того, оставшиеся 30 человек скорее всего сначала заедут на курорт, покатаются там до вечера и вечером поедут к нам — не будут же они терять сегодняшний день, я сам заказывал им пропуска со скидкой на подъемники, а пропуска начинают действовать сегодня".
Третий вариант разговора
Вопрос: "Что делать, Джеймс?"
Ответ: "Босс, нет проблем. Нам нужно расчистить и дорогу 1, и
дорогу 2. Я не знаю, что важнее. Но знаю номер телефона моего приятеля — владельца снегоочистительной компании, он даст нам хорошую цену, и двумя машинами мы сможем к полудню расчистить обе дороги. Ну, потратим немного денег, зато сохра- ним репутацию отеля, ставящего заботу о клиенте выше всего".
Мораль:
субъективные суждения, основанные на тупосамонадеянном
"Абсолютно очевидно", могут элементарно завести нас в си-
туацию, когда ресурсы потрачены впустую, так как не учи-
тывают реальности. В то же время выводы, сделанные исходя
из достоверной информации, ведут к эффективным решениям
даже при нехватке ресурсов.

Нигилистический настрой и практическая методология
191
То, что сделал для нас мистер Джеймс, было оценкой риска. Он смог сделать оценку риска, так как
владел информацией и
знал, как этой информацией распорядиться.
Обратно к тестированию ПО.
Наша задача — это
• получить информацию,
• если возможно, узнать мнение человека, владеющего во- просом, и
• оценить риск по каждой из функциональностей, которые предстоит протестировать.
Людьми, которые владеют вопросом, могут быть продюсер, глав- ный бухгалтер, финансовый директор, бизнес-аналитик. Информа- цию можно получить также из статистики или других источников.
Поверьте, что такой подход даст удивительные результаты.
Допустим, у нас есть небольшой проектик, где нужно протести- ровать новый (переписанный и оптимизированный) код для уже давно существующих функциональностей:
а) сделки купли-продажи между пользователями внутри Аме рики;
б) сделки купли-продажи между пользователями в Японии;
в) сделки купли-продажи между пользователями в Японии и США.
Разложим эти функциональности:
Таблица 1
И
н д
ек с_
эл
_
0 0
1
И
н д
ек с_
эл
_
0 0
2
И
н д
ек с_
эл
_
0 0
3
И
н д
ек с_
эл
_
0 0
4
Продавец
Американец
X
Японец
X
Покупатель
Американец
X
Японец
X

192
Тестирование Дот Ком. Часть 3
Таблица 2
И
н д
ек с_
эл
_
0 0
1
И
н д
ек с_
эл
_
0 0
2
И
н д
ек с_
эл
_
0 0
3
И
н д
ек с_
эл
_
0 0
4
Продавец американец —> Покупатель американец
X
Продавец американец —» Покупатель японец
X
Продавец японец —> Покупатель американец
X
Продавец японец —> Покупатель японец
X
Помните, я говорил, что применение методов генерирования тес- тов дает вам более глубокое понимание спека? Вот и теперь, де- лая матричную раскладку, мы увидели, что на самом деле у нас не три, а четыре направления для тестирования. Разложим их на блок-схеме.
Блок-схема по спеку #1123
Постановка мозгов
Есть превосходный профессиональный термин flow (течение, процесс)
(будем использовать его в транслите как "флоу"). Флоу — это один или
больше сценариев использования или работы ПО. Например, у нас есть
флоу Американец -> Американец. В данном конкретном случае на это флоу
можно написать множество сценариев (например, с разными суммами
оплаты, транзакции между разными штатами и т.д.).
Итак, у нас есть четыре флоу.
Давайте снова поиграем в "Абсолютно очевидно" и решим во- прос о приоритетности каждого флоу. Допустим, что покупаются и продаются запчасти для автомобилей:

Нигилистический настрой и практическая методология
193 а. Скорее всего, самым приоритетным будет флоу Япо нец —> Американец, так как в США очень много японских автомобилей, запасные части производятся в Японии и наш сайт — это очень важный канал для поставок.
б. Ниже идет флоу Американец —> Американец, хотя внут ренний рынок американских запчастей очень велик, но есть много других каналов поставок кроме нашего веб-сайта.
в. Далее идет Американец —> Японец, это флоу менее при оритетное, чем о и б, но более приоритетное, чем г.
г. Самый нижний приоритет у флоу Японец —» Японец, так как в Японии развита инфраструктура купли-продажи зап частей и нашим сайтом там почти не пользуются.
Вроде бы все смотрится логично, но до тех пор, пока мы не нач- нем копать.
Вопрос: Откуда у меня информация, на основании которой я сде- лал свои выводы? Откуда я знаю, что, например, в случае а (Япо- нец —» Американец) "наш сайт — это очень важный канал для поставок"?
Ответ: Я знаю это, так как где-то (может быть, краешком уха) услышал или прочитал (может быть, в определенном контексте) эту информацию.
1   ...   11   12   13   14   15   16   17   18   ...   24


написать администратору сайта