ACC - конструируем тест-план методом Google Родион Горицков. Консорциум «Кодекс»
Немного о себе • Зовут меня Родион Горицков • В тестировании с 2011 года • Люблю сложные и большие проекты, за которые никто не хочет браться • Много занимаюсь автоматизацией тестирования с использованием Webdriver и Python (сегодня не об этом!) • В последний год активно изучаю вопросы планирования тестирования и составления тест-планов • Пишу утилиты для тестировщиков и охотно выкладываю их на GitHub • На досуге участвую в тестировании MediaWiki в качестве волонтёра
План таков 1. Узнаем, что такое ACC 2. Возьмём приложение для примера 3. Определим атрибуты 4. Определим компоненты 5. Определим возможности 6. Напишем характеристики возможностей 7. Счастье и PROFIT!!1
Начнём с проблем
Имеются в наличии • Большой и древний проект • Слабая документация • Ограниченное время • Серьёзная ответственность
Что получим в итоге?
Награда за труды • Полное представление о функциональности системы • Карта рисков по отдельным модулям системы – ловим критичные ошибки • Отсортированный по модулям и атрибутам список возможностей • Основа для составления тест-плана • Спокойствие и уверенность в проводимых тестах
Человек-ГУГЛ
И волшебный метод ACC Расшифровывается просто: • Attribute • Component • Capability
Для демонстрации метода приглашается…
Калькулятор
Представьте, что не имеете о калькуляторе никакого представления
И начнём использовать ACC
Attribute (Атрибут) • Ключевая характеристика системы • Прилагательное (дело вкуса!) • Небольшое количество
Как выделить Атрибуты? • Спросить у отдела маркетинга • Спросить у ПМа • Поспрашивать у программистов • Реклама продукта • Интуиция
Пример атрибутов калькулятора • Простой • Удобный • Настраиваемый • Надёжный
Component (Компонент) • Модуль или часть системы • Не очень крупный • Не слишком мелкий • Число больше, чем у Атрибутов
Как разбить систему на Компоненты? • Поговорить с разработчиками • Интуиция – всему голова • Можно дополнить позже
Компоненты калькулятора • Арифметические операции • Память • Строка ввода-вывода • Преобразование единиц • Журнал операций • Встроенные листы (я тоже о них не знал)
Атрибуты готовы Компоненты готовы Тест-план уже готов?
Нет, готова только таблица!
И тут появляются Capabilities Это как фичи, только: • Относятся к Компонентам системы • Обеспечивают Атрибуты системы
Характеристики Возможностей • Частота отказов – 5 ступеней • Критичность отказов – 5 ступеней
Выглядит всё это так
Критерии установки характеристик • Уже найденные ошибки • Сложность реализации • Важность для пользователя • Новизна
Вводим Возможности в систему
И получаем результат
Можно привязать тесты и баги
• Получили наглядную карту рисков • Узнали обо всех возможностях программы • Получили список возможностей по атрибутам и компонентам • Наладили учёт багов и тест-кейсов для возможностей системы • Найденные ошибки учитываются при расчёте рисков Результат налицо
Неочевидные итоги • Картина продукта «на расстоянии» • Представление о наименее надёжных модулях • Возможность приоритизации по рискам и атрибутам • Надёжная и удобная основа для написания тестовых сценариев и тест-планов • Просто поддерживать в актуальном состоянии
Пару слов о приложении для ACC • Веб-приложение с открытым исходным кодом – TestAnalytics http ://code.google.com/p/test-analytics / • Попробуйте прямо сейчас (дослушав доклад, естественно!) https://test-analytics.appspot.com/ • Гугл надорвался поддерживать, поэтому есть форк, поддерживается с любовью (инструкция по установке - внутри) https ://github.com/rodion-goritskov/test-analytics-ng
Планы по развитию приложения • Удобный импорт данных из баг-трекеров • Импорт данных из систем управления тест- кейсами
Спасибо за внимание! Заинтересовались ACC? Пишите письма! E-mail и Jabber : rodion@goritskov.com GitHub https://github.com/rodion-goritskov