TASMO-自动测试建模好帮手

作者 | ilil小编 | 吃不饱 对于一名汽车软件测试工程师,最关心的问题是如何高效完成产品测试。目前提高测试效率的方法主要有以下两个方向:一、提高测试建模的效率,最好能够实现“自动化”,并且测试用例能够复用于后续的sil、pil以至于hil测试阶段。二、快速完成模型\代码覆盖度统计,并提升模型\代码结构覆盖度。tpt-tasmo,一款能够完美满足上述需求的神奇工具箱来了!
01tasmo的特性
tasmo是tpt中一个独立的工具箱,能够针对simulink/stateflow、targetlink模型或c代码,基于cc、dc、mc/dc原则自动生成测试用例、进行结构覆盖度统计。图1 tasmo测试用例自动生成
针对simulink/stateflow、targetlink模型、c代码,自动进行模型或c代码的结构分析,确保测试完整性自动生成测试用例,帮助用户节约大量时间和成本用户可自定义测试用例的创建准则提供详细的覆盖范围报告,包括测试集覆盖的以及未覆盖的结构支持cc、dc、mc/dc准则02应用一:自动生成测试用例
以灯控模型为例,在simulink子系统中,分别有两个输入信号和一个输出信号,当开关处于on或off状态时,头灯也随之打开或关闭;当开关处于auto状态时,头灯受到光照条件的影响打开或关闭。
图2 灯控模型
功能安全要求软件单元测试要进行基于需求的测试和接口测试,同时为了保证测试的完整性,还需尽可能满足结构覆盖度。tasmo的用例生成算法不断精进,同时利用静态分析技术,自动生成最少数量的测试用例来最大化遍历模型,满足上述要求的前提下还实现了“自动化”。用户只需要进行以下步骤:
(1)点击generate test cases - for matlab/simulink models (tasmo),启动tasmo工具箱,选择当前测试的模型;
图3 tasmo界面-模型分析
(2)点击input specification,对输入接口的最大最小值、步进长度、信号组成方式进行配置,自动生成的用例会在配置的数值范围内实现遍历,覆盖接口测试;
图4 输入信号配置
(3)点击coverage goals selection,选择生成用例的结构覆盖度目标,可选择cc、dc、mc/dc准则。以模型中的or模块为例,如须满足mc/dc准则,须包含如下情况:①两个输入为false;②一个输入为true,另一个输入为false。tasmo可以分析出如下结构:
图5 灯控or结构分析图6 生成测试用例准则选择
(4)点击generate,基于之前的配置一键生成测试用例。
图7 自动生成测试用例
测试用例生成完成后,只需根据功能需求逐条编写gui评估,便可实现基于需求的测试。相比传统的测试方式,使用tasmo工具箱,不仅验证了模型设计符合功能需求设计,在测试建模效率上也得到了极大的提高。同时tasmo自动生成的测试用例也可以复用于后续的sil测试,验证模型生成的代码是否符合功能预期。
03应用二:模型覆盖度统计
tpt在统计结构覆盖度时提供了多种选择,对于模型测试,可以调用targetlink、ctc++ for targetlink和simulink v&v工具统计结构覆盖度。除此之外,tasmo也具有统计结构覆盖度的功能。我们可在matlab/simulink平台配置中的tasmo coverage analysis选择覆盖度统计准则,无需集成外部测试覆盖度工具,从而节省测试成本。
图8 覆盖度准则选择
tasmo会自动根据覆盖准则去分析模型结构,列出相应子层级下的关系运算符或逻辑块的输入和输出的组成情况,最后统计出当前运行的测试用例或测试用例集的覆盖情况,并在测试报告中展示出覆盖度详情页。
图9 模型覆盖度报告04应用三:c代码覆盖度统计
tasmo工具箱不仅可以统计模型的结构覆盖度,对于c代码也同样适用。
在c/c++ platform选择tpt coverage,即可使用tasmo生成c代码的测试数据,统计当前测试用例或测试用例集的结构覆盖度。同样地,可选择cc、dc、mc/dc准则作为统计标准。
图10 c platform覆盖度准则选择
如下图所示,测试报告展示了覆盖度详情页。点击link查看c代码的具体覆盖情况,对未覆盖的代码语句进行标红高亮显示,包括语句true和false的覆盖次数,帮助定位问题和基于覆盖度结果补充测试用例。
图 11 c代码覆盖度报告
图12 c代码覆盖度报告详情页
05小结
本文介绍了tpt-tasmo在自动生成测试用例和统计模型/代码覆盖度方向的应用,帮助我们更高效、更完整地完成软件测试,节约测试成本。同时随着越来越多的小伙伴开始关注形式化需求,在tpt19中即将推出基于tasmo生成形式化需求的测试用例,我们诚邀您一起来体验tpt19强大的测试功能,敬请期待!

多点快速采集系统中信号可靠转贮研究
中国科大、合工大签联合培养协议,培养高水平芯片人才
第十三届世界品牌五百强公布 苹果重回榜首
LED照明业自救:固守还是走出去?
EMC测试与整改实践
TASMO-自动测试建模好帮手
科创板澜起科技董事李亚军介绍、履历信息
RT-Thread开发GD32F450添加adc外设
不将就:一加5搭载骁龙835,今夏不见不散!
适用于Arduino的RF操纵杆的制作
FM175XX使用总结及国产替代降低成本方案
深度剖析超宽禁带技术,看它如何成就卓越设计
京东方CEO:中美贸易战对京东方显示事业没有太大影响
让对外合作更高效,就用WeLink跨企业沟通
KUKA机器人ASCII码的运用
Nokia 2720翻盖手机宣布于12月24日发布
NP2302FVR-J(20 v n沟道增强型MOSFET)
土壤墒情监测站的应用为农业生产提供科学数据支撑
酸蓄电池是怎样生产出来的?
路灯光控开关GUK-81/2/3/4/电路原理图