Agile — это методология итеративной разработки, в которой вся команда проекта участвует во всех видах деятельности. Требования развиваются по мере продвижения итераций благодаря сотрудничеству между заказчиком и самоорганизующимися командами. Поскольку кодирование и тестирование выполняются в интерактивном режиме и постепенно, в ходе разработки конечный продукт будет иметь качество и обеспечивать требования клиентов.
Каждая итерация приводит к интегрированному приращению рабочего продукта и доставляется для приемочного тестирования. Полученная таким образом обратная связь с клиентом будет входом для следующих / последующих итераций.
Непрерывная интеграция, постоянное качество
Непрерывная интеграция — ключ к успеху Agile Development. Интегрируйте часто, по крайней мере, ежедневно, так что вы готовы к выпуску по мере необходимости. Тестирование в Agile становится неотъемлемой частью всех этапов разработки, обеспечивая постоянное качество продукта. Постоянные отзывы всех, кто участвует в проекте, повышают качество продукта.
В Agile коммуникация имеет первостепенное значение, а запросы клиентов принимаются по мере необходимости. Это дает клиенту удовлетворение тем, что учитываются все входные данные и продукт высокого качества доступен на протяжении всей разработки.
Agile методологии
Существует несколько гибких методологий, которые поддерживают гибкую разработку. Agile методологии включают в себя —
Scrum
Scrum — это метод Agile-разработки, который делает упор на командно-ориентированный подход. Он выступает за участие всей команды во всех мероприятиях по разработке проекта.
XP
Программирование eXtreme ориентировано на клиента и ориентировано на постоянно меняющиеся требования. С частыми выпусками и отзывами клиентов, конечный продукт будет иметь качество, отвечающее требованиям клиентов, которые становятся понятнее в процессе.
кристалл
Кристалл основан на фрахтовании, циклической доставке и упаковке.
-
Фрахтование включает в себя формирование команды разработчиков, проведение предварительного технико-экономического обоснования, составление первоначального плана и методологии разработки.
-
Циклическая доставка с двумя или более циклами доставки фокусируется на этапе разработки и окончательной комплексной доставки продукта.
-
Во время завершения работы выполняется развертывание в пользовательской среде, анализ и анализ после развертывания.
Фрахтование включает в себя формирование команды разработчиков, проведение предварительного технико-экономического обоснования, составление первоначального плана и методологии разработки.
Циклическая доставка с двумя или более циклами доставки фокусируется на этапе разработки и окончательной комплексной доставки продукта.
Во время завершения работы выполняется развертывание в пользовательской среде, анализ и анализ после развертывания.
FDD
Feature Driven Development (FDD) включает в себя проектирование и сборку элементов. Разница между FDD и другими методологиями гибкой разработки заключается в том, что функции разрабатываются отдельно и на коротких этапах.
DSDM
Метод динамической разработки программного обеспечения (DSDM) основан на быстрой разработке приложений (RAD) и соответствует Agile Framework. DSDM фокусируется на частой поставке продукта, активно вовлекая пользователей и давая возможность командам быстро принимать решения.
Бережливая разработка программного обеспечения
В Lean Software Development основное внимание уделяется устранению потерь и повышению ценности для клиента. Это приводит к быстрому развитию и продукту ценности.
Отходы включают частично выполненную работу, нерелевантную работу, функции, которые не используются заказчиком, дефекты и т. Д., Которые увеличивают задержки при доставке.
Бережливые принципы —
- Ликвидировать отходы
- Усиление обучения
- Задержка обязательств
- Расширение возможностей команды
- Доставить быстро
- Создать целостность в
- Увидеть весь
Kanban
Kanban сосредотачивается на управлении работой с акцентом на своевременную доставку (JIT), не перегружая членов команды. Задачи отображаются для просмотра всеми участниками, а члены команды — для извлечения работы из очереди.
Канбан основан на —
- Канбан Правление (Визуальный и Постоянный через Развитие)
- Предел незавершенного производства (WIP)
- Время выполнения заказа
Методики гибкого тестирования
Методы тестирования четко определены для каждого проекта, будь то Agile или нет, для предоставления качественных продуктов. Традиционные принципы тестирования довольно часто используются в Agile Testing. Одним из них является Раннее тестирование, которое фокусируется на —
-
Написание тестовых случаев для выражения поведения системы.
-
Ранняя профилактика, обнаружение и устранение дефектов.
-
Обеспечение того, чтобы правильные типы тестов выполнялись в нужное время и как часть правильного уровня тестирования.
Написание тестовых случаев для выражения поведения системы.
Ранняя профилактика, обнаружение и устранение дефектов.
Обеспечение того, чтобы правильные типы тестов выполнялись в нужное время и как часть правильного уровня тестирования.
Во всех гибких методологиях, которые мы обсуждали, гибкое тестирование само по себе является методологией. Во всех подходах тестовые случаи пишутся до кодирования.
В этом уроке мы сосредоточимся на Scrum как на методологии Agile-тестирования.
Другие обычно используемые методики тестирования Agile —
-
Разработка через тестирование (TDD) — Разработка через тестирование (TDD) основана на кодировании, основанном на тестах.
-
Разработка на основе приемочных испытаний (ATDD) — Разработка на основе приемочных испытаний (ATDD) основана на коммуникации между заказчиками, разработчиками и тестировщиками и основана на заранее определенных критериях приемки и приемочных тестах.
-
Разработка на основе поведения (BDD). В разработке на основе поведения (BDD) тестирование основывается на ожидаемом поведении разрабатываемого программного обеспечения.
Разработка через тестирование (TDD) — Разработка через тестирование (TDD) основана на кодировании, основанном на тестах.
Разработка на основе приемочных испытаний (ATDD) — Разработка на основе приемочных испытаний (ATDD) основана на коммуникации между заказчиками, разработчиками и тестировщиками и основана на заранее определенных критериях приемки и приемочных тестах.
Разработка на основе поведения (BDD). В разработке на основе поведения (BDD) тестирование основывается на ожидаемом поведении разрабатываемого программного обеспечения.
Agile Testing Lifecycle
В Scrum тестирование включает в себя:
-
Вклад в пользовательские истории, основанный на ожидаемом поведении системы, обозначенной как тестовые случаи
-
Планирование выпуска, основанное на усилиях по тестированию и дефектах
-
Планирование спринта на основе пользовательских историй и дефектов
-
Выполнение спринта с непрерывным тестированием
-
Регрессионное тестирование после завершения спринта
-
Отчет о результатах теста
-
Автоматизация тестирования
Вклад в пользовательские истории, основанный на ожидаемом поведении системы, обозначенной как тестовые случаи
Планирование выпуска, основанное на усилиях по тестированию и дефектах
Планирование спринта на основе пользовательских историй и дефектов
Выполнение спринта с непрерывным тестированием
Регрессионное тестирование после завершения спринта
Отчет о результатах теста
Автоматизация тестирования
Тестирование является итеративным и основано на спринтах, как показано на диаграмме, приведенной ниже —