tестирование dot com
Шрифт:
чая, программисты начинают писать код.
б. Частью кода является файл 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) стал доступным для тестиров-
щиков:
а. После того как программист починил баг, найденный при
тестировании, он тестирует починку на своем плэйгра-
унде, после чего делает checkin отремонтированного кода
в CVS.
б. Отремонтированный код становится частью нового билда.
в. Новый билд замещает (replace) на тест-машине код преды
дущего билда.
Цикл разработки ПО
111
Пример