Mind map вместо тест-кейса, или Как визуализация позволяет тестировать приложение быстрее
Привет! Меня зовут Катя, и я работаю тестировщиком мобильных приложений более пяти лет. Последние три года я тружусь в iOS-команде Badoo, и еженедельно мы релизим от трёх до семи новых фич, от трёх до пяти технических тасков и от пяти до 13 багфиксов. Как вы понимаете, приложение меняется с такой скоростью, что поддерживать классическую тестовую документацию (test cases) неэффективно: почти всегда она будет устаревшей.
Опытным путём мы выяснили, что чек-листы в качестве тестовой документации работают лучше, так как их проще создавать и использовать. Тем не менее иногда они могут быть запутанными и слишком подробными, особенно когда есть буквально пара часов на exploratory testing фичи, которая должна попасть в следующий релиз.
В этом случае визуализация позволяет сэкономить кучу времени, поэтому мы решили попробовать использовать mind maps (или «ментальные карты»), которые так же удобны в использовании, как чек-листы, но более наглядны за счёт визуального формата.
Сегодня мы подробненько разберём созданную мной mind map для тестирования iOS-приложения (далее именуемую «моя прелесть»), а также пройдёмся по ресурсам, которые можно использовать при построении mind map для мобильного приложения, чтобы покрыть максимальное количество важных сценариев.
Из чего составить mind map
Давайте разберём структуру «моей прелести».
Как видно ниже, все идеи для тестирования разделены на десять основных категорий, каждая из которых имеет множество веток:
Функциональность
Эта категория — самая объёмная. Здесь важно убедиться, что ваша фича / продукт работает как следует. В эту категорию я отнесла следующие проверки:
Интерфейс пользователя
Категория «Интерфейс пользователя» крайне важна, ведь от того, как пользователь взаимодействует с приложением, зависят его лояльность и успех продукта. Здесь предлагаю проверить следующие пункты:
Навигация
Представьте, что вам пришло пуш-уведомление «Вы понравились нескольким людям». Открываете его — и застреваете на страничке «Мы обновили политику конфиденциальности», которую никак нельзя закрыть. Вы пробуете и так, и этак — любопытно же, кому вы там понравились, — но тщетно, подлый экран не пропадает. Во избежание подобных случаев необходимо тестировать навигацию:
Платежи
Перефразируя классика, скажу: «Тестируйте платежи так, как будто ваш личный заработок зависит от этого».
Статистика
В суровую эпоху А/B-тестов решение, была ли фича успешной, принимает команда data science. Поэтому очень важно, чтобы статистика, которую вы присылаете, была достоверной.
Сеть
Тестируя мобильное приложение в уютном офисе с хорошим Wi-Fi, важно помнить, что люди могут захотеть пользоваться приложением в лифте, общественном транспорте и других местах, где качество сигнала может быть хуже. И любое приложение должно адекватно реагировать на смену сети. Предлагаю проверить следующее:
Автоматизация
Если у вас есть автотесты, пользуйтесь ими (спасибо, Кэп).
Кросс-платформенные проверки
Если фича, которую вы тестируете, например, в iOS-приложении, уже реализована на другой платформе (скажем, Android), то обязательно убедитесь, что поведение консистентно. И не упускайте возможность избежать тех багов, с которыми столкнулись тестировщики другой платформы.
Коммуникация
Здесь рекомендую уточнить требования и убедиться, что продуктом / фичей довольны все заинтересованные стороны.
Загадочная категория «Другое»
В готовом виде «моя прелесть» выглядит следующим образом:
Более читабельный PDF-вариант можно найти по этой ссылке.
Где искать вдохновение и как визуализировать
Если такая mind map подходит для тестирования вашего приложения, забирайте. А для создания кастомной ментальной карты я бы посоветовала сделать несколько простых шагов:
1. Начните с центра — задайте идею, это может быть название как фичи, так и целого проекта.
2. Найдите как можно больше идей, относящихся к проекту:
- Самостоятельный мозговой штурм. Постарайтесь записать все идеи тестирования, которые приходят вам в голову. На этой стадии они могут быть большими или маленькими, использовать различные методологии тестирования, относиться к разным типам тестирования, а главное — основываться на вашем личном опыте и быть важными с вашей точки зрения.
- Привлеките коллег. Попросите коллег помочь с идеями, потому что одна голова хорошо, а две — лучше! Все QA-инженеры разные: кто-то более техничен, кто-то более придирчив к UI; и когда люди, обладающие знаниями в разных областях, обмениваются идеями, они получают полезный опыт и новые знания.
- Интернет. Рекомендую заглянуть на следующие сайты, чтобы дополнить список идей:
— www.ministryoftesting.com, и особенно мне нравится их iOS testing mind map — хороший пример базовых идей по тестированию на iOS. MindMap — Heuristic Testing Strategy Model содержит множество вопросов, которые будут полезны для успешного end-to-end-тестирования.
— www.testingdiaries.com, я считаю их Mobile Testing Checklist полезным, потому что важные проверки указаны в форме ожидаемого результата и показывают, как должно выглядеть идеальное мобильное приложение.
— Классические мнемоники по мобильному тестированию: COP FLUNG GUN и LONG FUN CUP (описывают базовые особенности мобильного тестирования и очень схожи по идеям), I SLICED UP FUN — похож на первые два, но более сбалансированный, и SFDPOT, формирующий тестовые идеи в виде вопросов.
— Книги: Hands-On Mobile App Testing: A Guide for Mobile Testers and Anyone Involved in the Mobile App Business — здесь раскрываются инструменты и техническая часть нефункционального тестирования мобильных приложений, а Tap Into Mobile Application Testing даёт хорошую базу для тестирования приложений, объясняя, на что важно обратить внимание и почему.
3. Отфильтруйте идеи. Их будет много, некоторые будут повторяться. Смело выбрасывайте лишнее.
Выберите имя. Далее нужно придумать для идей хорошие названия. Короткие и аккуратные будут выглядеть гораздо лучше, чем длинные и запутанные. К тому же их будет проще найти в дальнейшем.
4. Разделяй и властвуй. После проработки списка необходимо категоризировать ваши идеи с использованием любой классификации, которая покажется вам наиболее верной, например, по области приложения, типам тестирования и т. д. В итоге вы получите список, разделённый на секции.
5. Визуализируйте. Визуализация — один из важнейших аспектов mind map. Схема должна легко и быстро читаться (мы ведь как раз для этого её и создаём, верно?). Существует множество приложений для создания mind map. Я использовала trial-версию https://simplemind.eu, но могу порекомендовать и другие:
https://coggle.it/
http://www.mindmaple.com/
http://blumind.org/
www.text2mindmap.com
http://wisemapping.com/
И ещё немного полезных советов:
- старайтесь создавать один элемент диаграммы для одного теста;
- подуровни выглядят лучше, чем длинные элементы;
- используйте бесплатное приложение, а не trial-версию платного; или сразу выбирайте то, которое вам больше нравится, иначе когда решите поправить диаграмму, придётся платить.
А напоследок я скажу
Mind map — очень годная вещь, которая позволяет быстро и качественно протестировать приложение, а также освежить в памяти проверки, на которые часто не хватает времени.
В моём случае использование mind map увеличило скорость тестирования фич в среднем на 5—15% (по сравнению с чек-листами).
Надеюсь, эта статья вдохновит вас на создание собственного полезного mind map-шедевра. Уверена, вы получите пользу как от создания ментальной карты, так и от использования. Спасибо за внимание!
Есть проверки, которые я не включала в mind map из-за неактуальности для специфики Badoo. А какие специфичные идеи для тестирования вы бы добавили для своего приложения?