提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2023-03-21 09:58:53.690|阅读 68 次
概述:这篇文章阐述了Parasoft C/C++test如何通过覆盖率指导助手等自动化生产力功能更好地帮助测试团队。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
Parasoft是一家专门提供软件测试解决方案的公司,Parasoft通过其经过市场验证的自动化软件测试工具集成套件,帮助企业持续交付高质量的软件。Parasoft的技术支持嵌入式、企业和物联网市场,通过将静态代码分析和单元测试、Web UI和API测试等所有内容集成到交付管道中,再加上服务虚拟化和完整的代码覆盖率,减少了交付安全、可靠和合规软件所需的时间、精力和成本。
在构建关键系统时,将代码覆盖率结构化是必须的,也是非常重要的。这篇文章阐述了Parasoft C/C++test如何通过覆盖率指导助手等自动化生产力功能更好地帮助测试团队。
软件测试是软件开发不可分割的一部分。每个开发和执行代码的行业都可以从使用结构代码覆盖率测试工具中受益。这些工具在安全关键型应用的嵌入式开发行业中特别有用,在这些行业中,软件系统不能出现故障,否则就会涉及生命危险。Parasoft C/C++test的覆盖率指导助手能够帮助用户对难以捉摸又耗时的代码创建测试用例。
代码覆盖率是一个重要且必要的条件:
我们在嵌入式安全和安全关键系统中将代码提升到100%覆盖率有多种目的。其中最主要的目是符合DO-178C、IEC 62304等流程标准中定义的验证和确认(Verification & Validation)要求。
代码覆盖率提供的价值是对V&V(Verification & Validation)过程的提升,它可以帮助我们清除代码中的缺陷,确保每行代码都已执行,从而满足团队或者认证的要求。这可以大大提高团队代码质量的安全性和可靠性。
同样,如果我们执行了所有的测试用例,而只获得了60%的覆盖率,那么很明显我们没有创建足够的测试用例。因此,隐藏的缺陷可能潜伏在这些未测试的部分。
另一个问题是“死代码”。这意味着这些代码永远不会被执行,因为没有条件能够支持这些代码被执行。这种情况可能发生在实现了某个特性/功能,但在某种条件下,这个功能需求被删除了。如果不完全删除这些相关的代码,就可能会导致死代码这种情况。在函数或方法中查找死代码的同时,还可以突出必须解决的坏代码。
您可以通过下面的测试方法或它们的组合方法来实现代码的高覆盖率:
单元测试
集成测试
系统测试
下面是Parasoft支持度较高的两种方法:
1. 系统测试和单元测试的组合。首先,检测代码并执行所有的系统测试用例,这将会产生比较高的覆盖率指标。最后,使用单元测试方法来提升剩余未覆盖代码的覆盖率。
2. 利用单元测试实现100%代码覆盖率。这种方法很直接。用户创建单元级的测试用例,以确保对每个功能/方法被覆盖。
覆盖率指标有非常多种类。具体应用哪种覆盖率指标取决于IEC 61508中定义的安全完整性等级(SIL)。另一种情况是DO-178B/C的设计保证级别(DAL)对覆盖率指标的不同要求。对于嵌入式系统,我们可能常用到的覆盖率指标是语句、分支、修改条件/判定(MC/DC)覆盖率。其中,对于那些最严格的要求,会包括汇编代码的覆盖率。Parasoft支持收集所有这些覆盖率指标,包括其他行业名称不同的覆盖率指标种类,比如块、调用、函数、路径、判定覆盖率等。
Parasoft C/C++test的“一键获取覆盖率”功能在对减轻团队工作任务和减少成本方面,有着巨大作用。首先是自动生成测试用例,我们只需要单击一下测试配置,C/C++test即可分析代码并且自动生成智能的单元测试用例。然后我们可以执行这些单元测试用例。根据不同代码的大小和复杂性,团队基本上可以达到80%左右的覆盖率。
对于复杂的代码,总是有一些结构复杂的代码语句,要覆盖这些语句并且获取覆盖率是非常困难的。对于这些结构复杂的代码,我们可能需要根据不同的路径或条件情况排列,设计很多组测试用例,才有可能覆盖这些代码,这需要花费我们大量的时间和精力。但是我们现在就有一个完美的解决方案,那就是Parasoft C/C++test Coverage Advisor。Parasoft C/C++test覆盖率指导助手,可以帮我们分析结构或条件复杂的代码,提供给我们多组测试用例,使这些代码更容易被覆盖。
在编辑器中,右键单击您想要覆盖的代码行,然后选择Parasoft->Show in Coverage Advisor。
下图展示了为用户提供的多种测试用例,前置条件字段表示:
mainSensorSignal和coSensorSignal的范围和输入值
外部调用的预期输出
在使用这些设置的参数值和外部调用的桩函数创建单元测试用例时,用户将获得所选行的覆盖率。
在构建嵌入式安全和安全关键型软件系统时,代码结构覆盖率是必须的。同时,我们可以将对应的测试用例和需求关联上,这样可以确保:
创建了足够的测试用例来测试软件
没有任何死代码
每一行代码都经过合规性和认证需求的检查
Parasoft C/C++test是一个完整的软件测试解决方案,它为团队提供了测试方法功能和自动化生产能力,比如覆盖率覆盖率指导助手。利用这个功能,开发人员可以快速实现他们的代码覆盖率目标。相应地,管理者可以加快产品上市时间、保障审计和简化产品认证。在向市场输出高质量软件的同时,能够降低成本投入。
了解更多有关Parasoft产品咨询,欢迎咨询
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢