● 摘要
嵌入式系统目前广泛应用于工业市场、自控市场以及国防建设等领域,具有与硬件紧密相关、专用紧凑、资源限制、多样性和开发困难等特点。嵌入式软件对质量和可靠性的要求较高,因此需要进行充分的软件测试。由于软件的开发环境和实际运行环境存在很大差异,目前嵌入式软件测试通常采用与传统软件不同的测试方式,如在线仿真器、插装和软件仿真等。在线仿真器方式对硬件有较大的依赖性,成本较高;插装方式则改变源程序,对测试结果造成了影响;使用软件仿真方法实现的工具也存在一些问题。此外,目前的测试工具普遍对单元测试和测试用例注入支持得不够好。 本文对嵌入式软件及其测试方法进行了调查和分析,并最终采用了基于软件仿真器的方法实现嵌入式软件的测试。主要方法是通过对编译生成的目标文件进行分析,并生成可执行内存映像、符号表和行号信息;同时开发目标硬件的仿真器,模拟被测程序的运行环境。将内存映像加载到仿真器上运行,并且结合执行记录、符号表和行号信息得到测试结果。此外,用户可以采用TCL脚本的方式注入测试用例,能够辅助自动测试。基于此方法开发了一个嵌入式软件测试、调试工具Sim2106xTest。该工具能够实现静态分析和动态测试,可以生成控制流图和函数调用关系图,支持语句覆盖测试和源程序着色,并具备基本调试功能。与其他工具相比,本工具具有不依赖于特定硬件、运行结果准确、支持单元测试和测试用例注入方便等优点。本文对基于仿真器的嵌入式软件测试方法进行了说明,并通过一个工具证明了这种方法的可行性。对于嵌入式软件测试工具的研究和开发具有一定的借鉴意义。
相关内容
相关标签