Рейтинговые книги
Читем онлайн QA Engineer - Михаил Семынин

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 12 13 14 15 16 17 18 19 20 ... 22
— это подход разработки приложений итерациями, который сочетает в себе элементы Waterfall модели и прототипирования с акцентом на управлении рисками. Спиральная модель предназначена для больших сложных проектов с высокими рисками.

Особенности

— Итеративность — проект разделен на итерации (спирали), каждая из которых состоит из определения целей, анализа рисков, разработки и тестирования.

— Управление рисками — особое внимание уделяют анализу рисков на ранних этапах каждой итерации. Это позволяет предотвратить или минимизировать влияние рисков на проект.

— Гибкость — изменения можно вносить на любом этапе разработки.

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

Преимущества:

— Эффективное управление рисками — проблемы выявляют на ранних этапах, что снижает риски для проекта.

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

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

— Инкрементальная доставка — получая конечный продукт по частям, заказчик может на ранних стадиях проекта использовать их и оценить удовлетворенность.

Недостатки:

— Сложность управления — большое количество этапов и итераций затрудняет управление проектом.

— Высокая стоимость — анализ рисков и прототипирование с каждой итерацией увеличивают стоимость проекта.

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

Этапы на каждой итерации:

— Определение целей — происходит сбор требований и определение целей спирали (инкремента).

— Анализ рисков — выполняется идентификация, анализ и разработка стратегий для минимизации рисков в этой итерации.

— Реализация и тестирование — разработка, а затем тестирование прототипа или части продукта на основе анализа рисков и требований.

— Планирование следующей итерации — оценка результатов текущей итерации и планирование следующих шагов для реализации проекта.

6.2.3. V — Model

V — Model — расширение Waterfall модели с акцентом на важности тестирования в каждом этапе разработки. Модель подходит для проектов, в которых требования ясны с самого начала и маловероятно будут меняться. Наиболее полезна в областях с высокими требованиями к надежности и безопасности, например авиационная и автомобильная промышленности, где тестирование на каждом этапе разработки особенно необходимо.

Особенности:

— Симметричность — каждому этапу разработки на левой стороне «V» соответствует этап тестирования на правой стороне. Это делает модель и ее акцент понятными.

— Раннее включение тестирования — тестирование стартует с ранних этапов разработки.

— Четкая структура — этапы выполняют последовательно с четко определенными входами и выходами.

Преимущества:

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

— Ясность процесса — простая и четкая структура, а также соответствие этапов разработки этапам тестирования обеспечивают прозрачность.

— Эффективное выявление ошибок — V — образность модели помогает обнаруживать и устранять ошибки на ранних этапах разработки.

Недостатки:

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

— Риск пропуска ошибок — пропущенные на этапе разработки ошибки могут остаться незамеченными до соответствующего этапа тестирования.

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

Этапы:

— Определение требований — установление функциональных и нефункциональных требований, которые необходимо реализовать.

— Системное проектирование — определение высокоуровневых абстракций, таких как технологии, которые будут использовать; архитектура системы и ее дизайн.

— Архитектурное проектирование — разработка модулей системы и архитектуры компонентов, включая способы взаимодействия.

— Модульное проектирование — более глубокое и подробное проектирование отдельных модулей системы и компонентов.

— Реализация — разработка системы по созданным ранее абстракциям архитектурного и модульного проектирования.

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

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

— Системное тестирование — проверка системы целиком на соответствие требованиям.

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

6.2.4. Iterative and Incremental Development

Iterative and Incremental Development включает в себя элементы итеративного и инкрементального подходов. То есть, когда программное обеспечение развивается повторяющимися итерациями (циклами), при этом добавляя каждый раз некоторую часть продукта к имеющейся. Такую модель можно считать довольно сбалансированной. Она позволяет разработке быстрее адаптироваться к меняющимся требованиям, которые в свою очередь имеют некоторую неопределенность.

Особенности:

— Итерации — весь проект делится на определенное множество итераций. Каждая из них по сути мини — проект, в котором есть собственный цикл планирования, анализа, разработки и тестирования.

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

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

Преимущества:

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

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

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

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

Недостатки:

— Управление и планирование — это касается по большей части крупных проектов, где сложно дать качественную координацию итераций и инкрементов. Модель требует эффективного планирования и управления.

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

Каждая итерация повторяет одни и те же этапы (цикл разработки), однако модель не имеет строгих этапов, но абстрактно они могут выглядеть так:

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

— Анализ требований и проектирование — проводится анализ новых требований или изменений в существующих, выполняется проектирование системы для их последующей реализации.

— Реализация — доработка существующей функциональности в продукте или разработка новой.

— Тестирование — проверка созданных в продукте изменений.

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

6.2.5. Agile Software Development

Agile Software Development — представляет собой набор принципов для разработки программного обеспечения, который поддерживает создание продуктов через регулярное, итерационное сотрудничество между самоорганизующимися кросс — функциональными командами.

1 ... 12 13 14 15 16 17 18 19 20 ... 22
На этой странице вы можете бесплатно читать книгу QA Engineer - Михаил Семынин бесплатно.
Похожие на QA Engineer - Михаил Семынин книги

Оставить комментарий