Одной из моделей создания программного обеспечения является Feature-Driven Development – разработка, управляемая функциональностью. Рассмотрим, какую роль в нем играет тестирование.
Одной из моделей создания программного обеспечения является Feature-Driven Development – разработка, управляемая функциональностью. Рассмотрим, какую роль в нем играет тестирование.
Оглавление
ToggleРазработка, управляемая функциональностью, – это одна из гибких технологий создания ПО. В FDD сначала создают план по функциям, которые должны быть в приложении, а затем их проектируют и реализуют.
В FDD каждая новая версия продукта выходит через 2 недели, поэтому она имеет много общего с итеративной моделью.
FDD включает в себя следующие пять базовых процессов:
Рассмотрим их по порядку.
Этим процессом начинается общее проектирование продукта. В нем анализируются задачи, которые должно решать будущее ПО, и контекст применения программы. Для каждой области применения (Domain) составляются описания и предлагаются модели для реализации задач.
Команда проекта может делать это в отдельных группах. Затем все модели обсуждаются и оцениваются. После этого из них выбираются те, которые войдут в общую модель ПО.
В этом процессе формируется перечень функций, которые должны быть разработаны. Для этого области применения разбиваются на подобласти (Subject Areas) – процедуры со своими шагами, при этом в качестве шагов – функции.
Функции должны быть полезными для клиента. А еще они должны быть такого размера, чтобы разработка каждой из них заняла не более 2 недель. Если более 2 недель – значит, эту функцию надо разбить на несколько.
После этого общее проектирование завершается. Следующие три процесса повторяются для каждой из функций.
В этом процессе формируется план создания функции. Для этого функции распределяются между ведущими разработчиками по принципу однородности или смежности. При необходимости они могут быть объединены в классы.
При планировании учитывается сложность реализации функций, нагрузка на команду, потенциальные риски и другие аспекты разработки.
В этом процессе для каждой функции производится ее проектирование. Для этого каждый ведущий разработчик определяет конкретный состав функций для дизайна и реализации в течение данной 2-недельной итерации.
Для удобства дизайна используются диаграммы последовательности (графическая схема последовательного взаимодействия объектов при выполнении функции).
В этом процессе производится программирование функции. Разработчики пишут код и занимаются его отладкой. По мере готовности каждая функция включается в основную сборку. Этим FDD напоминает инкрементную модель.
Реализация функции – основной процесс в данной методологии, команда разработчиков тратит на него наибольшую часть своих ресурсов.
Тестирование (Quality Assurance, QA) в Feature-Driven Development имеет следующую специфику применения:
Разработка, управляемая функциональностью (Feature-Driven Development, FDD), предусматривает составление списка функций и затем их постепенную реализацию. FDD состоит из 5 процессов, имеет много похожего с итеративной и инкрементной моделями разработки. QA в FDD играет важную роль на этапах дизайна и реализации функций, особенно модульное тестирование.
Автор Михаил Кулешов
Михаил, профессиональный партнерский маркетолог, является основателем компании South Media OÜ, которая была создана в 2018 году и базируется в Таллинне. С 2016 года Михаил уехал из Финляндии и жил как настоящий «цифровой кочевник» в IT-индустрии, путешествуя по миру только с ноутбуком. Михаил работает и пишет статьи, связанные с IT-индустрией.
© Copyright 2023 Testirovshik.com