● 摘要
任务电子系统(简称任务系统)是大型信息化武器装备的核心部分,应用于多种类型的飞行器,如预警机、侦察机、无人机和战斗机等,任务系统由软件和硬件组成,其中软件是任务系统的核心组成部分。任务系统软件规模庞大,功能复杂,测试是提高其质量的必要和有效手段。随着任务系统研制数量与复杂度的增加,以手工测试为主的测试模式已经无法满足系统的测试需求,而软件自动化测试技术以其高效、快捷的测试方式,成为任务系统测试的发展趋势。当前任务系统软件测试面临着以下挑战:第一,由于系统组织结构复杂,窗口数量众多,窗口间层次关系复杂,测试通常在不同分系统的多个窗口中进行,使得测试过程变得的异常复杂,如何实现“跨窗口测试”建模是实现自动化测试的基本问题。第二,由于任务系统功能复杂,测试用例数量巨大,通常测试人员需要设计数以万计的测试用例,使得测试用例的设计与执行面临着巨大的挑战,如何自动构建高效的测试用例集是自动化测试的核心问题。第三,由于任务系统各分系统以及软件配置项间接口复杂,使得测试和校验接口数据信息变得非常困难,如何评判接口测试数据信息是测试中需要解决的关键问题。第四,现有手工测试模式不仅为测试过程带来很高的投入,而且也越来越难以满足测试内容全面性与测试结果可靠性的要求,研制专用的自动化测试系统是实现任务系统自动化测试的必经途径。为解决上述问题,本文围绕模型建立、测试用例生成及测试评判方法等问题展开研究,主要工作如下:(1)针对如何实现“跨窗口测试”建模问题,提出了分布式软件跨窗口测试模型。采用形式化方法定义了被测对象及测试行为,通过窗口调用图描述窗口间的层次调用关系,精确刻画了跨窗口测试过程,为分布式软件跨窗口测试方法提供了理论基础;将窗口状态作为边的权值引入事件流模型,提出带参数的事件流图(Parameterized Event Flow Graph,PEFG),PEFG支持分布式软件跨窗口测试用例的自动生成。在上述理论基础上提出了窗口调用图生成算法和基于深度优先搜索的PEFG生成算法,实现了跨窗口测试建模的自动化。(2)针对如何自动构建高效的测试用例集问题,提出了基于软件功能模块的测试用例集简化策略。首先通过分析PEFG和事件处理函数的特征,提出计算事件权重四个准则,应用层次分析法给出了事件权重的计算方法,基于本文提出的PEFG模型,实现了基于事件权重的测试用例自动生成。PEFG生成的测试用例集中包含大量冗余的测试用例,通过将事件节点划分到不同的软件功能模块,选举代表元作为模块出口事件和入口事件,在此基础上简化模块间的边,基于简化后的PEFG构造精简的测试用例集。实验结果表明本文提出的简化策略能有效缩减测试用例数量,更早的发现软件缺陷,降低了测试成本,并且与未简化的测试用例集具有相当的测试充分性。(3)针对如何评判接口测试数据信息问题,提出了面向任务系统软件接口测试评判方法。通过分析任务系统的接口测试过程,基于消息状态定义了接口测试评判信息和接口测试评判过程,提出了三种接口测试评判信息(事件级、软件配置项级和系统级)和四种接口测试评判过程,构造了七种类型的接口测试评判,给出了接口测试用例执行算法,支持接口测试用例的自动评判。在实验中比较了不同类型接口测试评判的测试效果,说明了如何选择有效的接口测试评判。(4)设计并实现了任务系统自动化测试系统(MESATS)。通过分析现有自动化测试工具的不足,在本文提出的测试用例生成方法研究的基础上,设计并实现了MESATS,给出了任务系统自动化测试方法与流程,该系统支持测试用例的自动生成和测试过程的自动化,包括测试数据准备、测试执行控制和测试结果的评估,通过实验评估该系统的性能。目前MESATS已应用于多个型号国产预警机任务系统的自动化测试中,提高了任务系统软件测试的准确性和效率,验证了本文研究成果的有效性。
相关内容
相关标签