论文部分内容阅读
伴随着信息家电,手持设备,无线设备等的迅速发展,相应的硬件和软件也得到迅速发展,嵌入式软件的测试也越必要。嵌入式软件的覆盖测试和性能分析是嵌入式环境下重要的测试方法,所以开发嵌入式环境下的覆盖测试和性能分析工具有一定的现实意义。 通用软件开发的开发环境和程序运行环境是相同的,程序动态信息的收集比较简单,可以通过写数据文件将程序的动态信息保存下来,或通过某种进程间通信等方式直接将程序的动态信息发送给分析测试工具。嵌入式软件的开发与通用软件的开发最大的不同点在于嵌入式软件需要采用交叉开发的方式:开发工具运行在软硬件配置丰富的宿主机上,而嵌入式应用程序运行在软硬件资源相对缺乏的目标机上。对于这类软件的分析测试也存在着同样的问题:测试工具运行在宿主机上,分析测试工具所需要的程序动态信息在目标机上产生,所以必须通过一定的物理/逻辑连接传输到缩主机上,由测试工具接收。因此,嵌入式分析测试工具在设计上也必须考虑有效的数据上传方法,解决数据信息的传输问题,并且尽量减小对被测程序的影响。 大多数分析测试工具通过对被测程序代码进行修改,使之能够记录程序的运行情况。这个修改过程通常是向被测程序代码中的适当位置添加少量的代码,这个修改过程称为插装。在程序中插入插装代码是一种有效的测量程序各方面性能的技术。这种插装能够在程序编译过程的各阶段进行,通过诸如编译器、链接器、或者是测试系统所包含的外部工具。但是无论是那种插装方法都会对被测程序的运行带来一定的影响。由于嵌入式软件实时性要求,嵌入式分析测试工具在设计上必须考虑对嵌入式应用的插装应尽量小的影响被测程序的运行。 本人长期以来对以嵌入式系统比较感兴趣,对嵌入式性能和覆盖测试工具进行了一定的研究,并且在科银公司的嵌入式软件平台DeltaSystem上实现了一个简单的性能分析和覆盖测试工具。本论文基于这些事实,对面向嵌入式系统分析测试工具的体系结构、数据采集上传、插装方法上进行了一定的探讨。