Содержание:
- V Модель
- Ключевые термины в разработке ПО
- Пример для понимания V-модели
- Проблема каскадной модели
- Решение: V-модель
- Заключение
V-модель
V-модель – это высокодисциплинированная модель SDLC, в которой параллельно с каждым этапом разработки предусмотрен этап тестирования. V-модель является расширенной версией каскадной модели (Waterfall), в которой разработка и тестирование программного обеспечения выполняются последовательно. Она также известна как модель валидации или верификации.
Ключевые термины в разработке ПО
SDLC (Software development lifecycle) – жизненный цикл разработки программного обеспечения. Это последовательность действий, выполняемых разработчиками для проектирования и разработки высококачественного программного обеспечения.
Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ
STLC (Software Testing Life Cycle) – жизненный цикл тестирования программного обеспечения. Он состоит из ряда мероприятий, регулярно проводимых тестировщиками для тестирования программного продукта.
Каскадная модель – представляет собой последовательную модель, разделенную на различные этапы разработки программного обеспечения. Каждый этап предназначен для выполнения определенной деятельности. Фаза тестирования каскадной модели начинается только после завершения реализации системы.
Пример для понимания V-модели
Предположим, перед вами поставлена задача разработать для клиента программное обеспечение. Теперь, независимо от вашей технической подготовки, попытайтесь сделать обоснованное предположение о последовательности шагов, которые вы будете выполнять для достижения этой задачи.
Правильная последовательность будет следующей:
Этапы разработки программного обеспечения | Действия, выполняемые на каждом этапе. |
Этап сбора требований | Соберите у заказчика как можно больше информации о деталях и спецификациях желаемого программного обеспечения. |
Этап проектирования | Планирование языка программирования (Java, PHP, .net), базы данных (Oracle, MySQL и др.). которые подойдут для данного проекта, а также некоторые высокоуровневые функции и архитектуру. |
Этап сборки | После этапа проектирования наступает этап сборки, который представляет собой не что иное, как написание кода программного обеспечения. |
Этап тестирования | Далее проводится тестирование программного обеспечения с целью проверки того, что оно создано в соответствии со спецификацией, предоставленной заказчиком. |
Этап развертывания | Развертывание приложения в соответствующей среде. |
Стадия сопровождения | После того как система готова к использованию, в дальнейшем может потребоваться изменение кода по требованию заказчика. |
Все эти уровни составляют каскадный метод жизненного цикла разработки программного обеспечения.
Проблема каскадной модели
Как можно заметить, тестирование в этой модели начинается только после завершения реализации программного обеспечения.
Но если вы работаете над большим проектом, где системы сложны, легко упустить ключевые детали уже на самом этапе разработки требований. В таких случаях заказчику будет предоставлен совершенно неправильный продукт, и вам, возможно, придется начинать проект заново. Или же, если вам удастся правильно записать требования, но при этом вы допустите серьезные ошибки в дизайне и архитектуре программного обеспечения, вам придется перепроектировать его полностью, чтобы исправить ошибки.
Оценка тысяч проектов показала, что дефекты, возникшие в процессе разработки требований и проектирования, составляют почти половину от их общего числа.
Кроме того, стоимость исправления дефекта возрастает на протяжении всего жизненного цикла разработки. Чем раньше в жизненном цикле обнаружен дефект, тем дешевле его исправить.
Решение: V-модель
Для решения этой проблемы была разработана V-модель, в которой для каждой фазы жизненного цикла разработки существует соответствующая фаза тестирования
- Левая часть модели представляет собой жизненный цикл разработки программного обеспечения – SDLC
- Правая часть модели – жизненный цикл тестирования программного обеспечения – STLC
- Вся фигура выглядит, как буква V, отсюда и название V – модель.
Кроме V-модели, существуют итерационные модели разработки ПО, в которых разработка ведется поэтапно, причем на каждом этапе к программному обеспечению добавляются новые функциональности. К тому же каждый этап включает в себя независимый набор действий по разработке и тестированию.
Хорошими примерами жизненных циклов разработки, основанных на итеративном методе, являются Rapid Application Development, Agile Development.
Заключение
Существует множество моделей жизненного цикла разработки. Выбор правильной модели зависит зависит от целей и задач проекта.
- Тестирование не является самостоятельным видом деятельности, и оно должно адаптироваться к модели разработки, выбранной для проекта.
- В любой модели тестирование должно проводиться на всех уровнях, т.е. начиная с требований и заканчивая сопровождением.
Перевод статьи «V-Model in Software Testing».