不做单元测试?小心得不偿失!嵌入式系统单元测试工具,自动生成测试用例

单元测试是整个软件开发过程中的一个重要环节 ,执行一个完备的单元测试方案能够提高整个开发过程的时间效率,确保软件的实际功能与详细设计说明的一致性,使软件开发的效率和软件产品的质量得到最好的保障 。

为什么要做单元测试?

软件中存在的错误发现得越早,修改和维护的费用就越低,难度也越小。单元测试是在软件开发验证过程的底层和早期进行的测试活动,目的是把缺陷消灭在萌芽状态。

 

单元测试有什么作用?

实现敏捷开发

单元测试的主要好处之一是它使编码过程更加敏捷。当软件中添加越来越多的功能时,有时需要更改旧的设计和代码,但是更改已测试的代码既有风险又耗费时间。如果有单元测试,则有助于安全重构。

提高代码质量

由于单元测试是在集成测试之前对最小可测单元的测试,所以能够尽早的发现软件代码中的缺陷,并在不影响其他代码部分的情况下解决问题。这些问题包括程序实现中的错误和单元规范中的缺陷及缺失。通过代码检查和已有缺陷的完善,代码质量可以得到大幅度提高。

消除深度未知隐患

软件开发天生就具有极大的复杂性,没人能100%保证自己写出来的程序没有问题。开发中的初步功能验证我们会用仿真,或模型及代码调试技巧进行结果值确认,这种测试一般只能覆盖部分执行路径,未覆盖执行路径就留下了很多未知隐患。为了保证我们的程序在各种情况下都能按照预设响应,就需要对我们的模型或者代码进行严格的基于需求的测试和覆盖率测试(俗称:白盒测试),而这种测试只能在单元测试中进行。

优化设计和架构

单元测试可以辅助优化设计和架构,比如通过处理器在环(Processor In the Loop)来评估最长执行时间(WCET),内存和堆栈使用量,优化设计和架构,尽早地回避集成后的执行时间及内存的溢出问题

满足行业规范要求

满足Automotive SPICE过程及ISO26262安全规范对单元测试的要求,以从第三方认证公司获取相关认证证书。

 

单元测试任务太重?效率太低?

 

工业嵌入式系统单元测试工具

在中国科学院何积丰院士的带领下,由上海控安自主研发的SmartRocket Unit作为一款单元测试工具,可以自动生成满足语句、分支、MC/DC准则的测试用例,自动执行测试驱动。 通过使用SmartRocket Unit,用户可快速对安全攸关的代码进行单元级别的白盒测试和回归测试,从而进一步提升单元测试的效率。

SmartRocket Unit通过智能模拟测试人员进行覆盖率测试时的思路,实现其核心功能:

  1. 测试用例自动生成。 动态符号执行求解引擎,采用自动推理与符号执行技术,可自动分析程序路径,产生可满足特定覆盖率准则的测试用例
  2. 程序打桩技术,对被测模块中的函数调用自动进行打桩,自动生成测试驱动
  3. 测试驱动将测试用例作为输入,自动执行测试用例,记录并分析执行结果,最终产生测试报告,包含覆盖率分析结果及测试用例数据等

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值