由于在开发早期阶段编写的需求会随着时间的推移变得不够充分,所以需要对其进行相应调整。那么这时就会出现一个问题:
已经根据需求实现的测试也要跟着进行调整和检查(进行维护),但这对测试人员来说是相对单调且耗时的。
如何将维护工作减少到最低限度呢?
TPT作为德国PikeTec公司的嵌入式软件测试工具,通过测试服务和客户的建设性反馈,不断识别工具新需求,对上述问题提供了几种策略。接下来将从5个方面介绍TPT是如何减少维护工作的。1. 分离测试数据和预期行为2. 使用状态机型测试用例开发测试3. 测试用例和评估与需求的双向链接4. 巧用测试方法设计稳健的测试5. 测试执行的自动化
01分离测试数据和预期行为
与传统方法相比,TPT可以将测试用例(用于刺激测试对象)和对预期行为的评估进行分离。这种方式既提高了清晰度,也在测试用例创建过程中节省了大量的工作。
举个例子
当前输出信号d等于0,如果输入信号a、b、c同时大于0,输出信号d等于输入信号a、b的和。对于传统方法,根据需求和MC/DC要求编写如下四条测试用例:
当使用测试工具TPT时,可以将上述预期行为通过脚本、Trigger Rule等评估方法定义到Assesslet中,且其内容对所有测试用例均可重用。
如图1,使用Trigger Rule的While condition is true 模式进行评估,简单介绍一下其使用方法:当测试数据满足Condition中的内容时,会评估Then check 中的语句,否则就评估Else check中的内容。
图1 Trigger Rule
还可以通过使用信号波形或斜坡来减少被测系统(SUT)的必要测试用例的数量。如下图,将上述四条测试用例用一条表示。(预期行为如上述写在Assesslet中)
图2 测试用例
另外如果我们想要增加测试深度,例如进行边界值测试,只需编写测试数据即可,因为在Assesslet中已经定义了缺失的信息和期望值。
通过上述内容可以看到TPT提供的这种分离方法在创建测试用例时节省了相当大的成本。另外在大多数情况下测试数据可以保持不变,只需要调整Assesslet,这就使得维护工作进一步减少。
02使用状态机型测试用例开发测试
TPT支持步骤列表型和状态机型的测试用例。
对于状态机型测试用例来说,可以将重复需要的测试数据分离到状态机的变种中。
举个例子
开关处于自动档位下,头灯根据不同的光照强度,产生不同的变化,测试车辆的灯控功能。这里重复使用的测试数据是开关处于自动挡,对其创建状态机和变种,如下图所示。
图3 测试用例
如果重复使用的测试数据内容需要更改,这时只需更改一次即可将使用该变种的测试用例全部更改,内容更改越频繁,节省的工作也就会越多。
03测试用例和评估与需求的双向链接
TPT支持测试用例和评估与需求的双向链接,在ASPICE中所有测试活动都需要保持双向追溯。
图4 测试用例和评估与需求的双向链接
TPT会在每次测试执行后,将需求和测试用例,包括它们的结果,清楚地显示在报告中。
图5 报告显示
如果测试失败,可以很容易地找到相应的需求。
图6 未通过需求显示
对于每个需求,可以很容易找到与之链接的测试用例和评估。
图7 链接的测试用例和评估显示
如果需求在生命周期中发生了改变,那么被改变的需求所链接的测试用例会高亮显示,能够方便查找,进而减少维护时间。
图8 测试用例突出显示
04使用反应式测试方法设计稳健的测试
TPT的反应式测试方法增加了测试对变化和环境变量的稳健性。反应式测试可以理解为,在测试设计中(搭建测试用例时)定义只有当SUT为已定义状态时才执行的动作(在转移线上设置判断条件),也可以称为基于事件的测试。
举个例子
当车辆速度达到30km/h时,执行紧急制动操作,以测试车辆的ABS功能。搭建测试用例时,只需明确当车辆达到30km/h的目标速度时,TPT会检测到这一点,并启动全面制动即可。
图9 测试用例
前一状态机可以切换到不同变种,转移线和后一状态机内容可以不进行调整。这样一来就可以为测试用例搭建和维护节省时间。
图10 变种显示
05自动化
我们可以发现测试中的许多任务都是重复的工作,例如在软件更改后更新测试框架、日常的需求更新、将测试结果反馈到应用程序生命周期管理工具中等。这些工作即使是在测试自动化中也需要由测试人员手动执行。
但是,现阶段TPT已经创造了一些可能性来自动化这些手动工作:提供一个允许用户使用自己的自动化脚本来自动化执行部分工作的API接口(API Script Editor),并且TPT 中85%的GUI功能可以由用户来实现自动化。
例如
通过下图中的脚本可以创建TPT工程,生成状态机型的测试用例。
图11 API Script Editor 内容
图12 执行API Script生成的工程
除此以外,还可以通过API Script实现平台配置,测试评估等功能。
06总结
本文介绍了使用TPT将维护工作减少到最低限度的五种方法,但TPT的优势不仅限于以上内容,想了解更多请联系我们吧。
上一篇:多通道数据采集测试系统NSAT-4000在应用中具有哪些优势
下一篇:数字万用表应该怎么选?
推荐阅读最新更新时间:2024-11-17 08:50
推荐帖子
- TI线性充电器&便携式医疗设备,携手开启医疗领域新时代!
- 随着医疗保健范围扩大到涵盖新兴技术,以及电池尺寸的缩小和互连性提高,医疗领域将迎来一场治疗方案的范式转移。在接下来的十年中,医生通常可以使用在线工具监测数百名患者,无需亲自进行体检,这样一来医疗保健系统可以应对越来越多的患者。伴随这一趋势的到来,越来越多的医疗和个人电子产品公司正在采用可穿戴设备来改善住院和门诊治疗阶段患者的治疗效果和提高服务质量。这些公司通过对医疗设备的各种创新帮助提高对患者的服务质量,但其中一个重点是更改设计,以便所有护理设备能够在患者整个住院期间跟踪患者情况。目前,重
- alan000345 TI技术论坛
- 一个错误导致高云云源软件闪退
- 今天在我的工程里改了一个参数,综合时云源软件会闪退,这个工程昨天是好用的,昨天打包时顺手把仿真生成的大量文件删除了。因为闪退不会给出任何错误提示,我万万没想到是改这个参数改的,排查了很多地方,最后才定位到这个参数,最后还顺便找出一些设计上的问题。大概是这样的,我在一个top里例化了a,top里的data是8位的a里的data原来是8位的,正常。后来被我改成14位后综合就会闪退。因为我的失误,data应该是output类型,被我定义成了input类型。之前DW是8,虽然outp
- littleshrimp 国产芯片交流
- zigbee的上位机监控软件可以是组态王吗?如何建立联系?
- zigbee的上位机监控软件可以是组态王吗?如何建立联系?有相关资料吗?zigbee的上位机监控软件可以是组态王吗?如何建立联系?很久没搞组态软件的说。请问你找到方法了吗为什么一定要用组态王呢?完全可以自己编写上位机软件,又不难可以,这个需要看协议方面的书
- wangyan199265 RF/无线
- “玩板”+在STM32F7DISC上重玩micropython(3)
- 图层(layer)STM32F7DISC开发板的图形功能很丰富,其中一个很有特点的功能是图层(layer),layer的概念类似于photoshop中的图层。图层有很多用法,比如可以将图层作为缓冲区,先在一个图层中绘图,然后一次性快速显示;也可以设定图层的透明度(set_transparency),或者设定图层的显示窗口位置和大小等。受到RAM限制,目前仅支持2个图层。0是背景图层,1是前景图层。在图层1绘图时,如果颜色中设置了alpha通道,可以显示出透明色,和图层0进行叠加。
- dcexpert 测评中心专版
- 串口读取数限制!!!!
- 串口能够写入多位数据,但是只能读出前8位,COMSTAT.cbInQue,在输入多位后,每次都是等于8.待将串口发送区清空后,WaitCommEvent还是能检测到EV_RXCHAR事件,这时COMSTAT.cbInQue=0.这是什么原因啊?怎样才能输出更多的数??串口读取数限制!!!!你的缓冲区是多大的?好像设置的是512,512.这应该足够了吧512够了。兄弟,直接上代码吧。以后需再关注,现在先帮你顶一下//分配设备缓冲区SetupComm(m_hComm,512,512)
- yyyjjj 嵌入式系统
- 【2023 DigiKey大赛参与奖】开箱帖 树莓派5
- 感谢得捷,感谢EEWORLD。300报销奖金,看了一圈还是树莓派5最香,自己补一点直接上。【2023DigiKey大赛参与奖】开箱帖树莓派566666呀,自己得被好几百块吧?这下子可以玩得开心了。自己补了多少啊?pi都有5了?我有个pi400诶~感觉很好
- 顺竿爬 DigiKey得捷技术专区
- 苹果妙控2代键盘改机械键盘
- LTC3649IUFD 宽输入信号范围音频驱动器的典型应用电路
- 【CW32】无刷电机控制器核心版
- DC1251A-A,演示板低噪声可配置宽带滤波器
- 【ART-PI扩展板】RGB LEDs_IO
- 单总线NTC+干簧管+震动开关T12支架
- LT5560、0.01MHz 至 4GHz 低功率有源混频器的典型应用
- 【音频转换器】IIS音频转换模块
- AKD4588,AK4588 24 位音频编解码器评估板,带 2CH ADC 和 8CH DAC,带内部 DIR、DIT
- DC1954A-D,用于 LTC6954-4 低相位噪声、三路输出时钟分配分频器/驱动器、3 个 LVDS/CMOS 输出(DC590 或 DC2026)的演示板