[Из песочницы] Mind Map в тестировании — или легкий способ тестировать сложные приложения

Вы тоже задаетесь вопросами:

  1. С чего начать тестирование?
  2. Как ничего не забыть?
  3. Как не запутаться в сложном функционале?


Ответом может стать подход декомпозиции продукта путем составления Mind Map.

Что это?


Mind Map или интеллект карта — это инструмент для визуального отображения информации, который помогает эффективно ее структурировать.

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

Преимущества Mind Map


1. Наглядность и визуализация.

Главным достоинством Mind Map для тестировщика является наглядное видение тестируемого продукта, его функций и зависимостей между собой.

2. Отличная альтернатива документации.

Такую карту очень хорошо демонстрировать новым сотрудникам как альтернативу или дополнение к документации.

3. Легко поддерживать.

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

Что можно изобразить с помощью Mind Map?


  • функционал приложения на разных уровнях.
  • приоритет функционала.
  • зависимости в приложении.
  • практически что угодно:)


Составляем майнд карту


1. Основной функционал.

Как же определить, какие есть функции и/или части приложения?

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

Как пример, возьмем MVP схему онлайн-магазина:

Сущности будут такие:

  • Товар.
  • Каталог.
  • Корзина.
  • Аккаунт.


23y7mhq6zrlnrdcecnuevpuss0k.png
Действия:

  • Найти товар.
  • Просмотреть товар.
  • Приобрести товар.
  • Поставить оценку.
  • Создать аккаунт.
  • Войти в аккаунт.


rysxcjhz1jnbnlzootc_sciv4z0.png

Что это дает?

Так наглядно понятно что клиент может сделать, что ему для этого нужно и с чем он будет взаимодействовать.

2. Декомпозиция.

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

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

На примере ветки «Товар», ответвлениями будут: название, цена, размер, к-во, описание, изображение, и так далее.

2gzopkrr6fy74jgxaxwed3fmgxu.png

3. Определите приоритет.

Тут как вашей душе угодно: сверху-вниз, выделение цветом или составить карту как стрелочные часы, где 1 это самый высокоприоритетный функционал, а на 12 самый низкоприоритетный функционал.

mllp7n3i1zvunccsh7yszxxnayw.png

4. Добавьте взаимосвязи.
Взаимосвязь на Mind Map можно изобразить посредством стрелок идущих от одного блока к другому.
Примером может быть взаимосвязь цены единицы товара в каталоге, в сортировке результатов поиска, на странице товара, в корзине и логика суммы всех товаров к оплате (красные линии на скрине).
qd-x2sv0-xw3m0eqqlozlareilk.png
Так вы не забудете протестировать связанные между собой функции, увидеть на какие еще компоненты могли повлиять баги или правки той или иной части приложения.

Как использовать Mind Map в тестировании?


1. Создать её.

Чтоб лучше понять что из себя представляет ваш продукт.

Как это сделать — вы уже знаете.

2. Использовать как альтернативу документу.

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

3. Как помощник в анализе.

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

4. Основу для написания тестовых случаев.

Расставив приоритет, можно начать писать тестовые случаи начиная с высокоприоритетных функций.

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

В чем и заключается задача QA специалиста.

5. Отслеживать покрытие тестами.

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

Например, можно ставить отметку «Thumbs Up» и после, по мере написания тест-кейсов, будет ясно видно какие функции уже покрыты, а какие нет.

tmgamrht4a0liqfnd714jpias4o.png

Разберем на примере


Предположим, что в стране изменился закон о расчете НДС по представленной на сайте категории товаров.

Бизнес решает внести изменения в формирование цены, Product Owner уже создал соответствующие задачи для разработчиков и они уже во всю обновляют код.

А вы тем временем можете начать писать тестовую документацию для покрытия этих изменений тестами.

Тут-то и приходит на помощь Mind Map.

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

Предлагаю сделать данные проверки в виде чек-листа.

zh_q3abapxunvyx2enizqsxti4w.png

Проверки готовы.

Теперь вы точно знаете, что проверили все части приложения которые могло затронуть данное изменение и с легкостью можете спать спокойно по прошествии тестов со статусом «Pass» ;)

И так, еще раз по порядку


  • Исследуйте приложение чтоб понять с чем вы имеете дело.
  • Затем декомпозируйте по сущностям и действиям.
  • Расставьте приоритеты.
  • Напишите тестовые случаи.


«Вуаля!», теперь вы знаете что тестировать и как ничего не забыть!

Можно приступать.

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

Всем Mind Map и мира во всем мире!

Полная карта:

iob8k-5msqwfvh_ngptpug6n98o.png

© Habrahabr.ru