Совместная разработка-метод создания программного продукта, который даёт возможность непосредственно и заблаговременно привлечь пользователей к задачам и принятию решений, определяющих содержимое системы, ПИ, графику, информационную поддержку, практичность и др. важные стороны продукта.
Система контроля версий — это система, записывающая изменения в файл или набор файлов в течение времени и позволяющая вернуться позже к определённой версии. СКВ позволяют: сохранять все этапы разработки, объединять изменения, решать конфликты, откатываться к предыдущим версиям, сопровождать несколько версий развития программного приложения.
Тестирование программного кода - процесс выполнения программного кода, направленный на выявление существующих в нем дефектов. Задача тестирования при таком подходе - определение условий, при которых проявляются дефекты системы, и протоколирование этих условий.
Методы тестирования
a) Черный ящик. Основная идея состоит в том, что все материалы, которые доступны тестировщику - требования на систему, описывающие ее поведение, и сама система, работать с которой он может, только подавая на ее входы некоторые внешние воздействия и наблюдая на выходах некоторый результат. Все внутренние особенности реализации системы скрыты от тестировщика.
b) Стеклянный (белый) ящик. При тестировании системы как стеклянного ящика тестировщик имеет доступ не только к требованиям к системе, ее входам и выходам, но и к ее внутренней структуре - видит ее программный код.
c) Тестирование моделей. Работая с моделью программного кода системы, можно анализировать его свойства и такие параметры системы, как оптимальность алгоритмов или ее устойчивость.
d) Анализ программного кода (инспекции). Во многих ситуациях тестирование поведения системы в целом невозможно - отдельные участки программного кода могут никогда не выполняться, при этом они будут покрыты требованиями. Примером таких участков кода могут служить обработчики исключительных ситуаций.
Отладка – это комплексный процесс по выявлению и исправлению дефектов в программном обеспечении. Сами же дефекты, обычно, обнаруживается в процессе тестирования ПО.
Традиционно выделяют следующие основные этапы жизненного цикла программного обеспечения: анализ требований, проектирование, кодирование (программирование), тестирование и отладка, эксплуатация и сопровождение.
Maven управляет всеми этапами жизненного цикла проекта, включая валидацию, генерацию кода, компиляцию, тестирование, упаковку, тестирование интеграции, верификацию, установку, развертывание. Maven обеспечивает декларативную, а не императивную сборку проекта. В файлах описания проекта содержится его спецификация, а не отдельные команды выполнения. Все задачи по обработке файлов, описанные в спецификации, Maven выполняет посредством их обработки последовательностью встроенных и внешних плагинов.