Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования.

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

Версия программы может быть целым числом (Corel Draw 11), дробным числом (Windows

3.11), последовательностью чисел (JDK1.0.3), годом (Windows 2000) или текстом (Embarcadero Delphi XE). В любом случае, система версионирования выбирается по нескольким критериям:

Поддержка той или иной системы со стороны ПО для разработки (компилятора, системы контроля версий и т. д.)

Частота выхода новых версий и их «сырость». Сложная программа, выпускаемая раз в несколько лет и перед выпуском проходящая

всеобъемлющее тестирование, может именоваться как «Microsoft Word 97 SP2», в то время как в программе с частыми малостабильными выпусками приходится вводить более сложную нумерацию.

Степень совместимости сетевых протоколов, документов или надстроек сторонних разработчиков — например, «старшая» версия увеличивается с каждым изменением ABI или API. • Маркетинговые соображения.

Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования. - student2.ru Система контроля версий (СКВ) — это система, регистрирующая изменения в одном или нескольких файлах с тем, чтобы в дальнейшем была возможность вернуться к определённым старым версиям этих файлов.

Локальные системы контроля версий

Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования. - student2.ru Многие предпочитают контролировать версии, просто копируя файлы в другой каталог (как правило добавляя текущую дату к названию каталога). Такой подход очень распространён, потому что прост, но он и чаще даёт сбои. Очень легко забыть, что ты не в том каталоге, и случайно изменить не тот файл, либо скопировать файлы не туда, куда хотел, и затереть нужные файлы.

Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования. - student2.ru

Следующей основной проблемой оказалась необходимость сотрудничать с разработчиками за другими компьютерами. Чтобы решить её, были созданы

Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования. - student2.ru централизованные системы контроля версий (ЦСКВ). В таких системах, например CVS, Subversion и Perforce, есть центральный сервер, на котором хранятся все файлы под версионным контролем, и ряд клиентов, которые получают копии файлов из него. Много лет это было стандартом для систем контроля версий (см. рис. 1-2).

Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования. - student2.ru

Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования. - student2.ru И в этой ситуации в игру вступают распределённые системы контроля версий (РСКВ). В таких системах как Git, Mercurial, Bazaar или Darcs клиенты не просто выгружают последние версии файлов, а полностью копируют весь репозиторий. Поэтому в случае, когда "умирает" сервер, через который шла работа, любой клиентский репозиторий может быть скопирован обратно на сервер, чтобы восстановить базу данных. Каждый раз, когда клиент забирает свежую версию файлов, он создаёт себе полную копию всех данных (см. рисунок 1-3).

Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования. - student2.ru

Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования. - student2.ru

Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования. - student2.ru

Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования. - student2.ru

Версии программного продукта, системы контроля версий. Количественные критерии качества тестирования. - student2.ru

Наши рекомендации