V-модель тестирования ✌️

Это модель тестирования, в которой фаза тестирования происходит параллельно с соответствующей фазой написания кода. V-модель является расширением waterfall-модели, в которой тестирование происходит после разработки. Известна под названием модель верификации или модель валидации.

Термины

SDLC. Жизненный цикл разработки программного обеспечения (Software Development Life Cycle). Это последовательность действий, выполняемая разработчиками при написании программ.

STLC. Жизненный цикл тестирования (Software Testing Life Cycle). Состоит из серий действий, выполняемых тестировщиками, которые последовательно проверяют код на ошибки.

Waterfall (модель водопада, каскадная модель). Эта модель — «последовательная», разработка в ней делится на последовательные отрезки. На каждом отрезке разработчики сосредотачиваются на отдельной задаче. Этап тестирования в этой модели начинается только после разработки системы.

Пример каскадной модели

Представим, что у нас есть задача написать софт для клиента. Давайте попробуем описать шаги и их последовательность для выполнения задачи.

Планируем, на каком языке будем писать софт (например Java, PHP или .NET или другие). Какие будут базы данных (Oracle, MySQL и т.п.). Далее пишем код. После окончания разработки тестируем код, проверяем, соответствует ли результат требованиям клиента. Далее «шлифуем» код, исправляем баги и замечания клиента.

Этапы жизненного цикла разработки программного обеспеченияДействия
Сбор требованийСобираем как можно больше информации о продукте. Описываем требования к системе.
Проектирование и дизайнВыбираем языки программирования, базы данных и другие инструменты разработки. Оцениваем, что лучше всего подходит в данном конкретном проекте, продумываем архитектуру.
РазработкаЭтап создания приложения — то есть, непосредственно написания кода.
ТестированиеПроверяем, соответствует ли софт требованиям клиента.
РазворачиваниеУстанавливаем и настраиваем приложение в его программной среде (на сервере, на машине клиента и т.п.)
ПоддержкаВ завершение поддерживаем работоспособность системы, дорабатываем функционал (по необходимости), исправляем баги, не выявленные на этапе тестирования.

Перечисленные в таблице этапы — и есть каскадная модель разработки.

Проблемы каскадной модели

Как вы уже увидели, тесты в каскадной модели начинаются только после имплементации софта.

Но, если разрабатывается большая сложная система, то легко упустить ключевые детали еще на этапе требований. В таких случаях в финале может получиться результат, который не будет соответствовать ожиданиям клиента (из-за ошибок, допущенных на ранних этапах). Возможно придется начинать все сначала. Или, если команда учла требования, но допустила серьезные ошибки в дизайне или архитектуре, надо будет менять архитектуру приложения.

Опыт тысяч проектов показывает, что баги возникают на этапе согласования требований и на этапе дизайна; такие дефекты могут составлять половину от всех багов!

Стоимость устранения дефектов возрастает к концу жизненного цикла приложения. Чем раньше возник баг, тем сложнее и дороже его устранить. Как говорит английская народная пословица, «Один шов, сделанный вовремя стоит десяти».

Решение проблемы: V-модель

Для решения этой проблемы создана так называемая V-модель тестирования. В этой модели, на каждом этапе жизненного цикла приложения есть своя соответствующая фаза тестирования.

  • Слева на рисунке — Жизненный цикл разработки (SDLC)
  • Справа — Жизненный цикл тестирования (STLC)
    Фигура получается похожей на букву V, поэтому модель и получила такое название.

Кроме V-модели, есть «итеративные» модели разработки; в них разработка выполняется итерационно. На каждом этапе в софт добавляются новые функции. И на каждом этапе есть своя фаза тестирования.

Примеры жизненных циклов, в которых разработка проходит итерациями: Rapid Application Development (RAD), Agile.

Итак

Существует много типов жизненных циклов разработки. Модель для конкретного проекта зависит от конкретных условий и от самого проекта.

Тестирование входит во все современные модели разработки. В любой модели тестирование должно выполняться на всех уровнях — начиная с этапа описания требований заканчивая этапом поддержки готового софта.

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

3 КОММЕНТАРИИ

Подписаться
Уведомить о
guest

3 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
marat
marat
2 лет назад

Я так и не понял, в V-модели получается, что 2 жизненных цикла идут параллельно друг другу?

Are
Are
1 год назад
Ответить на  marat

Верно. Когда со стороны разработчиков идет этап анализа требований, qa в это время пишут тест-план/тест-кейсы/чек-листы для будущего системного тестирования; аналогично на следующих этапах sdlc.

Eug
Eug
10 месяцев назад
Ответить на  Are

QA не пишут unit тесты, их в 99,9% случаев пишут разработчики.
Иначе QA тратили огромное количество времени денег разбираясь в каждой функции.

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас