Программирование arrow Программирование arrow Введение в среду для коллективной разработки Team Foundation Server (TFS)

Введение в среду для коллективной разработки Team Foundation Server (TFS)

В данной статье описано использование Team Foundation Server (TFS) и Microsoft Visual Studio Team System (VSTS) в условиях коллективной разработки программного обеспечения. Здесь представлены основные характеристики TFS и VSTS и взаимодействие групп разработки и тестирования при разработке программного обеспечения. TFS интегрирует в себе системы контроля версий, отслеживания процесса работы над проектом, создания и отображения отчетов, управления проектом и автоматизированный процесс сборки, и, следовательно, повышает эффективность работы группы разработки.

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

1. Разработка
2. Тестирование
3. Сборка
4. Развертывание
5. Выпуск продукта

Процесс разработки программного обеспечения с использованием Team Foundation Server

С помощью TFS группа разработки может хранить исходный код в централизованно управляемом хранилище. Тогда есть возможность создавать сборки с использованием сервера сборки и исходных файлов из этого хранилища и затем передавать их группе тестирования. На рис. 1.1 показан процесс коллективной разработки ПО с использованием TFS и взаимосвязь сред разработки и тестирования.

Введение в среду для коллективной разработки Team Foundation Server (TFS) - Разработка и тестирование - Программирование - Программирование, исходники, операционные системы

Рис. 1.1 Процесс коллективной разработки ПО с использованием Team Foundation Server.

Группа тестирования берет версии сборок приложений из места публикации результатов сборки и выполняет их в своей среде тестирования, сочетая ручное и автоматизированное тестирование. TFS сохраняет результаты тестирования и использует их для обеспечения обратной связи по качеству сборки. Группа тестирования также может создавать рабочие элементы или дефекты (особый тип рабочих элементов), по которым группа разработки должна предпринять некоторые действия. Эти рабочие элементы позволяют группе тестирования отслеживать работу группы разработки.

Работа в среде разработки, тестирования и выпуска продукта

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

Введение в среду для коллективной разработки Team Foundation Server (TFS) - Разработка и тестирование - Программирование - Программирование, исходники, операционные системы

Рис. 1.2 Взаимодействие двух групп разработки и группы тестирования.

Каждая группа разработки помещает плановые сборки в место публикации результатов сборки. Группа тестирования выполняет тестирование этих сборок и определяет их качество. Пройдя контроль качества, приложения развертываются на сервере опытной эксплуатации для окончательной проверки и одобрения пользователями. После этого они поступают на сервер производственной эксплуатации.

Процессы разработки

В ходе процесса разработки ПО можно выделить ряд ключевых взаимодействий разработчиков с TFS. Например, как разработчик вы взаимодействуете с TFS следующим образом:

1. Осуществляете доступ к дефектам и задачам, находящимся в TFS, и таким образом выясняете, что необходимо сделать. Например, рабочие элементы могут быть назначены руководителем проекта, другим разработчиком или группой тестирования.
2. Используете VSTS Source Control Explorer для доступа к хранилищу исходного кода в TFS и загрузки последней версии исходного кода в локальное рабочее пространство или свой рабочий компьютер.
3. Выполнив задачи, оговоренные рабочим элементом, возвращаете свой код в хранилище исходного кода.
4. Check-in-событие (событие регистрации изменений) может запустить процесс непрерывной интеграции, который использует Team Build.
5. Если сборку создать не удалось, создается новый рабочий элемент для отслеживания неудачного создания сборки.

Процессы тестирования

Член группы тестирования взаимодействует с TFS следующим образом:

1. Загружает плановую сборку из места публикации результатов сборки.
2. С помощью различных инструментов VSTS выполняет ручное и автоматизированное тестирование, включая тестирование безопасности, производительности и Web-тестирование.
3. Загружает результаты тестирования в базу данных TFS Test Result для дальнейшего использования.
4. Регистрирует в TFS дефекты, выявленные при тестировании, как рабочие элементы.
5. Объявляет открытые дефекты исправленными после тестирования последней версии сборки.

Физические среды разработки и тестирования

Размер сред разработки и тестирования и количество компьютеров в них могут быть различными в зависимости от размера группы и проекта. На рис. 1.3 показана типичная физическая среда разработки и тестирования.

Введение в среду для коллективной разработки Team Foundation Server (TFS) - Разработка и тестирование - Программирование - Программирование, исходники, операционные системы

Рис. 1.3 Физическая среда разработки и тестирования

Среда разработки

Среда разработки обеспечивает процессы разработки и сборки продукта. Среда разработки включает следующие компьютеры:

1. Team Foundation Server
2. Сервер сборки
3. Сервер для хранения результатов сборки
4. Рабочие станции разработчиков

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

Среда тестирования

Среда тестирования состоит из одной или более тестовых рабочих станций, на которых установлена Visual Studio Team Edition for Software Testers. Они используются для управления процессом тестирования и проведения функционального тестирования, системного тестирования, тестирования безопасности, производительности и Веб-тестирования. Члены группы используют TFS для управления, дефектами и другими рабочими элементами, а также результатами тестирования.
Среда тестирования также может включать Visual Studio Team Test Load для нагрузочного тестирования.

Заключение

VSTS и TFS разработаны для поддержания жизненного цикла разработки ПО через интегрирование различных аспектов разработки ПО, таких как системы контроля версий, отслеживания процесса работы над проектом, создания и отображения отчетов, управления проектом и автоматизированным процессом сборки. TFS играет жизненно важную роль в совместной работе групп тестирования и разработки. Группа разработки взаимодействует с TFS в течение всего цикла разработки. Осуществляя доступ к дефектам и другим рабочим элементам, разработчики определяют, что необходимо сделать с исходным кодом, который они получают из системы контроля версий. Группа тестирования взаимодействует с TFS для выполнения тестов, загрузки результатов тестирования и регистрирования дефектов.

 

 

 
« Предыдущая статья


  • Разработка и тестирование, Team Build в Team Foundation Server (TFS)
    В данной статье речь идет об использовании Team Build для автоматизации процесса сборки. Здесь рассматривается ряд общих проблем, связанных со сборкой, и сравниваются различные подходы к сборкам, от плановой ежедневной сборки до сборки в результате непрерывной интеграции....
  • Разработка и тестирование, Управление зависимостями системы контроля версий в Visual Studio Team System
    В данной статье рассматривается, как следует обрабатывать зависимости внутри и между решениями Visual Studio. Единый подход к управлению зависимостями в среде коллективной разработки необходим для обеспечения стабильности процесса сборки и сокращения текущих затрат на обслуживание системы контроля версий. Зависимости – это другие проекты, внешние сборки, Веб-сервисы и базы данных. Зависимости неизбежно меняются во времени и, в результате, оказывают влияние на процесс и порядок сборки прило...
  • Разработка и тестирование, Выбор стратегии ветвления и слияния в Team Foundation Server (TFS)
    Данная статья описывает стратегии ветвления и слияния для ряда типовых сценариев. Обычно ветви используются для поддержания версий, готовых к выпуску, или параллельной разработки. Во многих простых сценариях в ветвлении нет необходимости, достаточно применять простой подход использования меток для маркировки сборок. Например, с помощью меток можно в любой момент времени восстановить сборку на любом этапе или выявить, какие версии исходного файла использовались для создания конкретной сборки. Рас...
  • Разработка и тестирование, Использование пользовательских расширений для рабочих элементов TFS
    Стандартный набор элементов пользовательского интерфейса и его возможности не всегда удовлетворяют взыскательных пользователей любой системы. И MS Visual Studio Team Foundation Server (TFS), в этом смысле, не является исключением. Однако в TFS предусмотрена возможность создания пользовательских элементов для расширения стандартных свойств рабочих элементов системы. Использование технологий .NET позволяет просто создавать пользовательские расшире...
  • Разработка и тестирование, Сравнение RUP и других методологий разработки ПО
    Как сравнивать две методологии? Казалось бы, очень простой вопрос. По работам и задачам, на которые разбивается разработка ПО. По стадиям разработки, в которые эти работы группируются, и по тому, что входит в каждую стадию. По разрабатываемым документам и моделям. ...
  • Разработка и тестирование, Переход от каскадной разработки к итеративной
    Модель совершенной методологии итеративной разработки во многом радикально отличается от совершенной модели каскадной разработки. Но на практике ни одна группа разработчиков не применяет эти подходы строго в соответствии с их моделями. В этой статье объясняется, почему группам может потребоваться плавный переход от каскадного к итеративному подходу; также указаны некоторые полезные шаги в этом направлении. Объясняются основны...
  • Разработка и тестирование, Средства функционального моделирования: CA ERwin Process Modeler, Design/IDEF, ARIS, ORACLE Designer
    Как корректно выбрать и без неоправданных рисков приобрести средства функционального моделирования систем: CA ERwin Process Modeler, Design/IDEF, ARIS, ORACLE Designer....
  • Разработка и тестирование, CA ERwin Process Modeler: функциональное моделирование
    Грамотное и эффективное функциональное моделирование может быть осуществлено только при соблюдении основополагающих положений, отражающих принципы построения окружающей нас материально - информационной среды....