Agile Testing - тестировщик в команде
Agile-разработка ориентирована на команду, и разработчики и тестировщики принимают участие во всех проектах и разработках. Работа в команде максимизирует успех тестирования в Agile проектах.
Команда тестировщиков в Agile должна участвовать и вносить свой вклад во все действия по проекту и в то же время должна использовать свой опыт в тестировании.
У Agile-тестировщика должны быть традиционные навыки тестирования. Кроме того, Agile-тестировщику необходимо -
Хорошие навыки межличностного общения.
Способность действовать позитивно и ориентироваться на решения с членами команды и заинтересованными сторонами.
Способность проявлять критическое, ориентированное на качество, скептическое отношение к продукту.
Способность проявлять инициативу и активно получать информацию от заинтересованных сторон.
Навыки для эффективной работы с клиентами и заинтересованными сторонами в определении тестируемых пользовательских историй, критериев приемлемости.
Талант быть хорошим членом команды, работающей с разработчиками над созданием качественного кода.
Удобство использования навыков тестирования, чтобы иметь правильные тестовые примеры в нужное время и на нужном уровне и хорошо выполнять их в течение спринта.
Возможность оценивать и сообщать результаты тестирования, ход тестирования и качество продукции.
Открытость для быстрого реагирования на изменения, включая изменение, добавление или улучшение тестовых примеров.
Возможность самоорганизации работы.
Энтузиазм к постоянному повышению квалификации.
Компетентность в автоматизации тестирования, разработке на основе тестирования (TDD), разработке на основе приемочных испытаний (ATDD), разработке на основе поведения (BDD) и тестировании на основе опыта.
Роль тестировщика в Agile-команде
Тестировщик в Agile Team участвует во всех проектах и мероприятиях по разработке, чтобы внести свой лучший опыт в области тестирования.
Действия Agile Tester включают:
Обеспечение правильного использования инструментов тестирования.
Настройка, использование и управление тестовыми средами и тестовыми данными.
Наставление других членов команды по соответствующим аспектам тестирования.
Обеспечение планирования соответствующих задач тестирования во время планирования выпуска и спринта.
Понимание, внедрение и обновление стратегии тестирования.
Сотрудничество с разработчиками, клиентами и заинтересованными сторонами в уточнении требований с точки зрения тестируемости, согласованности и полноты.
Проведение нужных тестов в нужное время и на нужных уровнях тестирования.
Сообщение о дефектах и работа с командой по их устранению.
Измерение тестового покрытия и создание отчетов по всем применимым параметрам покрытия.
Участие в ретроспективе спринтов, активное предложение и внедрение улучшений.
В Agile Lifecycle тестировщик играет важную роль в:
- Teamwork
- Планирование тестирования
- Нулевой спринт
- Integration
- Практики гибкого тестирования
Командная работа
В гибкой разработке командная работа является фундаментальной и, следовательно, требует следующего:
Collaborative Approach- Работа с межфункциональными членами команды над стратегией тестирования, планированием тестирования, спецификацией тестирования, выполнением теста, оценкой тестирования и отчетностью по результатам тестирования. Участие в тестировании вместе с другими командными действиями.
Self-organizing - Хорошее планирование и организация спринтов для достижения целей тестирования путем объединения опыта других членов команды.
Empowerment - Принятие соответствующих технических решений в достижении целей команды.
Commitment - Стремление понять и оценить поведение и характеристики продукта в соответствии с требованиями потребителей и заинтересованных сторон.
Transparent - Открытость, общение и ответственность.
Credibility- Обеспечение достоверности стратегии тестирования, ее реализации и исполнения. Информирование клиентов и заинтересованных сторон о стратегии тестирования.
Open to Feedback- Участие в ретроспективе спринтов, чтобы учиться на успехах и неудачах. Поиск отзывов клиентов и быстрые и адекватные действия для обеспечения качественных результатов.
Resilient - Реагирование на изменения.
Планирование тестирования
Планирование тестирования следует начинать во время планирования выпуска и обновлять во время каждого спринта. Планирование тестирования должно охватывать следующие задачи -
Определение объема тестирования, объема тестирования, целей тестирования и спринта.
Выбор тестовой среды, инструментов тестирования, тестовых данных и конфигураций.
Назначение тестирования функций и характеристик.
Планирование тестовых заданий и определение частоты тестов.
Определение методов, методов, инструментов и данных тестирования.
Установление предварительных условий, таких как предыдущие задачи, опыт и обучение.
Выявление зависимостей, таких как функции, код, системные компоненты, поставщик, технология, инструменты, действия, задачи, команды, типы тестов, уровни тестирования и ограничения.
Расстановка приоритетов с учетом важности и зависимостей клиента / пользователя.
Прибытие во время, продолжительность и усилия, необходимые для тестирования.
Определение задач при планировании каждого спринта.
Нулевой спринт
Sprint Zero включает в себя подготовительные мероприятия перед первым спринтом. Тестировщику необходимо сотрудничать с командой в следующих действиях:
- Определение объема
- Разделение пользовательских историй на спринты
- Создание системной архитектуры
- Планирование, приобретение и установка инструментов (включая инструменты тестирования)
- Создание исходной стратегии тестирования для всех уровней тестирования
- Определение показателей тестирования
- Определение критериев приемки, также называемое определением «Готово»
- Определение критериев выхода
- Создание скрам-доски
- Задание направления тестирования на всех спринтах
Интеграция
В Agile качественный рабочий продукт должен быть готов к выпуску в любой момент жизненного цикла разработки. Это подразумевает непрерывную интеграцию как часть разработки. Тестировщик Agile должен поддерживать непрерывную интеграцию с непрерывным тестированием.
Для этого тестировщику необходимо:
- Разберитесь в стратегии интеграции.
- Определите все зависимости между функциями и функциями.
Практики гибкого тестирования
Тестировщику Agile необходимо адаптировать методы Agile для тестирования в гибком проекте.
Pairing- Два члена команды работают вместе за одной клавиатурой. Один из них тестирует, другой рассматривает / анализирует тестирование. Два члена команды могут быть
Один тестировщик и один разработчик
Один тестировщик и один бизнес-аналитик
Два тестера
Incremental Test Design - Тестовые примеры строятся из пользовательских историй, начиная с простых тестов и заканчивая более сложными.
Mind Mapping- Интеллектуальная карта - это диаграмма для визуальной организации информации. Mind mapping можно использовать как эффективный инструмент в Agile-тестировании, с помощью которого можно организовать информацию о необходимых тестовых сессиях, стратегиях тестирования и тестовых данных.