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-тестировании, с помощью которого можно организовать информацию о необходимых тестовых сессиях, стратегиях тестирования и тестовых данных.