嵌入式技术
嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积及功耗严格要求的专用计算机系统。嵌入式系统的软硬件功能界限模糊,测试比PC系统软件测试要困难得多,嵌入式软件系统测试具有如下特点:
(1)测试软件功能依赖不需编码的硬件功能,快速定位软硬件错误困难;
(2)强壮性测试、可知性测试很难编码实现;
(3)交叉测试平台的测试用例、测试结果上载困难;
(4)基于消息系统测试的复杂性,包括线程、任务、子系统之间的交互,并发、容错和对时间的要求;
(5)性能测试、确定性能瓶颈困难;
(6)实施测试自动化技术困难。
大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40%以上,在极端情况,测试那种关系人的生命安全的重要的行业中的嵌入式软件所花费的成本,可能相当于软件工程其他开发步骤总成本的三倍到五倍。
在嵌入式软件测试中,既要考虑软件本身,还要考虑软件同硬件平台和操作系统的集成,同时还有条件苛刻的时间约束和实时要求,以及其他合性能相关的要求。
1、全数字模拟测试
全数字模拟测试是指采用数学平台的方法,将嵌入式软件从系统中剥离出来,通过开发CPU指令、常用芯片、I/O、中断、时钟等模拟器在开发主机平台(Host)上实现嵌入式软件的测试。该方法操作简单,适用于功能测试,是一种可以借鉴的常规软件测试方法。
但是全数字模拟测试有较大的局限性,使用不同语言编写的嵌入式软件需要不同的仿真程序来执行,通用性差,实时性与准确性难以反映出嵌入式软件的真实情况,当并发事件要求一定的同步关系时,维护统一、精确地系统时钟,理顺时序关系相当困难。因此,设计一个能进行系统测试的环境代价太大,全数字模拟测试只能作为嵌入式软件测试的辅助手段。
2、交叉测试(Host/Target测试)
自从出现高级语言,嵌入式系统的开发环境和运行环境通常是存在差异的,开发环境被认为是主机平台(Host),软件运行环境为目标平台(Target),相应的测试为Host Target测试(交叉测试)。测试过程中,充分利用高级语言的可移植性,将系统中与目标环境无关的部分工作转移到PC平台上完成,在硬件环境未建好或调试工具缺乏时就可以开展,这时可以借鉴常规的软件测试方法。
系统中与硬件密切相关的部分在Target上完成,用到的测试工具需要支持目标环境。最后,在目标环境中进行验证确认。交叉测试适用于高级语言,操作方便,测试成本较低,但是实时性受调试环境的制约,在目标环境中测试时要占用一定的目标资源。
3、嵌入式软件测试方法分类
嵌入式软件测试或叫交叉测试(Cross-test),测试内容包括:1.单元测试;2.集成测试;3.确认测试;4.系统测试。
来源:北京尚脑软件测试
全部0条评论
快来发表一下你的评论吧 !