从上面的三种结果表中可以很清楚的看到,程序的执行结果与静态分析结果一致,并且指令执行序列、执行时间与静态分析结果完全相符,因此,可以得出一个结论:该程序满足设计要求。

  但是从运行的结果看,无论所取数据是什么,语句8始终没有遍历到,所以可以得出这样一个结论:语句8为不可达指令,可以从源程序中将之删除,并不影响程序的正确性。

  5、结论

  我们设计的这种测试方案是介于干涉性与非干涉性测试手段之间的一种调和方法,数据的采集过程类似于一个软性的逻辑分析仪,对目标程序的运行过程不产生任何干涉性的影响,进而实现了目标软件的全实时运行,可以说这是一种测试手段和方法的新尝试。

  这套测试方案的明显的优点是不需要考虑源程序中是否含有不可达指令,只关心执行语句的序列,采样分析的过程相对比较简单,这种方法属于一种框架结构,比较适合更大范围的推广应用。

  但是本方案也有其明显的不足和缺陷:第一,由于本方案的采集电路部分采用的是8255A并行接口芯片,工作频率相对比较低,在进行信号采集的过程中,明显感觉到实时效果不够好,如果能够将信号采集部分应用采样速度比较好的接口电路,则本方案的测试效果会得到明显改善;第二,本方案只是对被测软件的执行情况进行了跟踪和记录,并没有涉及到对程序的功能测试,因此在对此方案进行改进时可以考虑在综合分析模块中加入功能性分析的部分。到目前为止,本方案只是实现了一种测试工作,还有很多功能亟待扩充和完善。

  嵌入式软件的测试方法与手段是随着应用的发展而发展,到目前为止,航天飞行器中,特别是导弹上使用的嵌入式软件的测试仍然是一个没有彻底解决好的难点,如何利用多种多样的测试方法和手段开发出一种更具有普遍意义的测试方法是我们军用软件行业需要努力奋斗的一个方向。