自动化“生成-部署-测试”工作流

当你运行生成时,你可以在 Team Foundation Server 上使用生成-部署-测试工作流来部署和测试应用程序。 这使你能够使用一个生成过程来安排并运行应用程序的生成、部署和测试。 生成-部署-测试工作流与 Lab Management 配合使用,可将你的应用程序部署到实验室环境中并对其运行测试,这是生成过程的一部分。

如果你的实验室环境是 SCVMM 环境,那你还可以在运行测试前使用工作流创建并还原自动创建干净环境的快照,并在测试失败时保存环境状态。 这将确保每个测试都不会受之前运行的测试对实验室环境所做的更改的影响。 此外,它还确保测试人员可以在重现 Bug 时准确地重现实验室环境的状态。

要求

  • Visual Studio 旗舰版, Visual Studio 高级专业版, Visual Studio 专业测试工具版

你可以在下列情况下使用生成-部署-测试工作流:

提示

生成,或生成并测试:若要在放置文件夹中生成应用程序而不将其部署到实验室环境中,那么你可使用默认生成过程模板。有关详细信息,请参阅对生成过程使用默认模板。如果还要测试应用程序而不对其进行部署,请参阅在生成过程中运行测试

  • 生成、部署并测试 − 生成应用程序,再部署应用程序,然后在实验室环境中对其运行自动测试。 利用此工作流,你可以对部署的应用程序运行测试计划中的一系列测试,这是生成过程的一部分。 此情况在运行生成验证测试时很常见。

  • 部署和测试 − 此方案类似于“生成、部署和测试”方案,只不过它不在工作流中创建新的生成。 相反,工作流使用放置文件夹中的现有生成。

  • 仅部署 – 在工作流中不运行自动测试的情况下,将放置文件夹中的现有生成部署到实验室环境中。 一旦生成通过了你的生成验证测试,并且可以发送给测试团队,你就可能希望将此特定生成发送给测试团队,以便他们可以运行不属于你的工作流的其他测试。 此情况在运行手动测试时很常见。

  • 生成和部署 - 此方案类似于“仅部署”方案,只不过它在工作流中会创建新的生成。

生成-部署-测试工作流是定义“生成定义”运行生成、部署应用程序和运行测试的方式的 Windows 工作流文件。 通过以下方式在生成定义中创建生成-部署-测试工作流:选择名为实验室默认模板 (LabDefaultTemplate.11.xaml) 的“生成过程模板”,然后配置设置。 你还可以根据要求为工作流创建自定义的生成过程模板。 你可以在设置生成计算机、测试计算机和实验室环境后配置生成定义。

生成-部署-测试工作流中的部署设置定义了如何通过指定要在实验室环境中的特定计算机上运行的部署脚本来部署应用程序。 你可以指定用于运行每个部署脚本的实验室管理角色,也可以指定实验室环境中的特定计算机。 创建部署脚本是设置“生成-部署-测试”工作流的主要部分。 部署脚本将文件从生成复制到实验室环境中,然后运行安装包。

下面的关系图描述了生成-部署-测试工作流部署生成的方式:

部署脚本的数据流。

下列步骤显示在上述关系图中。

  1. 生成-部署-测试工作流启动生成,然后获取部署脚本。

  2. 生成定义将生成文件复制到放置位置。

  3. 工作流在特定计算机或脚本分配到的计算机角色的工作目录中运行每个部署脚本。

  4. 每个部署脚本从放置位置检索生成文件。

  5. 每个部署脚本将指定的生成文件复制或安装到实验室环境中的计算机上。

先决条件

在设置生成-部署-测试工作流之前,必须完成这些步骤。

  1. 配置 Team Foundation Build Service

    使用 Team Foundation Server 的管理控制台为你的团队项目集合设置生成配置。 在设置生成配置时,你将选择要在生成和部署应用程序时使用的生成控制器和生成代理。 有关设置生成配置的信息,请参阅如何配置生成计算机

  2. 设置测试控制器

    安装测试控制器并将其注册到团队项目集合中:在实验室环境中设置测试控制器

  3. 设置实验室环境

    设置实验室环境。 你的实验室环境可以是 SCVMM 环境或标准环境。 当你设置实验室环境时,测试代理将安装到该环境中的每台计算机上。 有关创建实验室环境的信息,请参阅测试实验室环境

  4. 从实验室环境中的测试计划运行自动测试的其他步骤

    在从测试计划运行自动测试前,你必须先将自动测试与测试计划中的测试用例相关联。 在运行测试计划中的自动测试时,你必须使用实验室环境。 若要创建测试计划并将你的自动测试与其相关联,你必须完成以下任务。

    1. 创建测试计划和测试套件:使用 Microsoft 测试管理器计划手动测试

    2. 将自动测试与测试套件中的测试用例关联:在 Microsoft 测试管理器中自动化测试用例

任务

使用以下主题设置你的生成-部署-测试工作流以部署应用程序或在应用程序上运行测试(这是生成过程的一部分):

主题

描述

为生成-部署-测试工作流创建部署脚本:若要部署应用程序,你必须先创建生成-部署-测试工作流的部署脚本。 部署脚本将部分生成复制到实验室环境中的特定计算机中。 此外,如果你的生成包含 Web 部署包或安装软件包,则你的部署脚本必须运行这些程序包。

创建生成-部署-测试工作流:可使用标准环境或 SCVMM 环境设置生成-部署-测试工作流。 如果你使用 SCVMM 环境,则你也可以使用生成过程来还原带快照的环境,然后运行测试,并在部署应用程序后创建快照。

通过自定义工作流满足生成-部署-测试的其他要求:如果你有默认生成过程模板未满足的其他要求,则可以创建自定义生成过程模板。

将测试作为生成-部署-测试工作流的一部分运行,或在完成工作流后运行:你可以将自动测试作为生成-部署-测试工作流的一部分运行,也可在工作流完成后运行手动和自动测试。

请参见

概念

测试应用程序