论文部分内容阅读
随着嵌入式软件的发展,软件复杂度和规模愈加庞大,这使得嵌入式软件测试面临着更大的挑战。现今的嵌入式软件测试能力依旧低下,现有的嵌入式测试工具与被测程序之间耦合度高且价格昂贵,对目前大部分嵌入式软件来说,满足不了软件系统的测试需求。本文对当下嵌入式软件测试领域研究现状进行分析,针对软件测试水平低下等问题,结合分布式与自动化测试的优势,设计并实现了一个高性能的嵌入式软件自动化测试平台,本文主要研究工作如下:(1)针对基于静态负载均衡的分布式架构中节点任务粒度划分的问题,本文提出了一种基于测试用例需求优先级的划分算法。该算法首先根据测试用例的完整性、复杂性等需求特性量化了测试用例的优先级别,并且以该优先级为标准筛选得到测试任务,完成对节点任务的划分。该算法定义了基于优先级别的任务粒度划分标准,并与传统的未采用节点任务粒度划分的静态分布式测试方法进行试验比较。实验结果表明,基于测试用例需求优先级的划分算法可以有效地解决分布式架构中节点任务粒度划分的问题,大大提高了嵌入式软件测试的效率。(2)为了解决基于行号的插桩策略会因插桩点过多而造成代码膨胀的问题,本文提出了一种基于程序结构化的插桩点约减算法。该算法首先利用源程序结构化特征约减了基于行号策略获得的插桩点,并且在约减后的插桩点插入拥有特定功能的插桩函数,完成对冗余插桩点的约减工作。实验结果表明,对比传统插桩策略,该方法在确保程序测试准确性的同时约减了插桩点的个数,有效降低了因插桩引起的代码膨胀问题,减少了软件测试过程中资源占有率。(3)本文最后设计及实现了一个基于分布式架构的嵌入式软件自动化测试平台。为了解决嵌入式开发运行环境的特殊性,该平台采用虚拟仿真技术构建了软件底层运行环境,利用高性能的分布式测试方案以及自动化测试技术,降低了测试人员的工作强度,提高了测试工作效率。论文以飞控软件系统为实例对平台进行实验。实验结果表明,本文设计的基于分布式架构的嵌入式软件自动化测试平台是稳定且高效的。本文的研究成果,可以有效增强嵌入式软件的自动化程度以及软件测试效率,提高了嵌入式软件的质量。