Гибкое тестирование - Методологии
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 действия по тестированию включают в себя:
Участие в пользовательских историях на основе ожидаемого поведения системы, представленного в виде тестовых примеров
Планирование выпуска на основе усилий по тестированию и дефектов
Планирование спринта на основе пользовательских историй и дефектов
Выполнение спринта с непрерывным тестированием
Регрессионное тестирование после завершения спринта
Отчет о результатах тестирования
Автоматизация тестирования
Тестирование является итеративным и основывается на спринтах, как показано на диаграмме, приведенной ниже -