论文部分内容阅读
随着嵌入式技术的发展,嵌入式应用的不断增长以及嵌入式系统复杂性不断提高,要求嵌入式软件的规模和复杂性也不断提高,嵌入式软件的质量和开发周期对产品的最终质量和上市时间起到决定性的影响,因而嵌入式软件的测试成为了研究的热点。由于嵌入式系统的自身特点,如实时性(real-timing),内存不丰富,输入/输出通道少,开发工具昂贵,并且与硬件紧密相关,CPU种类繁多等原因,嵌入式软件的测试比一般商用软件的测试更为复杂,可以说嵌入式软件是最难测试的一种软件。从国内外目前的嵌入式系统软件测试研究现状来看,对于软件分支覆盖率、性能分析等重要指标的获取,无外乎采用的都是介入式与非介入式两种方法之一。介入式方法主要还是采用静态分析和产生可执行代码的插桩式动态分析等方法进行的。而非介入式测试方法的基本思想是,主动采集被测试系统运行状态数据并根据测试需求进行必要的分析但不影响目标系统的运行,通过获取目标系统运行时全部或必要的状态信息,结合被测试目标软件的静态特征,来了解目标软件的实际执行情况。本文讨论了嵌入式软件测试的特点和现有测试方法的局限性,分析了完成嵌入式软件测试所需的基本测试环境,结合导弹运载器嵌入式软件的特点,提出了一种比较实用的、针对弹上计算机嵌入式软件的测试方法和有效工具。分别阐述了该方法的两大组成部分:测试信息采集部件、测试软件综合分析部件。提出了在测试信息采集部件中,采用普通的数字接口器件抓取目标机在程序运行过程中的缓冲器的信息的方法;在测试软件综合分析部件中,采用了相对比较传统的对照比较方法,对采集到的信息和已经得到的静态结果进行逐条比较分析,对出现的不一致情况给出适当的处理建议和结论。在解决信息的存储、信息的格式化和不可达指令代码检测的关键问题上给出了解决方法。本文提出的这套比较实用的嵌入式测试方法和工具实现起来比较简单,具有很好的实用价值,运行效果比较理想。其最大的特点是具有可推广性,是一个可以称之为适合各种型号导弹运载器嵌入式软件测试的通用平台。但是当针对导弹运载器中嵌入式软件测试的特殊需求时,仍然值得进一步完善和深入研究。为此,本文在最后讨论了该方法的不足和展望。