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

В IT-отрасли создано много интересных методик разработки ПО. Одна из них – итеративная модель. Давайте посмотрим, что она из себя представляет и какую роль там играет тестировщик.

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

Применение тестирования в итеративной (итерационной) модели

Тестировщик должен иметь представление об итеративной модели разработки ПО. В настоящее время она используется почти повсеместно. Обученный QA-инженер может сказать, какие виды тестирования лучше всего применять для итерационной модели.

Могут это спросить и на собеседовании про роль тестирования в ЖЦ ПО, особенно начинающих тестировщиков. Особенности итеративной модели надо учитывать при составлении чек-листов и тест-кейсов.

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

Итеративная (итерационная) модель (Iterative Model) – это подход к разработке программного обеспечения, когда небольшими циклами совершенствуются рабочие версии (итерации), все более и более продвигаясь к идеальному состоянию. Изначально понятна только задумка (бизнес-идея), без конкретики финального результата. То, в какую сторону нужно совершенствовать – становится понятно после анализа каждой итерации.

Пример

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

И таким образом итерации продолжают улучшаться, пока заказчик не посчитает, что дальше совершенствовать продукт уже нецелесообразно.

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

При итерационной разработке ПО начинают с некоторых начальных требований к продукту, на основании которых делают первый цикл – планирование, проектирование, разработка, тестирование, оценка итерации. Затем аналогично производят следующие циклы, пока продукт не будет в достаточной степени усовершенствован.

Цель каждой итерации — получение улучшенной версии ПО. Она должна содержать как те функции, что были в предыдущей версии, так и новые.

Бюджет и сроки всей разработки, как правило, не установлены жестко, т.к. они зависят от требований, которые могут меняться в течение проекта.

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

Тестирование в итерационной модели имеет свои особенности:

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

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

Плюсы
  • Быстрый выпуск продукта, хотя и с минимальными функциями;
  • Более гибкая подстройка продукта под новые запросы пользователей;
  • Раннее обнаружение дефектов – снижение затрат на их исправление;
  • Экономия ресурсов – не нужно разрабатывать невостребованные функции;
  • Возможность использовать накопленный опыт из предыдущих итераций.
Минусы
  • Отсутствие понятных сразу бюджета и сроков разработки;
  • Исходную архитектуру продукта возможно, придется несколько раз существенно перерабатывать, чтобы обеспечить выпуск следующих итераций;
  • Нередко приходится в значительной мере переписывать решения, уже сделанные в предыдущих итерациях – например, для обеспечения масштабирования баз данных или выравнивания нагрузки на сервер.

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

Эта модель очень нравится заказчикам, т.к. каждая итерация – уже полностью сформированный продукт, а с каждым последующим циклом он становится только лучше. Клиент может оперативно давать обратную связь по каждой итерации. Соответственно, команда проекта более четко представляет себе задачу на новый цикл.

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

  • Когда заказчик не имеет однозначного понимания, как должен выглядеть продукт, и хотел бы менять требования к нему поэтапно.
  • Когда клиент имеет склонность переписывать ТЗ (в силу разных причин).
  • Когда реализуется инвестиционный проект и клиент не уверен, насколько далеко он готов его финансировать.
  • Когда не до конца понятно, какие именно функции будут востребованы пользователями.
  • Когда команда предпочитает работать по принципам AGILE.

Резюме

Итеративная модель – одна из практик гибкой разработки ПО. Ставка в ней делается на регрессионное тестирование, чаще используются тест-кейсы. Также с каждым циклом может происходить переоценка серьезности и приоритета багов.

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

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

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

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

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