Управление тестированием с Jazz и IBM Rational Team Concert

Кэрри Сонг, разработчик ПО и руководитель команды тестировщиков, IBM

В статье описаны два способа управления процессом тестирования и сопутствующими артефактами с помощью IBM Rational Team Concert и IBM Rational ClearQuest. Team Concert включает поддержку интегрированных единиц работы, версионного контроля и управления сборками и оптимально подходит для использования коллективами разработчиков малой и средней численности. Team Concert является первым продуктом на технологической платформе Jazz, представленным IBM Rational в начале 2008 года. Jazz - коммерческая, но открытая, масштабируемая и расширяемая среда взаимодействия разработчиков, обеспечивающая бесшовную интеграцию задач процесса разработки ПО.

Введение в платформу внутрикомандного взаимодействия Jazz

Как известно, взаимодействие является ключевой составляющей процесса разработки программного обеспечения. Разработка имеет сходство с игрой джаз-бэнда или оркестра. Оба этих занятия требуют баланса между слаженностью и мастерством. Вот почему в IBM® Rational® была создана технологическая платформа нового поколения Jazz, обеспечивающая коллективную разработку программного обеспечения и его поставку заказчику. Jazz построена на платформе Eclipse и предлагает интегрированный набор инструментов, позволяющий улучшить как взаимодействие как между отдельными специалистами в коллективе, так и между целыми коллективами. Технологию Jazz можно считать расширяемой средой, динамически объединяющей и синхронизирующей людей, процессы и артефакты, задействованные в проекте по разработке программного обеспечения.

Архитектура платформы Jazz

На рисунке 1 приведен обзор архитектуры платформы Jazz. Платформа построена на клиент-серверной архитектуре. Сервер Jazz, в штатном режиме выполняющийся на сервере приложений, совместимом с Java™ 2 Platform Enterprise Edition (J2EE) версии 1.4, содержит ряд ключевых сервисов и данных, предназначенных для управления процессом и обеспечения взаимодействия.

Сервер Jazz обменивается информацией по сети с различными клиентскими приложениями, главным образом, с интегрированной средой разработки Rational® Team Concert, основанной на Eclipse, и Web-браузерами. Используя эти клиентские приложения вы можете получать сведения о работе вашего коллектива и выполнять любые задачи по проекту.

Рисунок 1. Архитектура платформы Jazz
Диаграмма архитектуры платформы

Основные функциональные возможности Jazz

Платформа Jazz имеет богатые возможности по обеспечению взаимодействия между приложениями:

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

Процессно-ориентированный подход и автоматизация
С помощью настраиваемого процесса разработки ПО можно задавать поток работ проектной группы и автоматизировать выполнение шагов и контрольных точек процесса.

Расширяемая инфраструктура
Клиент и сервер платформы Jazz основаны на открытых стандартах Web и модульной инфраструктуре Eclipse, что позволяет расширять платформу с помощью дополнительных подключаемых модулей.

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

Механизм коннекторов
Механизм коннекторов обеспечивает интеграцию Jazz с системами версионного контроля и управления изменениями, такими, как IBM Rational ClearCase и IBM Rational ClearQuest, что дает дополнительную гибкость при создания идеальной платформы разработки для каждого проекта.

Настройки управления тестированием в Rational Team Concert

Пользовательские интерфейсы Jazz, приведенные в примерах, являются частью Rational Team Concert, представляющего собой полнофункциональное клиентское приложение Jazz. Данный продукт основан на платформе Eclipse и включает ряд пользовательских интерфейсов и служб, обечпечивающих взаимодействие пользователей с платформой Jazz при выполнении проектных задач и взаимодействии с другими группами. Существующий набор пользовательских интерфейсов и функций может быть расширен с помощью подключаемых модулей Eclipse.

В примерах, приведенных в статье мы используем следующие версии продуктов:

  • Jazz Team Server 1.0 Beta 2
  • Rational Team Concert 1.0 Beta 2
  • Jazz ClearQuest Connectors 0.6 Beta 2a

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

Примеры, приведенные в данной статье демонстрируют два способа использования платформы Jazz при управлении тестированием:

  • Rational Team Concert используется самостоятельно
  • Rational Team Concert используется в режиме интеграции с IBM Rational ClearQuest

Несмотря на то, что приведенные примеры относятся больше к этапу тестирования, они, тем не менее, способны продемонстрировать легкость управления проектами с помощью Jazz.

Способ 1. Используется только Rational Team Concert

 
О "единицах работы"

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

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

Предположим, что среда Jazz установлена и настроена, в ней ведется работа над проектом ABC и проектные группы уже сформированы. Роли и задачи мы покажем на примере двух групп и двух участников проекта:

  • Боб, тестировщик группы тестирования
  • Джек, разработчик группы разработки

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

Начнем с разработки плана тестирования, как показано на рисунке 2. План тестирования можно создать для любой итерации проекта. Правильно составленный план поможет вам управлять процессом тестирования и контролировать его выполнение. С помощью Jazz можно разрабатывать план тестирования в процессе работы над проектом. В качестве первого шага можно создать проект плана, включив в него цели этапа тестирования, границы этапа тестирования и прочее. Затем можно разработать задачи тестирования верхнего уровня и разбить их на детализированные подзадачи. Задачи в плане тестирования привязаны к единицам работы, выданным членам группы. Ход выполнения этих работ автоматически отражается в плане тестирования, что позволяет в любой момент получать информацию о состоянии его выполнения. Если вы, к примеру, пожелаете добавить в ваш план новый вариант тестирования "вариант 2005", одновременно можно создать соответствующую единицу работы.

Рисунок 2. Создание плана тестирования в Rational Team Concert
Изображение рабочего пространства Team Concert

В разделе "Planned Items" можно задать содержимое варианта тестирования, плановую продолжительность выполнения работы, приоритет и владельца работы. После сохранения изменений, сформированное задание выдается тестировщику. В данном примере единица работы 59, соответствующая варианту тестирования 2005 создана и выдана тестировщику Бобу, как показано на рисунке 3.

Рисунок 3. Создание плана тестирования в виде единицы работы Rational Team Concert
Изображение рабочего пространства Team Concert

На рисунке 4 видно, что задача плана тестирования привязана к единице работы 59 в разделе "Test Plan". По двойному щелчку на единицу работы 59 в плане тестирования можно получить детальную информацию по ней.

Рисунок 4. Единица работы привязана к плану тестирования в Rational Team Concert
Изображение рабочего пространства Team Concert

Выполнение варианта тестирования

Теперь, когда владельцы вариантов тестирования готовы начать работать над ними, процесс может продолжаться. Если Боб находится на рабочем месте, он увидит назначенную ему новую единицу работы и сможет просмотреть соответствующий вариант тестирования (рисунок 5). Начав работать над ним, он может изменить его статус на "В работе" ("In progress").

Рисунок 5. Просмотр варианта тестирования в Rational Team Concert
Изображение рабочего пространства Team Concert

Управление дефектами

Если Боб при выполнении варианта тестирования обнаружит дефект, он может зарегистрировать его путем создания в Team Concert единицы работы типа "дефект". На рисунке 6 показан дефект 60, зарегистрированный в Team Concert. Для дефекта можно задать большое количество атрибутов, таких, как критичность и приоритет.

Рисунок 6. Дефект 60 открыт в Rational Team Concert на разрабтчика Джека
Изображение рабочего пространства Team Concert

Удобно привязать дефект к соответствующему варианту тестирования в окне создания связи, показанном на рисунке 7. Это даст возможность быстрого доступа к варианту во время анализа и исправления дефекта. Если известно, что код, содержащий дефект, был написан Джеком, последнего можно назначить владельцем данного дефекта. После сохранения измененного дефекта в рабочем пространстве Джека появится новая единица работы, соответствующая данному дефекту.

Рисунок 7. Дефект ассоциирован с вариантом тестирования в Rational Team Concert
Изображение рабочего пространства Team Concert

Из множества вариантов оповещения об открытии дефекта, предлагаемых Team Concert, Джек может выбрать наиболее удобный для себя. К примеру, он может увидеть оповещение в своем журнале событий (Event Log), в списке назначенных ему единиц работы или получить сообщение по электронной почте. В ходе работы по устранению дефекта он может просматривать детальную информацию, добавлять комментарии и отмечать объем выполненной работы. На рисунке 8 показано, как Джек добавляет комментарий, изменяет статус дефекта на "Исправлен" (Resolved) и передает единицу работы Бобу.

Рисунок 8. Разработчик изменяет статус дефекта на "Исправлен"
Изображение рабочего пространства Team Concert

Когда Боб увидит, что дефект исправлен и передан ему, он сможет проверить, действительно ли дефект исправлен и закрыть его, если это так (рисунок 9).

Рисунок 9. Исправление дефекта проверено тестировщиком, дефект закрыт
Изображение рабочего пространства Team Concert

Поскольку дефект связан с соответствующим вариантом тестирования, в разделе "Test Case" (рисунок 10) становится видно, что связанный дефект исправлен, закрыт и, следовательно, больше не препятствует выполнению варианта тестирования.

Рисунок 10. Дефект автоматически помечен как закрытый в разделе "Test Case"
Изображение рабочего пространства Team Concert

Теперь Боб продолжает выполнение варианта тестирования.

В момент закрытия единицы работы 59, задача из плана тестирования - вариант тестирования 2005 (59) также помечается как завершенный в разделе "Test Plan Overview" (рисунок 11), что помогает отслеживать состояние выполнения плана.

Рисунок 11. Подзадача плана тестирования помечена в разделе "Test Plan" как завершенная по завершении соответствующей единицы работы
Изображение рабочего пространства Team Concert

Способ 2. Используется Team Concert в режиме интеграции с IBM Rational ClearQuest

Для тестировщиков, знакомых с IBM® Rational® ClearQuest® и использующих данный продукт для управления дефектами, в Rational Team Concert предусмотрены компоненты взаимодействия Connector и Item, осуществляющие интеграцию ClearQuest с платформой Jazz с целью обеспечения синхронизации записей ClearQuest и единиц работы Team Concert. Любые изменения, внесенные в ClearQuest будут автоматически отражены в Team Concert и наоборот. Таким образом, вы можете использовать расширенные возможности взаимодействия, предлагаемые платформой Jazz, продолжая работать с привычным инструментом.

Следующий раздел демонстрирует пример использования Jazz совместно с ClearQuest для управления тестированием.

Тестировщик открывает в ClearQuest единицу работы по устранению дефекта для разработчика

Проект, приведенный в примере, называется Myproject и участвуют в нем следующие специалисты:

  • Алиса, тестировщик
  • Боб, разработчик

В ходе тестирования Алиса обнаружила дефект. Она, как обычно, создает в ClearQuest сообщение об ошибке для Боба, TABC00000011, как показано на рисунке 12.

Рисунок 12. Дефект TAB00000011 открыт в ClearQuest
Изображение рабочего пространства Team Concert

Jazz автоматически создает единицу работы для дефекта

Механизм ClearQuest Connector платформы Jazz опрашивает ClearQuest, обнаруживает новую запись дефекта и при следующем выполнении входящей синхронизации создает соответствующую единицу работы. Новая единица работы (Defect 17) соответствует дефекту, открытому в ClearQuest и значения ее свойств синхронизированы с соответствующей записью в ClearQuest. Единица работы назначена Бобу. Если Боб работает с клиентским приложением Team Concert, он увидит только что открытый дефект как новую единицу работы в разделе "Work Items" (Рисунок 13). По двойному щелчку он может просмотреть детальную информацию по дефекту и начать работу с ним.

Рисунок 13. Новая единица работы, Defect 17, создана автоматически
Изображение рабочего пространства Team Concert

Jazz синхронизирует изменения единиц работы между ClearQuest и Rational Team Concert

Любые изменения, внесенные в запись дефекта ClearQuest или единицу работы Team Concert, могут быть автоматически синхронизированы. Соответствующие примеры приведены на рисунках 14 и 15. После того, как Боб сохранит изменения, которые он внес в процессе работы, они будут отражены в соответствующей записи дефекта ClearQuest после выполнения исходящей синхронизации с Team Concert. Это может занять несколько минут, в зависимости от интервала опроса, заданного в файле настройки механизма ClearQuest Connector. В следующем примере Боб анализирует дефект и обнаруживает, что ему требуются от тестировщика дополнительные сообщения об ошибке из системного журнала. Он добавляет в единицу работы соответствующий комментарий и сохраняет изменения.

Рисунок 14. В единицу работы 17 в Rational Team Concert добавлен комментарий
Изображение рабочего пространства Team Concert

После синхронизации Алиса увидит комментарий в журнале примечаний (Notes Log) дефекта в ClearQuest. Теперь она может найти требуемые журналы и привязать их к дефекту.

Рисунок 15. Комментарий добавлен в журнал примечаний дефекта TABC0000011 в ClearQuest
Изображение рабочего пространства Team Concert

Приведенный выше простой пример показывает, что интеграция ClearQuest и Team Concert предоставляет тестировщикам и разработчикам возможность использовать платформу Jazz для управления тестированием. Team Concert имеет функциональные возможности, обеспечивающие успешную синхронизацию между ClearQuest и Jazz. Например, когда изменения внесены как в единицу работы, так и в соответствующий дефект ClearQuest, происходит автоматическое объединение изменений. Конфликт, возникающий когда изменения затрагивают одно и то же свойство единицы работы и соответствующей записи дефекта ClearQuest, разрешается при помощи ручного объединения изменений. Интеграция с ClearQuest будет становиться еще удобнее и надежнее в последующих выпусках продукта.

Сравнение способов управления тестированием

Применяя первый способ, группа выполняет все работы по тестированию и управлению тестированием, используя только функции Jazz. Следовательно, группы тестирования и разработки используют при работе над проектом единый набор методов и единую платформу . Такой подход значительно облегчает управление проектом. Требуемые затраты на обучение минимальны, поскольку группу необходимо обучить только использованию Team Concert. Результатом будет повышение слаженности и эффективности взаимодействия и коммуникаций между разработкой и тестированием. Обмен информацией станет четким и ясным, поскольку все будут использовать единый словарь терминов и будут употреблять термины в едином контексте.

Тем не менее, в текущей версии Team Concert отсутствуют некоторые специфические функциональные возможности, относящиеся к процессу тестирования. К примеру, в некоторых крупных проектах принято присваивать вариантам тестирования веса, служащие для оценки трудозатрат. Иногда, вместо того, чтобы пометить вариант тестирования как полностью успешный или неуспешный, бывает необходимо определить сумму весов его успешно и неуспешно выполненных частей для того, чтобы оценить степень успешности выполнения варианта тестирования в целом. К счастью, Jazz имеет возможности расширения как на стороне клиента, так и на стороне сервера, что позволяет реализовывать нестандартные возможности путем разработки расширений и индивидуальной настройки системы.

Второй способ, как было показано выше, заключается в интеграции и синхронизации ClearQuest и Team Concert. В этом случае группа тестирования, имеющая опыт работы с ClearQuest, сможет продолжить использование этого инструмента. Платформа Jazz осуществляет фоновую синхронизацию записей ClearQuest и единиц работы Team Concert, что обеспечивает взаимодействие проектных групп. Таким образом, группа тестирования может использовать расширенные возможности взаимодействия, предлагаемые платформой Jazz, в дополнение к обширным возможностям ClearQuest по управлению дефектами и тестированием.

Текущий на момент подготовки примеров для данной статьи выпуск продукта имел недостаток, заключавшийся в отсутствии инструмента или мастера для настройки механизма ClearQuest Connector. Из-за этого нам пришлось вручную выполнять конфигурирование в нескольких местах.

Заключение

В данной статье были рассмотрены два способа использования Rational Team Concert для управления тестированием.

Jazz обеспечивает интегрированную среду взаимодействия при разработке программного обеспечения, работая в которой, группы тестирования осведомлены о состоянии работ по проекту и деятельности коллег, что дает им возможность выполнять задачи управления тестированием быстрее, проще и эффективней. Следите за появлением новых возможностей и регулярных улучшений, поскольку IBM продолжает развитие платформы Jazz и уже объявила о выходе новых выпусков клиентских приложений Rational Team Concert.


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=17834