嵌入式软件测试技术综述
2018-01-17陈涛
陈涛
摘 要 本文针对目前在国防领域应用比较广泛的实时嵌入式软件开展测试技术研究,通过分析覆盖测试代码插桩技术,结合测评机构购置的嵌入式软件测试工具,研究了这类工具的工作机理,最后构建一个实时嵌入式软件覆盖测试环境,对于降低软件测试难度,提高测试充分性具有重要的意义。
【关键词】嵌入式软件 覆盖测试
由于嵌入式软件具有功能性强,可靠性高,实时性强,体积功耗小等优点,被主要应用于航空航天、国防交通、医疗卫生、消费电子和信息家电等重要领域。因此嵌入式软件的开发与测试是目前计算机软件发展的一个重点和难点。
嵌入式软件是指驻留运行在嵌入式计算机中的软件,由于嵌入式系统软件自身具有的独特之处,传统的非嵌入式软件的开发和测试方法将不再适用,因此对嵌入式测试方法和策略的研究尤为重要,测试工具的二次开发、测试环境的重新构建等,这些都是影响嵌入式软件测试质量的重要因素。
1 嵌入式软件覆盖测试策略
覆盖测试,也称逻辑覆盖测试,是软件白盒测试的主要方法。软件测试人员根据软件规格说明和程序清单,通过设计足够的测试案例,对软件的内部逻辑结构进行程序语句、分支、条件、路径调用测试,在一个软件产品中,如果存在某些从来没有被执行过的代码,那么这个软件的质量是不可靠的,在从来没有被执行过的代码中可能存在着使整个软件崩溃的BUG而没有被发现。
覆盖测试是验证软件功能结构正确性,确保软件可靠性的非常重要的方法,它需要测试工具的支持。在软硬件资源配置丰富的宿主机上,测试工具对被测软件进行语法分析,向源程序插桩函数;在软硬件资源相对缺乏的目标机上,嵌入式应用程序和测试所需要的数据信息将通过通信程序回传到宿主机,目标机和宿主机通过物理通道连接传输数据信息,测试工具负责在目标机上接收数据信息。基于上述原因,目前需要解决宿主机与目标机之间的数据信息传输问题。
2 基于插桩技术的嵌入式软件覆盖测试
一般地,从覆盖分析的原理来看,覆盖分析工具要对被测程序进行插桩。在对非嵌入式软件测试来说,由插桩代码引起的问题在可以忽略不计。但是由于嵌入式软件的系统与硬件密切相关、I/O通道少、实时性强等特点,对于嵌入式软件来说这却是致命的问题,因为大量插桩代码会破坏嵌入式软件程序的实时性,导致实时性指标下降,甚至可能出现软件不能正常运行的问题。
插桩技术的原理是:首先对被测软件程序代码进行分析,在被测软件源程序的合适位置插入插桩语句函数,插桩语句函数包括语句、条件、判定等需要覆盖的目标;然后下载新的插桩文件到目标板上运行,运行测试用例,利用工具记录测试数据信息,在宿主机上结合程序控制流图、调用图、源代码、判定节点条件真值表进行嵌入式软件覆盖测试结果分析;最后测评人员根据分析统计结果判断覆盖测试执行情况,如果不能满足测试要求,存在没有测试的代码路径,再根据程序代码重新设计测试用例,如此循环,最终达到提高代码程序的覆盖率要求。
3 嵌入式软件覆盖测试的实现方法
测评机构已购置了国外先进的嵌入式软件测试工具,包括純软件方式工作的测试工具(LDRA Testbed、Polyspace),软硬件结合方式测试工具(Codetest)和硬件仿真平台(ADS-2),利用这些工具可以构建一个实时嵌入式软件测试环境,为有效进行嵌入式软件各阶段覆盖测试提供了参考。
构建的嵌入式软件覆盖测试环境如图1所示。
4 结束语
本文在研究高级别覆盖测试技术理论的基础上,结合国外先进的嵌入式软件测试工具使用,对于较少软件错误、优化软件代码结构、降低软件测试难度、提高软件测试工作的充分性、有效性以及工作效率具有重要意义。但是在实际测试中也存在插桩代码规模过大,导致被测软件程序在目标系统上无法正常运行的问题,这就需要对代码词法语法的分析有较高的要求,对软件编译过程有更深刻的认识和理解,才能为提高软件质量,保证武器装备的效能做出贡献。
参考文献
[1]韩柯,杜旭涛,译.Jorgensen P C.软件测试[M].北京:机械工业出版社,2003.
[2]郑人杰.计算机软件测试技术[M].北京:清华大学出版社,1992.
[3]尹党辉.嵌入式软件测试技术研究[J].中国测试技术,2011(08):74-77.
[4]朱少民.软件质量保证和管理[M].北京:清华大学出版社,2007.
[5]姚砺,束永安,叶澄清.面向对象软件覆盖量度的研究和软件测试工具的实现[J].计算机研究与发展,2002,39(08):1017-1022.
[6]T.Ramalingom,Krishnaiyan Thulasiraman.A MatroidTheoretic Solution to an Assignment Problem in the Conformance Testing of Communication Protocols.IEEE TRANSACTION ON COMPUTERS.p317-330,VOL.49(04),April,2000.
作者单位
91404部队 河北省秦皇岛市 066000endprint