В
первой части этой статьи я полностью описал процесс настройки автоматизации тестирования с помощью RM. Во второй (и последней) части статьи я расскажу о некоторых проектных решениях, проблемах, с которыми мы столкнулись при настройке системы, и способах преодоления этих проблем.
Один или несколько пулов агентов?
Вопрос: как перенаправить определение выпуска на подходящий агентский компьютер, т.е. на компьютер с ресурсами, необходимыми этому определению выпуска?
Решение: когда мы приступили к созданию определений выпуска, стало очевидно, что необходимо направлять каждое определение выпуска подходящему агенту, поскольку требования всех тестовых комплектов были различными. Сначала мы создавали отдельный пул агентов для каждого определения выпуска, но управлять большим количеством пулов агентов оказалось затруднительно. В конечном счете мы последовали совету Криса Паттерсона (Chris Patterson) из группы сборки и разработали систему, в которой использовался единственный пул агентов с названием RMAgentPool. Все агенты этого пула отличались друг от друга возможностями пользователя. Теперь каждое определение выпуска и определение сборки выполняется подходящим агентом с помощью возможности RmCdpCapability. Например, компьютер, который подготовлен для RM.CDP.TfsOnPrem, имеет возможность RmCdpCapability=TfsOnPrem:
RM.CDP.TfsOnPrem RD направляет свое выполнение этому агенту с помощью требования RmCdpCapability=TfsOnPrem: