Разделы портала

Онлайн-тренинги

.
Создание плана исследовательского тестирования: картография ПО
06.02.2018 00:00

Автор: Аарон Ходдер (Aaron Hodder)

Оригинал статьи: https://testerkiwi.blogspot.ru/2011/04/building-exploratory-test-plan-redux.html

Перевод: Ольга Алифанова

Карта – это визуальное представление области – символическая картина, выделяющая взаимоотношения между элементами пространства – предметами, регионами, темами.

http://en.wikipedia.org/wiki/Map

Тестирование ПО похоже на исследование новых территорий. Принципы остаются такими же – где-то там существует нечто неизвестное, и мы стремимся с ним ознакомиться.

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

1. Идентифицируйте черты, которые вас интересуют.

Эвристическая тест-стратегия Джеймса Баха – отличный ресурс для стимулирования тест-идей. Определите, что нас интересует или может заинтересовать (в конце концов, поначалу заранее не знаешь, что окажется важным – может, мы начали с исследования формирования скал и наткнулись на залежи угля), а затем начинайте набрасывать вашу карту.


2. Начинайте собирать информацию

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

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

По мере ознакомления с новой информацией карта принимает форму:


Кликните на картинку для увеличения

Создание карты провоцирует новые вопросы и позволяет задавать их точнее. Карта становится инструментом для улучшения самой себя. Этим и хороши органические системы – задайте им некие начальные условия (эвристическая тест-стратегия), и они практически сами себя и построят. Вот пример карты после беседы с разработчиком:


Кликните на картинку для увеличения

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

3. Начните путешествие
По ощущениям, у нас есть полезный фреймворк для начала реальной работы над продуктом. Мы знаем, где у него фиорды и основные достопримечательности, и знаем, как добиться оползней. Теперь надо почувствовать эту землю под своими ногами. «О, про эту реку мы ничего не знали, лучше нанести ее на карту, чтобы подробнее разобраться потом». «Эта гора – сюрприз для нас, интересно, в курсе ли кто-нибудь еще, что она существует?»

К примеру, я устанавливал программу, и она спросила меня про номер порта (3306). Хм, интересно! Лучше внести это на карту в качестве идеи для тестирования:


Со временем ваша карта обретет плоть и кровь, и вы будете уверены в том, что это достаточно хорошая, полезная модель ПО, которое вы тестируете.

4. Создайте тест-чартеры

Если это понятие вам незнакомо, прочитайте тексты по этим ссылкам:

http://www.satisfice.com/sbtm/

http://www.satisfice.com/articles/sbtm.pdf

http://www.satisfice.com/articles/et-article.pdf

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

К примеру, один из моих чартеров будет звучать как «Установить базу данных расписаний с портом, отличным от 3306».

5. Продолжайте подправлять карту

Ваша карта – это модель. По мере изменения модели меняться будет и карта. То, что вы считали важным, будет удалено, а то, о чем вы и не подозревали – добавлено. Карта отражает ВАШЕ личное понимание продукта в данный конкретный момент.
Ее можно использовать и другим образом. К примеру, вы можете использовать свою карту для управления тест-процессом: назначьте тестировщиков на каждую ветку, и они будут отвечать за все ее ветвления. В этом случае вы быстро распределите работу без необходимости пробегаться по требованиям и спецификациям и вручную назначать индивидуальные задания. Вы можете перекрасить ветки, над которыми работаете в данный момент, и затемнить те, которые уже завершены. С одного взгляда вы увидите, что уже сделано, над чем ведется работа, и что еще осталось.

Надеюсь, что я внятно описал хороший способ структурировать, управлять и отчитываться об исследовательском тестировании. Главное преимущество тут в скорости – карта занимает мало места, ее легко редактировать и перемещать элементы с места на место. Ее также не нужно «читать». Многостраничный документ требует усидчивого чтения, и читателю придется разбираться, что же вы имели в виду. При одном только взгляде на карту структура, связи, функции, нуждающиеся в тестировании области и то, о чем вообще никто не подумал, становятся очевидными. Карта лучше тысячи слов.

Я использую XMind, но инструментов для создания карт множество. Freemind, к примеру, тоже неплохая программа.

Обсудить в форуме