4.3 嵌入式软件测试支撑工具

  为提高软件测试效率,需要使用测试工具支持和辅助测试工作,其作用是为测试的实施提供某种服务,以减轻测试人员的劳动工作量。嵌入式软件测试支撑工具主要包括:静态测试工具、动态测试工具、仿真测试环境、测试管理工具等。

  当今软件领域中所涌现出来的软件测试支撑工具种类繁多、功能各异,在嵌入式软件测试过程中,要根据如下原则选择适用而有效的测试辅助工具。

  1)根据嵌入式软件自身的特点选择测试工具。将工具与其目的、用途相匹配,适合于测试的需要,测试过程才有效。

  2)根据测试过程不同测试阶段选择测试工具。比如,单元测试阶段不需要目标机环境,可以选择通用的单元测试工具对被测代码进行静态分析和动态覆盖率分析;而在系统测试阶段,利用嵌入式软件仿真测试环境对实时嵌入式软件进行自动的、实时的、非侵入式的系统测试是目前国内外测试实时嵌人式软件公认的、行之有效的方法。

  3)考虑软件开发和测试人员技能水平,选择合适的且易于实施的测试工具,进行充分的培训。

  4)考虑测试工具的价格因素,综合评估使用该工具的效费比。

  5、嵌入式软件测试实例分析

  下面结合一个具体的嵌入式软件单元测试过程来描述软件测试工程化方法在实际中的应用。某嵌入式软件是在软件开发环境CCS(CodeComposerC3x一C4x)中采用TMS320C31C语言编程实现的,主要包括主控制流程、功能应用、数据处理、底层驱动、中断服务等几个模块。该测试任务为期6周,处于单元测试阶段,与开发过程的编码阶段并行。

  测试负责人根据需要制定软件测试计划,确定测试的范围、方法、进度安排。本次测试的目标是:完成代码的静态分析和桌面检查,设计测试用例,完成动态测试(语句覆盖率达100%、分支覆盖率达85%以上),同时兼顾部分单元级功能测试。测试环境为宿主机环境,测试工具选择LDRATestbed/Tbrun,测试管理工具选择MercuryQualityCenter,用于管理测试用例和缺陷。

  测试人员根据测试计划的安排,首先依据设计文档编写测试用例,在对被测单元进行静态分析后执行测试用例,并将所发现的缺陷及时提交测试管理工具。开发人员对所发现缺陷进行确认和修改,将修改后的软件重新提交测试,测试人员执行回归测试,验证缺陷的修改情况。后,测试人员对单元测试情况进行总结,编写单元测试报告。在测试周期内,测试人员通过静态分析,发现9类违反代码规则,编写测试用例75个,语句覆盖率和分支覆盖率均达到要求,发现软件缺陷54个,其中维护性问题5个,设计问题22个,逻辑问题l6个,其他问题11个,如图3所示。从测试结果来看,本次测试任务较好地完成了预期的目标,验证了该工程化方法的有效性。

  6、结语

  本文结合嵌入式软件的特点,阐述了一个有效的软件测试工程化方法,然后以一个测试实例验证了该方法能有效地发现软件问题,提高嵌入式软件的质量,进而保证嵌入式系统的安全性和可靠性。本文提出的软件测试工程化方法对软件组织开展有效的嵌入式软件测试提供指导,并且对实施软件工程化具有一定的参考价值。