Преобразование набора возможностей в пользовательские истории — это необязательный шаг, но он способен сделать всю систему тестирования более гибкой. В Google есть несколько команд, которые предпочитают более общие пользовательские истории частным тест-кейсам, когда работают с внешнимим подрядчиками или при организации исследовательского краудсорс-тестирования. Почему? Слишком конкретные тест-кейсы, выполняемые сторонним тестировщиком многократно, вызывают скуку, становятся рутиной, в то время как пользовательские истории дают больше свободы действий, делают процесс тестирования творческим и интересным, защищают от ошибок, которые можно сделать, занимаясь механическим процессом, уже набившим оскомину.
Что бы вы ни выбрали своей целью — создание тест-кейсов, пользовательских историй, а может, и того и другого, — используйте общие правила для трансформации возможностей в тест-кейсы. Имейте в виду, что это просто направляющие, а не абсолютные утверждения.
— Каждая возможность должна быть связана хотя бы с одним тест-кейсом. Если она была записана, значит достаточно важна для того, чтобы ее протестировать.
— Многие возможности требуют более одного тест-кейса. Каждый раз, когда во входной информации есть отклонения, последовательности ввода, системные переменные, тест-кейсов нужно делать несколько. Атаки, описанные в книге «How to Break Software», и туры в «Exploratory Software Testing» здорово описывают принципы выбора тестовых примеров и подход к выбору данных, которые легко превращают возможность в тест-кейс, вылавливающий баг.
— Не все возможности равны. Есть те, которые важнее других. На следующем шаге процесса возможности связываются с рисками и определяют степень их важности.
Завершив ACC-анализ, мы знаем все, что мы могли бы протестировать при неограниченном бюджете и времени. Но поскольку часто не хватает то одного, то другого, будет полезно выделить главное. В Google такая расстановка приоритетов называется анализом рисков , и это будет нашей следующей темой.
Пример: определение атрибутов, компонентов и возможностей Google+
ACC-анализ можно быстро выполнить в текстовом документе, таблице или даже на салфетке! Ниже следует сокращенный вариант ACC-процесса для Google+.
Атрибуты Google+(список сформирован на основе наблюдения за дискуссией руководства Google).
— Социальный: позволяет пользователю обмениваться информацией и мыслями.
— Выразительный: пользователи используют возможности продукта для самовыражения.
— Простой: пользователь легко понимает, как сделать то, что он хочет.
— Релевантный: показывает только ту информацию, которая интересует пользователя.
— Расширяемый: интегрируется с другими ресурсами Google, сторонними сайтами и приложениями.
— Конфиденциальный: данные пользователя не будут открытыми.
Компоненты Google+(получены из архитектурной документации).
— Профиль: информация и настройки текущего пользователя.
— Люди: профили людей, с которыми связан пользователь.
— Лента: ранжированная лента сообщений, комментариев, оповещений, фотографий и т.д.
— Круги: группы контактов («друзья», «коллеги» и т.д.).
— Оповещения: обозначения упоминания пользователя в сообщении.
— Интересы, или «+1»: обозначения материалов, которые понравились пользователю.
— Записи: сообщения о записях пользователей и их кругов.
— Комментарии: комментарии к сообщениям, фотографиям, видеороликам и т.д.
— Фотографии: фотографии, загруженные пользователями и их друзьями.
Возможности Google+.
Профиль:
— Социальный: обмениваться профилями и предпочтениями с друзьями и контактами.
— Выразительный: создавать онлайн-версию самих себя.
— Выразительный: взаимодействовать с Google+ по-своему.
— Простой: легко вводить, обновлять и распространять информацию.
— Расширяемый: передавать данные профилей приложениям с соответствующими правами доступа.
— Конфиденциальный: сохранять свои данные конфиденциальными.
— Конфиденциальный: передавать данные только одобренным пользователям и приложениям.
Люди:
— Социальный: связываться с друзьями, коллегами и членами своих семей.
— Выразительный: легко различать профили других пользователей.
— Простой: удобно управлять контактами пользователя.
— Релевантный: фильтровать свои контакты по своим критериям.
— Расширяемый: передавать контактную информацию службам и приложениям, имеющим необходимые разрешения.
Читать дальше
Конец ознакомительного отрывка
Купить книгу