Гибкое тестирование - Методологии

Agile - это итеративная методология разработки, при которой вся команда проекта участвует во всех действиях. Требования развиваются по мере выполнения итераций благодаря сотрудничеству между заказчиком и самоорганизующимися командами. Поскольку кодирование и тестирование выполняются в интерактивном режиме и поэтапно, в ходе разработки конечный продукт будет качественным и будет соответствовать требованиям заказчика.

Каждая итерация приводит к интегрированному приращению рабочего продукта и доставляется для пользовательского приемочного тестирования. Полученная таким образом обратная связь с клиентом будет входом в следующую / последующую итерацию.

Непрерывная интеграция, постоянное качество

Непрерывная интеграция - ключ к успеху гибкой разработки. Выполняйте интеграцию часто, по крайней мере, ежедневно, чтобы вы были готовы к выпуску по мере необходимости. Тестирование в Agile становится важным компонентом всех этапов разработки, обеспечивая постоянное качество продукта. Постоянная обратная связь от всех участников проекта повышает качество продукта.

В Agile коммуникации придается первостепенное значение, и запросы клиентов принимаются по мере необходимости. Это дает заказчику удовлетворение от того, что все исходные данные учтены, а продукт рабочего качества доступен на протяжении всего процесса разработки.

Гибкие методологии

Существует несколько гибких методологий, поддерживающих гибкую разработку. Гибкие методологии включают в себя:

Scrum

Scrum - это метод гибкой разработки, в котором упор делается на командный подход. Он выступает за участие всей команды во всех мероприятиях по развитию проекта.

XP

eXtreme Programming ориентирован на клиента и ориентирован на постоянно меняющиеся требования. Благодаря частым выпускам и обратной связи с потребителями конечный продукт будет качественно соответствовать требованиям, которые становятся более ясными в процессе.

Кристалл

Кристалл основан на фрахтовании, цикличной доставке и упаковке.

  • Фрахтование включает в себя формирование команды разработчиков, проведение предварительного технико-экономического анализа, разработку первоначального плана и методологии разработки.

  • Циклическая доставка с двумя или более циклами доставки фокусируется на фазе разработки и окончательной интегрированной доставке продукта.

  • Во время завершения развертывания в пользовательской среде выполняются проверки и размышления после развертывания.

FDD

Feature Driven Development (FDD) включает в себя проектирование и создание функций. Разница между FDD и другими методологиями гибкой разработки заключается в том, что функции разрабатываются в конкретные и короткие фазы отдельно.

DSDM

Метод динамической разработки программного обеспечения (DSDM) основан на быстрой разработке приложений (RAD) и согласован с Agile Framework. DSDM нацелен на частую доставку продукта, активное вовлечение пользователей и предоставление командам возможности быстро принимать решения.

Бережливая разработка программного обеспечения

В Lean Software Development основное внимание уделяется устранению потерь и повышению ценности для клиента. Это приводит к быстрому развитию и созданию ценного продукта.

Отходы включают частично выполненную работу, нерелевантную работу, функции, которые не используются заказчиком, дефекты и т. Д., Которые увеличивают задержки в доставке.

В Lean Principles являются -

  • Устранение отходов
  • Усиление обучения
  • Обязательство отсрочки
  • Расширьте возможности команды
  • Быстро доставить
  • Добросовестность в
  • Увидеть все

Канбан

Канбан фокусируется на управлении работой с упором на своевременную доставку (JIT), не перегружая при этом членов команды. Задачи отображаются для всех участников, а участники группы могут извлекать работу из очереди.

Канбан основан на -

  • Канбан-доска (наглядная и постоянная в процессе разработки)
  • Лимит незавершенного производства (WIP)
  • Время выполнения

Методологии гибкого тестирования

Практика тестирования четко определена для каждого проекта, будь то Agile или нет, чтобы предоставлять качественные продукты. Традиционные принципы тестирования довольно часто используются в Agile-тестировании. Одним из них является раннее тестирование, которое фокусируется на:

  • Написание тестовых примеров для выражения поведения системы.

  • Раннее предотвращение, обнаружение и устранение дефектов.

  • Обеспечение того, чтобы правильные типы тестов выполнялись в нужное время и как часть правильного уровня тестирования.

Во всех обсуждаемых гибких методологиях гибкое тестирование само по себе является методологией. Во всех подходах тестовые случаи пишутся до кодирования.

В этом руководстве мы сосредоточимся на Scrum как на методологии гибкого тестирования.

Другие широко используемые методологии гибкого тестирования:

  • Test-Driven Development (TDD) - Разработка через тестирование (TDD) основана на кодировании, управляемом тестами.

  • Acceptance Test-Driven Development (ATDD) - Разработка, основанная на приемочных тестах (ATDD), основана на общении между клиентами, разработчиками и тестировщиками и управляется заранее определенными критериями приемки и сценариями приемочных испытаний.

  • Behavior-Driven Development (BDD) - При разработке, управляемой поведением (BDD), тестирование основано на ожидаемом поведении разрабатываемого программного обеспечения.

Жизненный цикл гибкого тестирования

В Scrum действия по тестированию включают в себя:

  • Участие в пользовательских историях на основе ожидаемого поведения системы, представленного в виде тестовых примеров

  • Планирование выпуска на основе усилий по тестированию и дефектов

  • Планирование спринта на основе пользовательских историй и дефектов

  • Выполнение спринта с непрерывным тестированием

  • Регрессионное тестирование после завершения спринта

  • Отчет о результатах тестирования

  • Автоматизация тестирования

Тестирование является итеративным и основывается на спринтах, как показано на диаграмме, приведенной ниже -