Методологии разработки: Agile, Waterfall, V-Model

Методологии разработки: Agile, Waterfall, V-Model

Зачем тестировщику разбираться в методологиях

Методология разработки задаёт ритм работы всей команды: когда писать требования, когда тестировать, когда выпускать. Тестировщик встраивается в этот ритм. Если не понимать его — будете «опаздывать» на каждом шаге.

В этом уроке разберём три самых распространённых модели: Waterfall, V-Model и Agile.

Waterfall (каскадная модель)

Классический последовательный подход. Каждый этап SDLC выполняется полностью, и только после этого начинается следующий:

Требования → Дизайн → Разработка → Тестирование → Релиз
   завершено    завершено    завершено        завершено

Плюсы:

  • Чёткая структура и предсказуемые этапы.
  • Хорошо работает на проектах с фиксированными требованиями (госконтракты, embedded-системы, медицинское ПО).
  • Простая отчётность.

Минусы:

  • Изменения требований по ходу проекта стоят дорого: возвращаться к началу очень больно.
  • Тестирование начинается в конце — все накопленные дефекты вылезают разом, времени на их исправление мало.
  • Заказчик видит результат поздно: если что-то пошло не так, узнаём об этом через месяцы.

Где встречается сейчас: банки, госсектор, большие компании с жёсткой документацией. Чисто водопадных проектов осталось мало, но «гибридные» подходы часто унаследовали часть waterfall-практик.

V-Model

V-Model: парные фазы разработки и тестирования

Это «загнутый» Waterfall: каждой фазе разработки соответствует фаза тестирования. Графически выглядит как буква V — фазы разработки идут вниз слева, фазы тестирования поднимаются справа.

Требования  ───────────►  Acceptance testing
   │                              ▲
   ▼                              │
 Дизайн      ───────────►  System testing
   │                              ▲
   ▼                              │
 Архитектура ───────────►  Integration testing
   │                              ▲
   ▼                              │
 Кодирование ───────────►  Unit testing

Главная идея: тестовая документация и тест-кейсы готовятся параллельно с соответствующей фазой разработки, а не «потом».

Плюсы:

  • Тестировщик включён с самого начала.
  • Тест-документация готова к моменту, когда фича написана.
  • Меньше «забытых» сценариев.

Минусы:

  • Те же, что у Waterfall: плохо переносит изменения требований.
  • Подходит проектам с относительно стабильным скоупом.

Где встречается: проекты с высокими требованиями к надёжности (медицина, авионика, автомобили) — там, где «не успели протестировать» = угроза жизни.

Agile (гибкие методологии)

Agile — это не одна методология, а семейство подходов, основанных на Agile-манифесте. Самые известные представители: Scrum, Kanban, XP.

Главные принципы:

  • Работать итерациями (короткими отрезками 1-4 недели), в конце каждой — потенциально готовый продукт.
  • Принимать изменения требований даже на поздних этапах.
  • Тесная коммуникация внутри команды, вместо обмена документами.
  • Постоянная обратная связь от заказчика и пользователей.

Scrum в двух абзацах

Команда работает спринтами — фиксированными отрезками (обычно 2 недели). В начале спринта — планирование (что возьмём в работу). Каждый день — daily (15 минут синхронизации). В конце — демо (показываем результат) и ретроспектива (что улучшим).

Тестировщик в Scrum внутри команды разработки, а не «отдельным отделом». Он работает с фичами в ту же итерацию, в которую их пишут — а не «через спринт после релиза».

Kanban в двух предложениях

В Kanban нет фиксированных спринтов. Команда работает с потоком задач на доске, ограничивая количество задач в каждой колонке (WIP limit). Релизы могут случаться когда угодно — как только фича прошла все колонки.

Сравнение

Waterfall vs Agile: последовательная vs итеративная модель

ПараметрWaterfallV-ModelAgile
Изменения требованийдорогодорогодёшево
QA включаетсяв концес начала, но «отдельно»с начала, внутри команды
Релизыодин большойодин большойчастые маленькие
Документацияподробнаяподробнаяминимально достаточная
Подходит длястабильных проектовкритичных по надёжностипродуктовой разработки

Что это значит для тестировщика

В Waterfall — заранее готовьте тест-план и будьте готовы тестировать большой объём в конце.

В V-Model — пишите тест-кейсы параллельно с фазой разработки, требуйте у команды критерии приёмки заранее.

В Agile/Scrum — учитесь работать в коротких итерациях: тест-кейсы, выполнение и ретест бага укладываются в один-два спринта. Будьте на всех командных встречах: на грумминге задаёте вопросы аналитику, на дейли синхронизируетесь, на ретро улучшаете процесс.

Что мы запомним

  • Waterfall — последовательный, документированный, плохо переносит изменения.
  • V-Model — каждой фазе разработки парная фаза тестирования. QA вовлечён рано.
  • Agile — итерации, изменения принимаются, QA внутри команды разработки.
  • Scrum — самый популярный «вкус» Agile: спринты, daily, демо, ретро.
  • Тестировщик подстраивает свой ритм работы под методологию команды.

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике