网站测试自动化系统-采集测试结果
优采云 发布时间: 2020-08-08 15:52在上一篇文章“执行测试用例”中,我们介绍了如何通过命令行编译和执行测试用例,以便我们有机会通过批处理自动执行测试用例. 在文章系统应具有的功能中,我还提到了一个完整的自动化系统应该能够自动采集测试结果-毕竟,我们的目标是测试人员在晚上下班之前执行用例,然后在晚上离开. 第二天早上,您可以直接阅读测试报告.
通常来说,测试报告需要收录以下信息:
1. 测试用例的通过率. 通过率表示产品的稳定性. 当然,这是排除由测试用例本身问题引起的测试失败后的通过率. 在上一个执行测试用例中提到的MsTest.exe生成的结果文件.trx文件已经保存了此信息. 在资源管理器中双击此文件,您将看到类似于下图的结果:
在上面的图片中,一些细心的读者可能会发现只有3个用例,但是红色圆圈中的文字表示: “ 6/6通过了”. 这是因为这3个用例是数据驱动的用例,因此VSTT将每行数据视为一个独立的测试用例. 对于数据驱动的测试,您可以参考我的文章: 网站自动测试系统-数据驱动的测试.
2. 代码覆盖率信息. 代码覆盖率告诉测试团队哪些产品代码未被覆盖. 未发现的产品代码意味着有些我们尚未考虑的用户场景,或者测试范围中存在一些漏洞. (测试孔). 如果从VSTT用户界面执行测试用例,则VSTT将自动集成采集代码覆盖率的功能. 有关详细信息,请参阅我的文章《软件自动化测试-代码覆盖率》. 在本文中,我将向您展示如何使用命令行来采集代码覆盖率.
至少有两种方法可以将采集代码覆盖率的功能集成到自动化测试系统中. 一种是直接编辑.testrunconfig文件. 当我们在VSTT用户界面上操作时,这就是VSTT在后台为我们所做的. ,请参阅本文以执行测试用例,以了解使用.testrunconfig文件的方法.
另一种方法是更深入的分解. 实际上,Visual Studio通过名为VsPerfMon.exe的程序采集代码覆盖率,该程序位于C: \ Program Files \ Microsoft Visual Studio 9.0 \ Team Tools \ Performance Tools(假定VSTT安装在C驱动器上). 当您按照软件自动化测试代码覆盖率中介绍的步骤执行自动化测试时,VSTT会秘密执行以下操作:
<p>1. 注入用于计算代码覆盖率(仪器)的代码. 注入的代码已经在“软件自动化测试代码覆盖率”一文中进行了说明,因此在此不再赘述. 通过vsinstr.exe实现代码注入. 以下是将其用于代码注入的最简化命令(接受任何.Net程序,即.dll和.exe文件,无论它是否支持本机C ++程序,我都还没有尝试过):