核心2讲,方法论,测试的目的不应是为了熟练操作设备,而是结果呈现

文摘   2024-11-06 08:10   上海  

今天谈一谈测试方法论。

我们做测试,核心目的绝对不是为了掌握多少操作技能,也不是为了去维护多少设备,而是为了掌握测试工作的核心运行规律,在功能文档、标准规范的基础上,覆盖到必要的工况,记录下完整的数据,能对数据进行完整的解析,把问题呈现明白,说清楚。

说白了,要抱着写报告材料的目的去做测试,把数据记完整,把数据的解析结果也呈现清楚,才能真正在项目中有所贡献,才能在公司部门出彩。

基于上述原则,操作类的测试,永远不可能出彩,因为它不记录数据,也不解析数据,只是操作员层面的操作和执行而已,目前车企这类工作都给外包干了,就上车点点点。。。

基于上述原则,带数据记录的操作类测试,也不大可能出彩,而且会让人更迷糊。虽然你操作测试的时候,带上了CAN盒甚至是以太网记录设备,但是你没有能力现场确认数据是否完整呀,很有可能发给开发之后,开发一句话“没有录到”、“日志被覆盖了”,把你打发了,然后你就吭哧吭哧继续跑去测试,费死劲了。

这种情况下,还不如不记数据,不记数据的话,用视频把症状描述清楚,然后全盘甩给开发部门,也是一个明智的选择。

基于上述原则,如果你在实车测试的时候,知晓该功能相关的关键信号,那你就能把症状和原因结合起来,在看到症状的同时,也能看到原因,看到关键信号的值,这种情况下,你记录的数据,就是有用的、有价值的,基本上不会返工的。

但是这个阶段的要求就比较高了,一般都是企业的正式员工做,知道功能的定义,负责解决当前某个问题等等。

接下来,我们还要进阶。

如果某个问题,我解决了,要不要考虑汇报写材料?

毕竟我总不能拿着blf文件去给领导发邮件吧?    

难道你是想暴露领导的非专业水平吗?你是想让领导亲自去分析吗?

那也太不懂事了。

发给领导的,要表格、图形、曲线类的内容,数据要直观,论证要清晰严密。

最好是Excel格式的报告,然后Excel相同文件夹下再有一堆文件夹或者文件作为详细数据。而且文件组织不要随意变,不然领导每次查阅的时候还要学习你的文件夹结构,耽误领导时间。

这样下来,领导如果想看结论或者直观的曲线、表格,就只需要打开Excel就行了。

如果领导想深入研究,那么文件夹下面还有详细的数据,能满足领导在专业领域的进取心。

最重要的是,文件的相对位置千万不要轻易改变,要让领导方便,领导看你的东西,那是关心支持你,你要积极配合。

关于文件组织的结构,一般自动化测试系统均能够实现,难度一般不大,只要具备初步的“测开”技能即可。由于其高度自动化特性,所生成的测试报告,相对位置都是固定的,典型的比如Vector的网络测试系统,测试报告一个excel文件,然后该目录下十多个文件夹,记录各个测试子项的详细内容。

步入正题

本文接下来,我们重点关注的是诊断读版本汇总和dbc信号曲线图,一个是表格,一个是曲线。

表格的价值太显著了,30行内容,列首明明白白,内容清清楚楚,结果一目了然,谁能不爱?    

在LabVIEW中,我们是这样实现的:

1、先定义一个结构体,成员大致如下所示:

{ECU_Name;   \字符串,来自excel测试用例文件预先填写的定义诊断id       \文本格式数值,来自excel测试用例文件预先填写的定义期望的硬件版本 \文本格式数值,来自excel测试用例文件预先填写的定义期望的软件版本 \文本格式数值,来自excel测试用例文件预先填写的定义实际硬件版本   \文本格式数值,来自诊断读取的结果实际软件版本   \文本格式数值,来自诊断读取的结果}

2、读取Excel,然后根据上述结构体定义,生成结构体数组,很明显,这个结构体数组的各个结构体成员中,实际硬件版本和实际软件版本都是空的。

假如Excel用例中定义了30个ECU,那么这个生成的结构体数组就有30个元素。

3、根据诊断规范,挨个发诊断请求,获取各个ECU的实际硬件版本和实际软件版本,并同步更新结构体变量的值。所使用的诊断函数,参考下面的文章:   

总线42讲,uds诊断的本质,及其详解

总线42讲[2],掀开行业底裤,由一个uds函数开始,创造诊断应用的无限可能

4、把结构体数组转换成二维表格,如果结构体元素都是字符串,那直接可以用“结构体→数组”模块,如果不全是字符串,那你就把它转换成字符串,这部分内容实在过于简单,文章中就不展开了。

当当当当

当当当当,下面才是本文重点,基于blf log的信号曲线呈现。

假如你有一个200M的blf文件,你还有个dbc文件,而自动化测试中,几乎每次都需要校对a、b、c三个信号的值,那你该咋办呢?

当然是直接把它作为标准测试报告的一部分,直接写入excel呀,而且是以曲线图片的形式插入。

步骤1、按照车辆技术前期的LabVIEW+python的方案,实现对200M blf文件的分解,使其生成大约700个二进制文件。

总线42讲,LabVIEW+python在报文离线解析中的应用,光芒照进来

步骤2、对二进制文件进行信息提取,然后用下图所示的逻辑进行信号值的提取,相当于基于dbc的信号解析

   

当然,上图我们进行了简化,只保留了数据区,实际上报文还有时间戳属性。而且,在它基础上,我们还能实现canfd处理、通道筛选等各种复杂应用。

这样,我们就创建了基于时间轴的曲线值,一个时间戳绑定一个信号值,形成一个结构体,然后再做成一个结构体数组。

有了这个信号的结构体数组,我们如何让它变成图像呢?继续往下看:

基本上就是这样,创建一个图形显示控件,然后用属性节点对它各种赋值,修改其标题、范围、时间轴等等,然后用方法节点生成jpg图像,并将该图片保存至本地硬盘。

有了这些图片,接下来就好办啦,我们可以使用excel模块,生成excel并将图片挨个插入,这样测试报告一下子就变得亭亭玉立了。

注意1:不要安装wps

注意2:多个曲线使用for循环

方法如下:

简单不?

快回答:“简!单!”    

上面有一点需要注意,上面的Ax指的是图片左上角的位置,这个要根据你的控件的尺寸,调整一下,如果一个图片占据8行excel,那就就对for循环的i乘以8即可。

这样之后,一份图文并茂的excel自动化测试报告就横空出世啦~

领导喜欢,同事也喜欢,大家都说好~

……

……

……

什么?你还没听明白?

那就赶紧加入车辆技术的测试专家班吧,里面有手把手的细节教学,一步步来。我们一起努力,共同成长为汽车研发领域的“测开”专家。   


【推荐】
汽车行业,千万不要去干外包
车辆技术测试专家班,知识学习+设备实操,时不我待
恒润和意昂,两扇窗户,看懂行业的过去、当下和未来
总线10讲,东半球最好用的excel2dbc工具,永远免费送
总线42讲,LabVIEW+python在报文离线解析中的应用,光芒照进来

HIL111讲,拥抱行业前沿,车辆技术教程全面转向2021+软件版本


车辆技术
致力于汽车研发测试技术的研究推广,帮助同行互通有无,为提升职业价值感,为产业崛起而奋斗!
 最新文章