彩票走势图

Parasoft C / C ++test:嵌入式单元测试实践(九)

原创|使用教程|编辑:龚雪|2015-12-17 11:47:43.000|阅读 458 次

概述:关于Parasoft C / C ++test的嵌入式单元测试实践,本文主要介绍了单元测试的测试套件、内存监控和安全等级。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

相关成本

这篇文章中,我们测量ASR演示代码的单元测试达到100%语句覆盖率所需的时间。项目配置的时间不到10分钟。初始生成测试用例用了30秒。查看生成的测试用例花了一个小时,其中还包括对严重问题的分析和修正:

  • 有些功能没有针对传递空指针的保护措施(如前所述)。
  • “average”功能无法接收非常大的数据。检测到溢出。
  • “average”功能没有针对improperl- initialized结构的保护措施。

还有一个小时是为达到100%语句覆盖率而创建测试用例。总共花费不到3个小时,代码达到了100%的语句覆盖率(SIL 2),79%路径覆盖(SIL 3),以及59%的MC/直流覆盖(SIL4)。另外,代码问题已被检测出和修复了。创建了25个有质量保证的测试用例,其中两个是便于填充数据源的迭代。

内存监控

C++test带给我们的好处不仅仅是提高效率。首先,可以对所有运行的测试用例进行内存监控。要做到这一点,C++test 仪器代码用于监控其执行,然后运行它。如果检测到任何读/写出界;使用未初始化的变量;泄漏或类似运行时的缺陷,将会把这些错误报告出来。您不必亲自检测,就会得到运行时的错误代码。

回归测试套件

另一个好处是,我们为简化ASR代码建立了一个回归测试套件。 回归测试套件为修改代码时提供了一个安全网。你可以把它看成是植入代码的大量的传感器。一旦遇到问题,传感器就会发出警告。回归测试套件为代码修改提供了更多的可能。在它的保护下,你唯一要考虑的事情是:这次修复是否会导致弊大于利。在你进行单元测试的同时就可以建立这种回归测试套件。这的确是一个额外的惊喜!

单元测试用例通常在一个非常低的水平。它们并不能取代常规的功能测试,只是把它扩大。当然,这种“功能性”的测试用例越多越好。换句话说,创建的测试用例要努力模仿现实生活中的情况,而不只是为了得到一些额外的代码覆盖。建立这样的测试用例需要更多的努力。强大的测试套件可以帮助您捕捉真实的、显著的问题。如果想要确定这个修复的效果,你需要运行很多测试用例,甚至成百上千个。这种信任是无价的。

报告

实现了100%的语句覆盖并且通过了所有的测试用例,这些结果很值得高兴。但如果你想证明你的代码,你需要证明你 做到了这一点。为了这个目的,C++test可以生成报告。或者,你可以只保留手头上这些记录来证明你可以提供良好的,高质量的软件。

单元测试相关的功能安全

在前文中,我们提到了验证功能安全的问题。事实上,这是今天的关键问题和未来的电气/电子/ 电子系统问题。新的功能越来越多地触及安全工程领域。每个功能必须保持在接受的风险级别,称为安全功能。要实现功能安全,这些功能需要满足安全功能的要求(功能的作用)和安全完整性要求(函数的可能行为令人满意)。未来的发展和一体化需要安全功能的进一步加强,其中包括安全系统的发展流程和验证安全目标是否达到。

安全完整性等级

安全完整性等级(SIL) - 作为由IEC-61508标准定义的(四个级别之一(SIL1-SIL4))在给定的安全范围内应对危险故障。每个安全相关的系统功能都需要有相应的安全完整性等级分配。E / E / PE安全系统通常实现一个以上的安全功能。如果安全完整性要求这些具有不同的功能,那么他们之间要有充分的独立性。

<Parasoft C / C ++test产品详情>

购买最新正版授权Parasoft赠送Macbook!""

慧都年终盛典火爆开启,一年仅一次的最强促销,破冰钜惠不容错过(12.01~12.31)!!优惠详情点击查看>>


标签:软件测试技术C/C++

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP