комментировать, что было изменено.

3. Самое главное: постоянно присутствует риск, что один из

программистов удалит свою работу или работу коллеги.

Цикл разработки ПО

109

Пример

а. После спецификации, пробормоченнои Харитонычем за рюмочкой

чая, программисты начинают писать код.

б. Частью кода является файл registration.py, который лежит в ди

ректории /usr/local/apache/cgi-bin/ и был написан Димой два дня

назад.

в. Дима копирует этот файл в свою директорию /home/dima и начи

нает его редактировать.

г. Одновременно с ним без всякого злого умысла этот же файл копи

рует и сохраняет в своей директории (/home/mitya) Митя и тоже на

чинает его редактировать.

д. Дима, дописав и протестировав registration.ру, переносит (move)

его обратно в /usr/local/apache/cgi-bin/.

е. Вслед за ним туда же переносит свою версию registration.ру и Митя,

в результате чего:

в /usr/local/apache/cgi-bin/ лежит Митина редакция;

Дима рвет на себе волосы, так как не сохранил у себя ни копии

первоначального файла, ни файла с новым кодом;

Митя рвет на себе волосы, так как в процессе разработки у него

была работающая версия, но он ее не сохранил, а, решив, что

другой алгоритм будет лучше, написал другую версию, которую,

толком не протестировав, перенес в /usr/local/apache/cgi-bin/.

первый релиз откладывается, так как Митина версия registra-

tion.ру абсолютно "не пашет".

осле разбора полетов принимается решение об установке CVS.

VS устанавливается на тест-машину и это дает следующее:

Файлы хранятся в репозитарии (repository),

ОТКУДА

их можно взять для редактирования (checkout) и

КУДА

их можно положить после редактирования (checkin).

При этом

а) каждый раз, когда мы кладем файл в репозитарии,

• не нужно менять имени файла;

• мы можем комментировать, что было изменено в этом

файле;

CVS автоматически присваивает файлу номер редакции

(версии), уникальный для этого файла;

CVS связывает номер версии файла, комментарий к из-

менениям, имя изменившего и время изменения в одну

110

Тестирование Дот Ком. Часть 1

запись (при желании можно увидеть всю историческую

последовательность записей);

б) если Дима взял из репозитария файл, то Митя не может его

оттуда взять, пока Дима не положит его обратно.

Итак, поставив старую добрую и бесплатную CVS, мы имеем:

• все версии файла, каждая из которых кроме уникального

номера версии имеет еще и запись об изменениях;

• программистов, которые уже не могут случайно уничто-

жить код друг друга;

• возможность сравнить содержание файла в разных ре-

дакциях.

Теперь, когда наш код хранится в CVS, возникает другая задача —

как сделать так, чтобы этот код стал доступным на веб-сайте для

тестирования — www.main.testshop.rs? Для решения этой задачи

нужно, чтобы файлы из CVS были интегрированы и отправлены

по назначению в соответствующие директории тест-машины и

чтобы у нас было отражение содержимого CVS

• по состоянию на данный момент и

• для данного релиза.

Каждое такое отражение кода веб-сайта называется билдом (build).

Иными словами, билд это версия версии ПО.

Билды делаются или вручную, или путем запуска билд-скриптов

(build script), т.е. программ, написанных релиз-инженерами для

автоматизации процесса. Как правило, билд-скрипты добавляются

в сгоп (это расписание запуска программ в Линукс-системах), с

тем чтобы создавать новые билды через определенные проме-

жутки времени.

Цель создания новых билдов заключается в том, чтобы изме-

ненный код (сохраненный в CVS) стал доступным для тестиров-

щиков:

Перейти на страницу:

Похожие книги