嵌入式软件单元测试若干问题的探讨

嵌入式软件单元测试若干问题的探讨

ID:44023813

大小:67.31 KB

页数:13页

时间:2019-10-18

嵌入式软件单元测试若干问题的探讨_第1页
嵌入式软件单元测试若干问题的探讨_第2页
嵌入式软件单元测试若干问题的探讨_第3页
嵌入式软件单元测试若干问题的探讨_第4页
嵌入式软件单元测试若干问题的探讨_第5页
资源描述:

《嵌入式软件单元测试若干问题的探讨》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、嵌入式软件单元测试若干问题的探讨1Agenda单元测试中的覆盖率结果硬件相关程序的测试方法单元测试的性能测试单元测试的依据咨询与答疑单元测试的代码覆盖率在绝大多数情况下代码覆盖率都不是必需的当代码覆盖率超过某个程度(约70%以上)时,其测试环境就变得越来越难以维护除了实现100%的代码覆盖率之外,对开发者而言并没有什么特别的好处3代码覆盖率能告诉我们什么?40%的代码覆盖率意味着60%的代码将不会被测试用例关联。在实际中,这是很可怕的。代码中是否有很多是无效的呢?应用程序的需求明确了吗?你的用例定义中是否有很多冗余呢?可能丢失了一些需求的用例。或者需求本身就不完整。这些问题是很

2、值得推敲的。如果有人在不使用很多测试用例的情况下还是实现了很高的代码覆盖率说明其代码编写很严谨且高效,并且使用了很多可重用的设计。4与硬件相关的代码如何实现单元测试驱动程序中断处理程序大量调用硬件功能的单元来自工程师的回答一般来说,驱动,中断等模块很少具有复杂的逻辑,也很少有复杂的函数调用。特别是中断,讲究的就是简洁,高效。要是我测的话,不会太依赖工具,可能主要靠代码审查。依据就是芯片操作手册等类似工具书。特别注意的是,中断服务函数不能调用诸如sleep,taskDelay等延时函数,也不能调用类似semTake的同步函数,中断的高效总是最重要的。大量调用硬件功能的模块(如ou

3、tport,inport),这类程序结构简单,照着工具书对一下就行。驱动程序需要注意的是:对硬件资源的多线程访问要有互斥保护,异常分支的处理别忘了资源释放。例如:如何在单元测试阶段实现性能测试性能测试性能测试一般需进行:测试在获得定量结果时程序计算的精确性;测试其时间特性;测试为完成功能所处理的数据量;测试程序运行所占用的空间;测试其负荷潜力;在配置项级测试软件性能和硬件性能的集成;在配置项级测试配置项对并发事务和并发用户访问的处理能力。9强度测试强度测试内容一般包括:提供超过设计允许最大值的要求处理的信息量;数据传输能力的饱和试验,要求超出设计能力传输更多的数据,如内存的写入

4、和读出,外部设备,其它分系统及内部界面的数据传输等;存储范围(如常驻内存、缓冲、表格和临时信息区)超过额定大小的能力;降级能力的测试,对于设计上允许降级运行的软件,计算机部分硬件失效(或瞬间失效)时,验证其自恢复能力的测试;10余量测试余量测试是对软件是否达到需求规格说明中要求的余量的测试。若无明确要求是,一般至少留有20%的余量。根据测试要求,余量测试一般需提供:全部存储量的余量;输入/输出及通道的吞吐能力余量;功能处理时间的余量。11余量测试举例全部存储量的余量内存,硬盘,ROM等输入/输出及通道的吞吐能力余量。以以太网,在一个百兆的以太网里,编写程序每秒中发送20M比特的

5、数据,观察被测系统能否正常工作。串口:某232通讯协议以115200bps的波特率在两个设备间传送数据,数据帧大小为120字节,传送周期为10ms。那么带宽占用率为(120*8/0.01)/115200=0.83。这种通讯协议就不满足余量要求功能处理时间的余量:很多型号软件(特别是上天的设备)不使用多任务实时操作系统,只有一个单任务循环和多个中断在运行。为了保证CPU有足够的时间处理中断,一般要求单任务在一个运行周期之间,实际任务处理时间占运行周期的比例小于80%。(也可理解为CPU占用率小于80%)。需要注意的是,有时软件可能没有满足时间余量,于是采用了优化(寄存器优化,内联

6、优化)等方法,最终满足了时间余量。但这时被测软件的目标码已经全部改变,对于讲究目标码覆盖的测试项目,这意味着之前做过的测试用例可能需要重做。Q&A

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。