通过现有操作录制生成编码的 UI 测试
手动系统测试可以是自动执行。 您可从手动测试运行的记录中生成编码的测试(手动测试运行是使用 Microsoft 测试管理器创建的),也可将测试用例链接到现有编码的测试。 自动测试可作为团队生成的一部分运行,而结果将以与手动测试运行相同的方式出现在测试用例报告中。
要求
- Visual Studio 旗舰版 或 Visual Studio 高级专业版
为什么我应该实现系统测试的自动化?
您将需要定期重复系统测试以确保最近开发的工作没有引入 Bug。 但是因为应用程序在项目生存期中变得越来越大,必须执行的测试越来越多。 为了避免手动测试产生难以置信的高负荷,最好实现多项测试的自动化。
通常,手动测试用于测试新功能更加有效,而自动测试更适用于验证已经过手动测试的功能。
实现手动测试用例自动化的方式有两种:
从手动测试运行的记录中生成编码的 UI 测试。您可以随后对其进行编辑。 例如,您可使用多个测试数据集来运行测试。
此方法的优点:
测试可以快速生成。
测试代码准确地反映了手动操作。
测试包括用户界面及其包含的所有逻辑。
即使您相对于编写代码而言更精通测试,您仍然可创建并编辑测试。
缺点:
- 如果对用户界面的布局进行了大量更改,则测试可能会变得无效。 您可能必须重新创建测试,或编辑表示相关操作的代码。
将测试用例链接到现有测试代码。它可以是测试资源管理器可运行的任意方法。
优点:
如果已开发了相应的测试方法和应用程序代码,则这是最快捷的方法。
用户界面中的更改不会影响测试,因为测试通常会通过业务层驱动应用程序。
缺点:
- 测试代码可能无法精确地模拟测试用例的手动版本。 您必须确保测试代码正确地实现了测试用例的意图。
您还可通过记录测试运行来实现测试的部分自动化。 在后续场合中,您可以播放录制的操作。 但您必须在现场,以便验证每个步骤的结果。 请参阅录制和播放手动测试。
如何实现手动系统测试的自动化?
在 Visual Studio 2013 中,使用 Visual Studio 旗舰版或 Visual Studio 高级专业版通过操作录制创建编码的 UI 测试。 创建编码的 UI 测试需要将编码的 UI 测试项目添加到解决方案,这之后便可以轻松地添加通过与工作项关联的操作录制创建的编码的 UI 测试。 本主题后面的部分“通过操作录制生成编码的 UI 测试”中将介绍这些编码的 UI 测试的创建步骤。
备注
也可通过录制正在开发的应用程序从 Visual Studio 旗舰版或 Visual Studio 高级专业版直接创建操作录制。请参阅如何:通过录制受测应用程序来生成编码的 UI 测试。
通过操作录制生成编码的 UI 测试
使用 Microsoft 测试管理器运行您要实现自动化的测试用例。 当您开始测试时,请确保选择**“创建操作录制”。 完成测试。 如果在测试中必须处理其他事项,请使用“暂停”按钮挂起录制。 出错后不必担心,只需重复部分序列即可。 之后您可通过编辑删除不正确的操作。 完成测试运行后,请选择“保存并关闭”**以保存操作录制。
有关如何创建操作录制的更多信息,请参见录制和播放手动测试。
使用 Visual Studio,在解决方案资源管理器中右键单击编码的 UI 测试项目,指向**“添加”,然后选择“编码的 UI 测试”。 在“为编码的 UI 测试生成代码”对话框显示后,选择“使用现有的操作录制”**。
- 我未看到添加编码的 UI 测试的选项。
您使用的 Microsoft Visual Studio 2012 版本可能不支持编码的 UI 测试。 若要创建编码的 UI 测试,您必须使用 Visual Studio 旗舰版或 Visual Studio 高级专业版。
使用**“工作项选取器”**对话框,查找带有附加操作录制的工作项。
生成编码的 UI 测试后,将通过操作录制为测试用例中的每一步创建一个方法。 例如,下面的代码将根据之前所选的操作录制中的步骤调用三个方法:
[TestMethod]
public void CodedUITestMethod1()
{
this.UIMap.Navigatetocart();
this.UIMap.Changequantity();
this.UIMap.Verifytotalchangescorrectly();
}
此外,将向 UI 映射中添加 UI 控件,并向编码的 UI 测试中添加操作。
What else should I know?
备注- 如果当前未连接到 Team Foundation Server 上的团队项目,则当您尝试通过操作录制创建编码的 UI 测试时,将显示**“连接到团队项目”**对话框。 您必须连接到团队项目才能查看包含操作录制的工作项。 请参阅从团队资源管理器连接到团队项目。
提示
如果解决方案中没有编码的 UI 测试项目,则可以通过从解决方案资源管理器的快捷菜单中选择**“添加新项目”**来添加。 有关详细信息,请参阅创建解决方案和项目。
如有必要,您可修改操作录制中的代码,或使用编码的 UI 测试编辑器。 这将使您能够执行其他一些操作,例如在操作之间添加延迟以及拆分方法以将测试进一步模块化。 有关更多信息,请参见使用编码的 UI 测试进行系统测试和使用编码的 UI 测试编辑器编辑编码的 UI 测试。
将测试用例与现有测试代码关联
如果您有实现测试用例的意图的测试代码,则可将测试用例与该测试方法关联。 通常,测试可能是端到端的功能测试。 它不必是编码的 UI 测试。
警告
如果您要实现已具有手动测试步骤的测试用例的自动化,请确保代码对手动步骤执行等效的测试。在手动测试失败的所有情况下它都应该会失败。
您只能使用 Visual Studio 将自动 Visual Studio 系统测试与手动测试用例关联。 不能使用 Microsoft 测试管理器建立此关联。 如果您有要使用的现有测试用例,则必须首先使用 Visual Studio 打开该测试用例,如下图所示。
然后,可将测试方法与该测试用例关联,如下图所示。
有关将测试用例与 Visual Studio 中的自动系统测试关联的详细信息,请参阅在 Microsoft 测试管理器中自动化测试用例。
下一个是什么?
创建测试设置和环境以运行测试 实现手动测试的自动化后,您可定义要与测试一起收集的其他诊断数据,并指定运行它们的环境。
使用 Microsoft 测试管理器运行自动测试 通过 Microsoft 测试管理器运行自动手动测试。
设置测试计划以使用团队生成 使用 Microsoft 测试管理器指定您运行的自动化手动测试所针对的特定生成。
查看和更新测试结果 监视自动化手动测试以验证应用程序完整性。