Тестирование программного обеспечения с контролем версий - PullRequest
1 голос
/ 23 мая 2011

Итак, как разработчик, вы, вероятно, пишете небольшой объем кода, а затем тестируете его, чтобы увидеть, работает ли он, прежде чем переходить к чему-то другому.Это потому, что вы не хотите писать тысячи строк кода и находить, что это не работает.Изложение очевидного здесь.Поэтому я и несколько других (скоро) работаем над приложением php, где я хочу реализовать некоторую форму контроля версий, скорее всего, подрывную деятельность, поскольку мы все знаем, как ее использовать, в некоторой степени.Мой вопрос заключается в том, как мне реализовать вышеописанный процесс написания с написанием, а затем тестированием.

Моя идея заключалась в том, чтобы настроить каждого разработчика на свою рабочую станцию, включая веб-сервер, php / mysql и т. Д., Чтобы они могли оформить репозиторий и затем тестировать на своем компьютере во время записи.Я действительно ищу какое-то направление здесь с этим.В настоящее время мы не используем контроль версий, поскольку есть только два разработчика, и мы просто используем общий каталог, расположенный на веб-сервере.Когда мы вносим изменения, мы можем сразу же просматривать их на веб-сервере.Любой вклад в это?Как лучше всего обращаться с несколькими разработчиками в процессе разработки приложения?

Ответы [ 3 ]

2 голосов
/ 23 мая 2011

Вы должны начать думать о сервере сборки, используя такое программное обеспечение, как cruisecontrol, которое отслеживает изменения исходного кода, а затем может собирать, запускать тесты и развертывать ваш код (изд.как можно ближе к жизни!).

Я бы настоятельно рекомендовал как можно скорее интегрировать сервер сборки, в противном случае вы обнаружите, что автоматизация чего-то, что кто-то делал вручную в последний раз5 лет - это довольно сложно:)

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

Управление конфигурацией - это то, что вы хотите получить с самого начала!

2 голосов
/ 23 мая 2011

Есть несколько способов подойти к этому:

1) Каждый разработчик имеет на своем компьютере целый стек веб-серверов, развертывает его и тестирует там, а затем проверяет рабочий код.

2) Есть отдельная машина для тестирования / интеграции. Разработчики по очереди внедряются на эту машину, проводят тестирование, а затем проверяют рабочий код.

3) Вы используете филиалы в Subversion. Разработка происходит на ветке, и можно проверить неработающий код на ветке. Может быть ветвь для каждого разработчика, или ветвь для каждой функции, или что-то еще. Разработчик проверяет код на ветви, проверяет его на отдельном тестовом компьютере, тестирует, исправляет, а затем проверяет рабочий код на соединительной линии.

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

1 голос
/ 24 мая 2011

Одна важная вещь с CI: вам нужно только отправить рабочий код в центральное хранилище.Это требует частного репозитория для каждого разработчика, но имеет то преимущество, что вы никогда не ломаете транк.Git и Mercurial являются наиболее очевидными инструментами и могут работать с svn в качестве центрального репозитория.

Чтобы предотвратить конфликты слияния, есть один прием, чтобы предотвратить передачу неработающего кода в центр: всегда сначала извлекайте / объединяйте из центрального, ичасто, до нажатия:

http://martinfowler.com/bliki/FeatureBranch.html

И посмотрите на нашего спонсора: http://hginit.com для примеров рабочих процессов с несколькими разработчиками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...