自带的软件测试报告模板太呆板?Python动起来!
前言
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的,Python可以粘性整合现有程序,简单易学,具备庞大的计算生态,因此也被称为“超级语言”。
TPT作为一款模型测试工具,除了可以自动生成默认的报告,也可以根据客户需求进行报告定制化,那么能够使用Python去自定义报告吗?
“当然可以,而且可以自定义库生成想要的报告”。
TPT对于Python的支持情况
在TPT中,Python需要编写在Script评估中(通过如下方式新建)。由于TPT的高度定制化,语法与Python相比具有通用性和独立性的特点,测试人员只需具备简单的编程知识即可操作。
新建Script评估
TPT script评估基于Python2.7,TPT支持Python2.7的绝大部分特性,如图所示。
TPT支持Python情况
TPT中内置很多自定义报告函数,直接使用即可,非常方便,如下图所示。
报告自定义内置函数
TPT通过内置函数自定义报告过程
在TPT中使用内置函数自定义报告需要遵循一定的方法,如下所示,在TPT中的help中关于自定义报告的介绍。
自定义报告方法
TPT内置函数自定义报告支持添加“评估列表”、“信号图像”、“自定义图片”、“章节”、“目录”等,接下来我们以自定义添加信号图像为例介绍自定义报告过程。
目标:将测试用例的输出信号添加在报告中
在TPT中编辑如下测试用例,输出信号为“Test_Out_1”和“Test_Out_2”。
TPT中的测试用例
信号曲线
在TPT中添加script评估,编辑如下:
自定义报告添加信号图像
在报告中效果如下。
TPT自动生成的报告
如果测试用例输出信号较多,手动添加信号较为繁琐,我们也可以引用Python中的列表和for循环来检索和加载信号。
for循环遍历输出信号
TPT通过自定义库实现报告定制化
假设一个测试团队对报告的要求是相同的,那么如果团队每个成员都将代码写一遍非常繁琐,这时候可以自定义一个库,然后组内同事共同加载和调用。我们还是以上面添加信号图像为例进行说明,编写如下:
自定义lib
将自定义lib保存成“.tptpy”文件,并放置在TPT的安装目录中(最好新建文件夹进行保存,可能会有很多库)。
自定义的lib存放位置
当自定义库保存好后,我们需要在TPT中加载它。点击TPT中的“Options”->“Preferences”。
首先需要在“GENERAL”->“Assessment Library”中加载自定义库路径。此项设置会应用在所有TPT工程上。
加载自定义库路径
然后在当前使用的TPT工程中的“Assessment Library”中,选择使用哪些库。
选择使用的函数
选择好使用的库后,在TPT中新建“Script”评估,使用快捷填充键选择要使用的自定义库。
选择自定义函数
注:为避免手动输入信号或函数名称导致的错误,TPT中可以设置快捷填充键调用信号或函数,在“Options”->“Preferences”->“General Setting”->“Workbench”->“Auto completion hot key”中进行设置。
快捷填充键设置
在自定义库名称后输入 ”.” ,然后再次点击快捷填充键,选择要使用的函数。
选择使用的函数
最后,输入章节名称,运行即可得要想要的报告。
填写自定义章节名称
运行测试后,得到如下报告。
自定义报告
总结
本文只是介绍了将测试用例输出信号加载到报告中,我们当然也可以通过脚本自定义Table、Image、Requirements、Table等,也可以通过不同的组合得到想要的报告。
通过在自定义报告中使用Python,可以提高我们的测试效率,并且提高代码的复用性。当然,Python不止可以应用在自定义报告上,我们也可以使用在评估、TPT配置中,甚至将TPT工程保存为“.tptprj”文件格式后,可以对工程本身进行修改。
关于Python在TPT中的使用,更多精彩内容请查看:
TPT中脚本评估的使用(上):强大的内置函数库
TPT中脚本评估的使用(下):测试管理与软件交互
PikeTec公司是全球知名的基于模型的嵌入式系统测试工具TPT的软件供应商,总部位于德国柏林,其创始人均在戴姆勒公司拥有十多年的软件测试经验。TPT产品曾被评为2005年戴姆勒最佳创新软件,并在戴姆勒、大众、奥迪、保时捷、通用等汽车整车厂及多家零部件企业(博世、大陆、海拉等)中得到广泛应用,如戴姆勒的多个车型的混合动力汽车的动力总成、电池管理控制器的测试,博世的汽油机和柴油机控制系统测试等。
北汇信息作为PikeTec在中国的独家合作伙伴,致力于帮助中国客户提升嵌入式控制系统的开发效率。目前,TPT已被众多国内知名主机厂和零部件企业认可,在新能源(VCU/BMS/MCU)以及ADAS等领域中被广泛应用。
本文来自博客园,作者:{北汇信息},转载请注明原文链接:{https://www.cnblogs.com/polelink/}