ETest及STM应用案例:CNAS能力验证--嵌入式软件功能测试与接口测试(PT008)

m0_71057114 2022-11-11 13:58:26

凯云科技软件测评中心于2022年7月底参加了中国航天科技集团有限公司软件评测中心组织的嵌入式软件功能测试和接口测试能力验证计划PT008,取得满意成绩并顺利通过能力验证。本次验证计划共计74家实验室参加,其中不乏国内知名大型测试机构,包括我中心共计22家检测出14个及以上的缺陷,约占30%。

                                  图1:CNAS-STEC-PT008

                     嵌入式软件功能测试和接口测试能力验证

01、前言

本次测试要求根据GJB/Z 141-2004《军用软件测试指南》中的功能测试和接口测试条款对被测件进行测试。被测系统是一个模拟的天线伺服控制软件,为典型的控制系统嵌入式软件,主要功能是接收上位机指令发送的遥控指令,通过伺服控制算法,向天线座驱动发送控制量,并与上位机通过串口进行通信回传执行结果与状态。所有测试要求在10个工作日内完成,这是对所有参试测评中心嵌入式软件测试手段、测试人员能力的一次全面考验。我中心经对测试需求的认真分析,决定采用公司自主研发的测试管理系统STM和嵌入式软件半实物仿真测试集成开发环境ETest开展本次能力验证的软件测试工作。

能力验证结果发布后,公司对参与此次能力验证的有关单位进行了调研,在本次能力验证工作中应用了ETest测试工具及STM管理系统的测评中心均取得较满意成绩。我们分别从协议信息包的生成、测试用例的设计、人力投入、测试占用时间、文档资料准备、缺陷发现结果等角度进行了对比分析。结果可以看出,无论是测试效率还是测试能力均提高了70%。

序号对比项目传统测试技术单位工具应用单位(ETest、STM)效果
1协议信息包生成手段程序员编程、调试、测试ETest拖曳、简单脚本开发能力要求降低,无需开发参与
2测试用例及数据设计手段人工设计数据,繁琐、容易遗漏等价类、边界值、组合自动生成测试数据测试充分性大幅提高
3测试数据管理使用Wrod、Excel等方式管理,结构化与可视化程度较差,需要大量的标准化工作STM进行需求分解、测试用例管理结构化程度提高,省去繁琐的标准化共工作
4人力投入(个)至少6人3人50%
5测试占用时间(人时)420人时以上180人时57%
6文档资料准备占用时间(人时)72人时12人时83%
7缺陷发现结果(14个及以上的缺陷)约占30%全部70%
结论“测试占用时间+文档资料准备占用时间”反映了测试的效率,“缺陷发现结果”反映了测试能力,测试效率和测试能力均提高了70%。

02、被测软件概要介绍

天线伺服系统由上位机、天线控制器及天线座组成,伺服控制软件运行在天线控制器内部DSP芯片上,配合硬件平台和上位机软件共同控制天线座转动,使天线指向目标。上位机负责向天线控制器下达遥控指令,提供天线控制器所需的工作参数,查看天线伺服系统的状态信息。天线控制器是整个天线伺服系统的核心,负责处理遥控指令,计算目标指向角,计算并输出速度控制量。

 

 

伺服控制软件与上位机的接口通信协议多达26种,通信协议中包含非整字节的字段,以及很多字段是需要根据比例因子换算为实际的变量值,要求协议数据包用十六进制从模拟的软件界面中输入。上位机与伺服控制软件通信的基本协议帧如下:

同步字帧长度方式字帧信息校验字
2字节2字节4字节n字节2字节

◆ 同步字:2 字节。固定内容为:0xEB90。

◆ 帧长度:2 字节。帧长度为方式字和帧信息所占用的字节数。

◆ 方式字:4 字节。所有的帧数据都必须遵循下表的格式。

格式标识字节描述
方式字T1信息帧类型
C1信息代号
SEQ2信息帧序号

◆ 帧信息

帧信息长度可变。

◆ 校验字:2 字节。从“同步字”至“帧信息”,将字节内容依次进行累加。计 16 位,不计进位。

帧信息字段的内容是根据方式字中的T来定义的,以设置矢量参数包指令的帧信息说明为例(见下表),帧信息组成比较复杂,包含有无符号整型、单精度浮点、双精度浮点、有符号整型(添加比例因子),时间要换算成毫秒计数等。

 

设置矢量参数包(帧信息)

序号参数数据长度取值说明备注
1矢量参考时刻T040bit无符号整型有效范围:[0,240-1],单位:ms。表示从 2022 年 1 月 1 日 0 时 0分0 秒开始的毫秒计数。
2天线位置矢量X64bit双精度浮点单位:m
3天线位置矢量Y64bit双精度浮点单位:m
4天线位置矢量 Z64bit双精度浮点单位:m
5天线速度矢量VX32bit单精度浮点单位:m/s
6天线速度矢量VY32bit单精度浮点单位:m/s
7天线速度矢量VZ32bit单精度浮点单位:m/s
8目标位置矢量X64bit双精度浮点单位:m
9目标位置矢量Y64bit双精度浮点单位:m
10目标位置矢量 Z64bit双精度浮点单位:m
11目标速度矢量VX32bit

 

有符号整型

比例因子:

5×2 -23

有效范围:[-1200,1200],单位:

km/s

12目标速度矢量VY32bit

 

有符号整型

比例因子:5×2 -23

有效范围:[-1200,1200],单位:

km/s

13目标速度矢量VZ32bit

 

有符号整型

比例因子:5×2 -23

有效范围:[-1200,1200],单位:

km/s

14保留8bit//
15目标位置矢量Y64bit双精度浮点单位:m

03

 

测试方法的分析

 

对于伺服控制软件来说,要测试其伺服控制功能,需要通过设置矢量参数包、设置天线指向模式、设置修正矩阵、发送时间校准指令等一系列信息帧通信才能使得其进入到伺服控制功能,这个过程涉及到多个串行通信信息帧的发送,如何快速生成满足格式要求的信息帧就显得尤为重要。如何产生帧信息是摆在测评中心面前的一大难题,如果使用通用程序设计语言编写C/C++程序产生这些信息帧,不仅效率不高,而且极易出错。如果使用人工编写这些信息帧,则不仅工作量巨大,而且难以根据测试数据设计很快做出信息帧。

为顺利完成该项能力验证,我们的思路是用公司自主研发的测试管理系统STM设计测试用例以及测试数据,只需要关注测试数据的设计,无需关注信息帧报文如何组包;我们使用嵌入式软件半实物仿真测试集成开发环境ETest开发协议帧格式以及协议帧数据生成脚本,并将生成的协议信息帧直接填入到测试管理系统STM的测试用例中,从而有条不紊地完成软件测试工作,达到较高的测试覆盖率。

 

04

 

半实物仿真测试系统集成开发环境ETest之开发

 

本次验证计划基于ETest开发主要工作有:协议定义、脚本开发、设计用例、数据生成。

1.协议定义

1)在ETest图形界面通过拖拽方式定义各协议,设置字段类型;

2)根据协议要求设置字段的字节序、最大值与最小值、默认值;

3)选择校验算法,设置校验字段。

通过上述几步很快完成全部26个协议的定义。

 

2.脚本开发

通过测试脚本的编写,完成比例尺以及数组等的特殊处理,就可以按照任意要求形成所需要的协议信息包了。我们针对不同的通信协议分别开发出对应的测试程序。例如t13程序就是对矢量数据信息帧的处理程序,在这段处理程序中对矢量参考时刻T0完成从日期时刻到2022年1月1日0时0分0秒开始的毫秒计数的转换,同时完成目标速度矢量VX、Vy、Vz的比例因子代入。我们还通过for循环生成批量的天线初始矢量设置信息帧。

 

3.设计用例

在ETest中,实现了测试程序开发与测试数据设计的分离,ETest中将测试数据简单地抽象为用例,我们可以直接在用例节点设计测试数据,测试数据可以用类似AntZPos:[10000,0,10,300,10000]这样的表达式进行描述,这就代表设计了5个用例,取了AntZPos的5个值。

设置该用例所对应的程序,运行程序时自动关联用例。

4.数据生成

通信协议、程序、用例均完成后,就可以用程序执行的方式,直接执行程序,程序会自动从关联的用例中取出测试数据生成数据帧。

 也可以不编写程序,直接用ETest快速测试的方法生成组包的界面。当然,这需要自己进行比例尺的变换,因此我们此次未采用。

05、测试管理系统STM

为了保证测试能充分有序进行,本次测试工作基于测试管理系统STM进行测试需求分析、测试用例设计和测试文档生成,将ETest所生成的信息包直接填入测试用例的步骤描述中,对着测试步骤描述就可以让测试执行人员有序地开展测试执行工作。

通过使用测试管理系统STM,我们可以很容易地划分出测试项并能观察出测试项、测试子项是否通过。

 

 在STM中测试用例设计可以采用参数的方式,用实例来直接进行测试数据设计,下图中<<<指令名称>>>、<<<方式字异常指令>>>均为步骤参数值。

 参数值取值可以形成测试实例集,测试实例集可有效保证测试的充分性,如下图。

 完成测试用例数据设置后,即可按照步骤一步步执行测试,此时,已设置好各类指令报文,直接将其复制到被测件的协议输入区域就可以完成相应的测试工作。

完成全部测试工作后,测试管理系统STM自动快速生成能力验证所需要的各类文档,编写文档的工作量缩短为1天以内,减少70%的用时,有效保证测试人员集中精力于实际的测试工作中,最终确保测试通过。

 

 

06、总结

本次能力验证,按传统方式一般测试开发人员可能需要1个工作日甚至更长时间才能开发出所有协议信息包;我中心由于ETest的熟练应用,仅使用了1个多小时,生成协议组包的效率提高了80%以上。另外基于ETest在测试数据设计方面也有非常明显的效率提升并有效保证了测试质量。使用STM实现了测试需求分解、测试用例与测试数据设计、以及测试执行的测试过程管理,使得测试人员能够根据设计好的测试用例有条不紊的执行,发现软件中预埋的问题,也保证了软件问题、测试步骤、测试数据的良好追踪。

测试管理工具(STM)和嵌入式半实物仿真测试系统集成开发环境(ETest)的使用是我中心顺利取得本次能力验证满意结果的重要因素。公司将一如既往加紧突破自动化测试的相关技术瓶颈,为我国的软件质量发展事业贡献力量。

 

...全文
1044 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
随着元宇宙概念兴起与虚拟数字人技术快速发展,虚拟主播、在线教育虚拟助教、元宇宙社交等应用场景对实时动作表情驱动系统提出更高需求。当前主流动作捕捉方案多依赖专业光学动捕设备或深度相机,设备成本高昂、部署复杂,难以在普通用户场景普及。本研究设计并实现一套基于普通单目摄像头的虚拟数字人实时动作表情驱动系统,旨在降低数字人内容生产门槛。系统采用Unity作为主开发引擎,结合Blender进行数字人模型构建与BlendShape表情系统制作,使用MediaPipe框架实现人脸关键点检测与人体姿态估计,通过C#脚本完成实时数据处理与渲染控制。系统包含五个关键模块:人脸关键点检测(MediaPipe Face Mesh提取468个关键点)、人体姿态估计(MediaPipe Pose识别33个骨骼关键点)、表情迁移映射、动作平滑优化(卡尔曼滤波与贝塞尔曲线插值消除抖动)、实时渲染(60fps流畅渲染,支持直播推流与视频录制)。实验结果表明,系统在普通笔记本上可实现60fps实时驱动,人脸关键点检测准确率达98.7%,人体姿态估计平均误差小于5像素,表情迁移相似度达92.3%。 【课程报告内容】 摘要 第1章 绪论 第2章 相关技术与理论基础 第3章 系统架构设计 第4章 关键模块设计与实现 第5章 实验与结果分析 第6章 总结与展望 参考文献
内容概要:本文提出了一种基于蒙特卡洛模拟与拉格朗日松弛法的分散式优化策略,用于解决电动汽车充电站在分时电价机制下的有序充电调度问题。通过蒙特卡洛方法模拟电动汽车充电行为的随机性,生成多样化负荷场景,构建以降低电网负荷波动和用户充电成本为目标的优化模型;采用拉格朗日松弛法对耦合约束进行解耦,实现分布式求解,在保障用户隐私的同时提升计算效率。文中设计了详细的仿真场景,系统分析了该调度策略对电网负荷特性和用户经济性的影响,验证了所提方法在实际应用中的有效性与可行性。; 适合人群:具备电力系统运行、优化算法理论及Matlab编程能力的研究生、科研人员以及从事智能电网与电动汽车相关领域的工程技术人员。; 使用场景及目标:①应用于城市规模化充电站集群的有序充电管理,实现电网“削峰填谷”;②为电力公司制定科学合理的分时电价政策提供量化分析工具;③支撑智能电网中需求侧资源的分布式协同优化调度研究与系统设计。; 阅读建议:建议结合提供的Matlab代码深入理解算法实现流程,重点掌握蒙特卡洛场景生成机制与拉格朗日松弛迭代求解过程,可通过调整参数设置复现不同工况下的仿真结果,以深化对分散式优化机制与调度效果之间关系的理解。
内容概要:本文研究了基于阶跃响应的V-Tiger自动增益调整PID控制器优化方法,并提供了完整的Matlab代码实现。通过深入分析PID控制的核心性能指标与V-Tiger控制器的动态特性,提出了一种融合阶跃响应特征提取与多目标协同优化的自动整定方案,设计了具备自适应迭代校正能力的优化机制,有效提升了控制系统的响应速度、稳定性和抗干扰能力。文中系统阐述了整定原理、算法架构设计及性能验证流程,通过仿真实验充分验证了该方法在复杂工业控制场景下实现高精度参数自整定的可行性与优越性,为智能PID控制提供了可复现、可拓展的技术路径。; 适合人群:具备自动控制理论基础和Matlab编程能力,从事控制工程、自动化、电气工程等领域研究的研发人员及高校研究生。; 使用场景及目标:①应用于需要高精度PID参数整定的工业控制系统中,如电机驱动、温度控制、电力电子变换器等;②为科研人员提供一种可复现、可扩展的智能PID整定方法,用于提升系统动态性能与鲁棒性;③作为教学案例帮助学生理解PID整定原理与现代优化算法的融合应用。; 阅读建议:建议读者结合文中的Matlab代码逐模块运行与调试,重点关注阶跃响应特征提取与增益优化策略的实现逻辑,同时可尝试将其应用于实际控制系统中进行对比验证,以深化对自动整定机制的理解。

5,631

社区成员

发帖
与我相关
我的任务
社区描述
源于测试的引力。集各方资料。欢迎各位入社!同时欢迎各位加好友进群一起交流:qing_an_an
社区管理员
  • 清安无别事
  • 虫无涯
  • 小博测试成长之路
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 欢迎分享各种测试资料
  2. 欢迎共享各种测试资源
  3. 欢迎各界大佬前来入寨

试试用AI创作助手写篇文章吧