Тестирование в инкрементной модели разработки ПО

В мире существует достаточно много технологий разработки программного обеспечения. Естественно, тестирование должно подстраиваться под нужды разработчиков. Это справедливо и для инкрементной модели.

Тестировщик » QA-блог » Обучение QA » Тестирование в инкрементной модели разработки ПО
на изображение обяснение тестирование в инкрементной модели разработки ПО

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

Любой тестировщик, особенно начинающий, должен знать основные подходы и модели разработки, которые приняты в IT. Кроме того, он должен понимать место QA в зависимости от их применения, например, для модели «Водопад» или с точки зрения AGILE-манифеста. Давайте рассмотрим, как тестирование применяется в инкрементной модели.

Что такое инкрементная модель разработки

Инкрементная модель (Incremental Model) – это такая модель разработки, в которой «сборка» ПО происходит поэтапно: от базовой модификации до самой продвинутой, финальной. Такое развитие модификации происходит путем постепенного добавления новых функций (их называют «инкременты», от английского слова Increment – приращение).

Пример

Например, мы разрабатываем приложение для знакомств.

  1. Сначала делаем базовую версию, в которой предусмотрено только размещение одной фотографии и краткой информации о себе, а также чат между пользователями.
  2. Добавляем в приложение безопасную авторизацию.
  3. Вводим возможность прикреплять большее количество фотографий и их редактирование.
  4. Внедряем механизм лайков и мэтчей (чат будет включаться только после того, как пользователи поставили друг другу лайки).
  5. Добавляем возможность поиска подходящего знакомства, в т.ч. по геолокации.

Продолжаем так делать, пока приложение не будет соответствовать всем заявленным требованиям.

Как инкрементная модель функционирует изнутри

Когда понятен финальный образ продукта, его разработку разбивают на базовую версию и серию циклов-инкрементов. В каждом отдельном цикле работают по каскадной модели «Водопад». Получается такая серия мини-водопадов.

По итогам последнего из них должна выйти полная версия продукта со всеми предусмотренными функциями.

Роль тестирования в инкрементной модели

Тестирование на таких проектах имеет свои особенности:

  • Акцент делается на модульное тестирование;
  • После внедрения каждого инкремента делают регрессионное тестирование, чтобы проверить, что все ранее созданные функции продолжают работать корректно;
  • Более оперативная обратная связь от клиента по качеству, т.к. он видит работоспособные модификации;
  • Возможен пересмотр перечня тестируемых характеристик ПО после каждого инкремента.

Каковы плюсы и минусы инкрементной модели

Плюсы
  • Быстрая разработка базовой модификации как работоспособного продукта
  • Клиент видит работоспособные модификации и сразу дает обратную связь
  • Можно вносить изменения в продукт при продвижении по инкрементам
  • Можно снизить вложения в продукт, отказавшись от некоторых инкрементов еще на этапах разработки
  • Раннее обнаружение дефектов – снижение затрат на их исправление
Минусы
  • Архитектура продукта изначально не всегда прозрачна, могут возникнуть трудности при стыковке инкрементов
  • Необходимость тщательного планирования, иначе могут быть большие потери ресурса из-за несогласованности действий команды
  • Стоимость и сроки разработки могут превышать запланированные, если потребуются дополнительные инкременты.

Как клиент видит результат

Клиент получает работоспособную модификацию продукта после каждого цикла. Т.е. после внедрения каждого инкремента. Клиент может изучать эти модификации и по результатам изучения – вносить изменения в ТЗ.

В случае необходимости – разрабатывается новый план проекта с уточнением необходимых будущих инкрементов.

Когда инкрементная модель эффективна

  • Когда продукт нужно выпустить на рынок как можно быстрее
  • Когда есть четко понимаемые требования к продукту, при этом отдельные поэтапные изменения можно также формализовать и доработать по мере реализации
  • Когда общая канва продукта понятна, но клиент еще не до конца представляет себе детали и частности
  • Когда клиент хочет создавать продукт поэтапно и принимать решение о дальнейшей функциональности в зависимости от того, что получится в каждом цикле

Резюме

Тестировщик должен понимать инкрементную модель, потому что она одна из самых основных в IT. Даже если не придется в ней работать, ее могут спросить на собеседованиях. Суть модели в том, что разработка идет поэтапно, путем добавления инкрементов (приращений) от базовой к финальной модификации продукта. Поэтому в этой модели часто используется модульное и регресионное тестирование.

на изображение автор Михаил Кулешов

Автор Михаил Кулешов

Михаил, профессиональный партнерский маркетолог, является основателем компании South Media OÜ, которая была создана в 2018 году и базируется в Таллинне. С 2016 года Михаил уехал из Финляндии и жил как настоящий «цифровой кочевник» в IT-индустрии, путешествуя по миру только с ноутбуком. Михаил работает и пишет статьи, связанные с IT-индустрией.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *