Знакомство с Team Environment
Логическая организация работы в Team Foundation Server.
Продукт TFS позволяет команде разработчиков хранить исходный код в централизованном хранилище. Извлекая код из хранилища, при помощи сервера сборки вы создаете сборки (build), а затем передаете их группе испытателей.
На рис. 1 показано, как в TFS организован рабочий процесс и как связаны между собой среда разработчиков и среда испытателей.
Рис. 1. Логический документооборот Team Foundation Server
Тестовая группа запускает результаты сборки в тестовой среде, проводя сочетание ручных и автоматических тестов. Результаты тестов хранятся в TFS и используются для организации обратной связи по вопросам качества сборки. Кроме того, тестовая группа может создавать рабочие элементы и ошибки (особый тип рабочего элемента), на которые группе разработчиков следует обратить внимание. Эти элементы позволяют группе тестирования отслеживать работу группы разработчиков.
Логическая организация работы в средах разработки, тестирования и производства
В крупных организациях, где имеется несколько групп разработчиков, у каждой из них есть собственный TFS с отдельными хранилищами и серверами сборки. На рис. 2 показан пример логического потока операций для двух групп разработчиков, передающих сборки в объединенную группу испытаний.
Рис. 2. Логическая организация работ в двух группах разработчиков и одной группе комплексного тестирования
Каждая группа разработки по расписанию передает сборки в точку сбора, например в общий сетевой ресурс. Группа тестирования извлекает сборки оттуда и проводит их испытания, определяя качество сборок. Когда контроль качества пройден, приложение развертывается на модельном сервере для итогового тестирования и проверки пользователями. После этого приложение развертывается на рабочем сервере.
Процесс разработки
Работая над проектом ПО, разработчики вовлечены в несколько ключевых взаимодействий с TFS. Например, разработчик взаимодействует с TFS следующими способами:
· Осуществляет доступ к ошибкам и задачам TFS, чтобы выяснить, какую работу ему нужно сделать. Рабочие элементы могут назначаться разработчику менеджером проекта, другим разработчиком или испытательной группой.
· Использует обозреватель исходного кода (Source Control Explorer) VSTS для получения доступа к хранилищу исходных кодов TFS и загружает последнюю версию исходного кода в локальную рабочую область или на свой компьютер.
· Выполнив назначенную задачу, снова помещает код в БД управления исходным кодом.
Размещение кода может запустить процесс непрерывной сборки при помощи Team Build. Если сборка завершилась неудачей, создается новый рабочий элемент для отслеживания ошибки.
Процесс тестирования
Тестировщик взаимодействует с TFS следующими способами:
· Извлекает результат плановой сборки из точки сбора.
· При помощи различных инструментов VSTS выполняет ручное и автоматическое тестирование, включая проверку безопасности, производительности и работы в веб.
· Выгружает результаты испытаний в БД тестирования для последующего использования.
· Регистрирует ошибки, выявленные в ходе тестирования, как новые рабочие элементы TFS.
· Разрешает существующие ошибки, если они устранены в последней сборке.
Вопрос 2. Физические среды разработки и тестирования.
Количество компьютеров в средах разработки и тестирования зависит от размера групп и объема проектов. На рис. 3 изображена типичная физическая среда разработки и тестирования.
Рис. 3. Физическая среда разработки и тестирования
Среда разработки
Среда разработки служит для поддержки процессов разработки и сборки и содержит следующие компьютеры:
· сервер Team Foundation Server;
· сервер сборок;
· сервер для сбора результатов работы сервера сборок;
· рабочие станции разработчиков.
Если группа разработчиков осуществляет удаленный доступ к TFS или размер ее столь велик, что отрицательно сказывается на производительности центрального сервера TFS, для повышения эффективности работы вы можете также настроить TFS-прокси.
Среда тестирования
Среда тестирования состоит из одной или нескольких рабочих станций, на которых установлен продукт Visual Studio Team Edition for Software Testers. Он используется для управления циклом тестирования, а также для выполнения функционального тестирования, системного тестирования, тестирования производительности и веб-тестирования. Члены группы используют TFS для управления рабочими элементами, ошибками и результатами тестов.
В среду тестирования также может включаться продукт Visual Studio Team Test Load для проверки производительности.