总线工具VBA中新添加的自动化测试模块,实现了测试用例从脚本开发、自动执行到报告生成的全流程闭环。本文详细阐述了自动化测试框架的搭建、测试脚本的模块化实现方法。自动化测试模块显著提升了测试执行效率和用例的复用率,有效降低了人为测试误差,还为复杂车载软件系统的持续集成与自动化测试提供了可靠的技术支撑。
关键词:自动化用例;汽车电子测试;脚本开发
测试模块配置
在自动化测试模块新建一个测试节点,随后我们打开创建好的测试节点,测试执行前在配置界面对测试执行、测试报告进行个性化设置。


开始/结束触发事件:
- 工程运行后立即执行-用于设置测试执行是否随工程运行一起启动。
- 系统变量配置-当系统变量发生变化后,启动测试工程;系统变量支持自定义选择。
文件路径:
- 测试脚本路径-自定义选择创建或加载指定路径的文件,并将测试执行模块和脚本相关联。
- XML路径-基于XML的测试用例执行选择功能。
测试模式配置:
- 执行次数-用于定义测试执行的次数,默认选中且值为1。
- 循环执行-此模式下测试会循环执行,需要手动停止测试。
测试连续性设置:
- 无影响-无论出现何种结果都不影响测试继续执行。
- 在判定结果失败或测试系统报错的情况下停止执行-当测试过程中出现测试结果为不确定或者失败的情况时停止测试执行。

测试报告,对生成测试报告的相关信息进行配置,相关的信息会打印到测试报告的首页:
- 导出模式-HTML和PDF格式的报告导出。
- 报告地址-自定义配置报告保存路径。
导出配置:
- 每次执行后均生成测试报告-勾选后生效,每次测试执行结束后默认生成测试报告。
- 根据测试结果导出测试用例-根据测试结果导出指定测试用例的测试报告。
测试序列编写
在测试脚本路径处,我们可以导入一个新建的py文件,也可以选择已经写好的文件,导入后,可以发现在下方新增“脚本”的界面,我们可以切换至该界面进行脚本编写。在序列编辑界面,通过左侧在VBA封装好的函数根据所需要的测试用例进行脚本编写,详细函数说明在帮助文档-03功能详介-3.8脚本函数功能-自动化测试函数中。




XML文件编写
在配置界面我们看到除脚本路径外,还有XML路径,同样是通过文件导入的方式进行生成,XML文件脚本编写规则在帮助文档-09附录-附录1中有详细说明,用户通过撰写XML文件,将测试用例提前映射到测试执行界面上,可通过勾选形式进行特定的测试用例执行。

在xml语言中,通常用.xsd文件进行xml中属性的描述,本功能中.xsd文件使用示例如下。
待执行的py脚本:
@testcase
def testcase01():
testStep("case 01", "Start test")
testStepPass("Test step", "Success")
testStepFail("Test step", "Fail")
@testcase
def testcase02():
testStep("case 02", "Start test")
testStepPass("Test step", "Success")
testStepFail("Test step", "Fail")
@testcase
def testcase03():
testStep("case 03", "Start test")
testStepPass("Test step", "Success")
testStepFail("Test step", "Fail")
创建XML文件,将测试用例提前映射到测试执行界面上 XML文件中通过脚本中的函数名称选择要执行的Testcase,无需MainTest执行。
<?xml version="1.0" encoding="utf-8"?>
<testModel name="Test_Demo" version="This is a DemoCase">
<testgroup name="Group 01">
<pytestcase name="testcase01"/>
<pytestcase name="testcase02"/>
<pytestcase name="testcase03"/>
</testgroup>
<testgroup name="Group 02">
<pytestcase name="testcase01"/>
<pytestcase name="testcase02"/>
</testgroup>
</testModel>
测试用例执行
当用例编写完成后,我们切换到用例执行界面,左侧界面用于提示用户当前测试执行的情况,第一列为测试用例组,第二列为测试执行时间,第三列为测试判定情况;右侧界面信息提示用户当前测试执行的情况,第一列为时间,第二列为提示信息,第三列为状态信息。


a. 只导入py文件时,测试执行界面在工程启动后随着工程加载依次显示相关信息;

b. 导入py文件和XML文件,测试执行界面则会显示出整体的层级结构,可以通过勾选选择相应的测试用例进行相应测试用例的执行。

测试报告
测试执行后,会生成相应的测试报告,测试报告中包括整体执行结果以及具体执行步骤结果等。

总结
综上所述,自动化测试模块,有效解决了复杂系统测试中时序控制与多信号交互的难题。通过参数化的脚本架构,我们构建了一套高复用率、高稳定性的自动化用例执行体系。能够快速响应测试需求的迭代,显著缩短回归测试周期,为后续开展更深层次的总线测试自动化奠定了良好的工程基础。