● 摘要
当前,嵌入式软件的功能和结构变得越来越复杂,在军事、航天、交通等领域的作用也愈加关键,因此对嵌入式产品质量有着决定性影响的测试工作显得尤为重要。然而随着软件复杂度的上升,软件测试的难度不断增大。软件的可测试性(Software Testability)是软件质量属性的一种,工程实践表明,软件可测试性对于提高软件的测试效率,降低测试难度具有重要的作用。
本文以综合模块化航空电子系统软件(IMA)为对象,研究了复杂嵌入式软件的特征及发展趋势。针对软件可测试性研究现状在复杂嵌入式软件方面的问题,提出了复杂嵌入式软件可测试框架,该框架主要内容如下:
(1)在可测试性设计方面:嵌入式软件针对故障场景的测试需求使其很难在开发阶段进行可测试性设计。因此以IMA软件为实例,研究了基于条件触发的故障注入方法,该方法以费用较小的的源代码故障仿真为基础,通过施加的触发逻辑达到可控的目的;特别是针对健康监控的激活问题,研究了蓝图匹配的注入方法,使测试过程更有针对性。最后在符合ARINC653标准的虚拟环境下进行了实验,验证了方法的可行性。
(2)在可测试性度量方面:本文将可测试性度量过程应用在测试阶段。由于黑盒测试的用例设计时并不从代码角度考虑测试覆盖,导致在黑盒测试后,不同构件中缺陷残留的概率也不相同,根据该理论提出了软件故障可测度作为度量指标,代表不同构件的缺陷暴露能力。考虑到传统的量化指标通过数值表示,其含义并不明确,因此本文对该指标采用分类方法映射到两种定性程度,分为高故障可测度和低故障可测度。具有低故障可测度的软件构件残留缺陷的可能性更高,以此理论为依据,优化测试工作。
(3)针对度量模型问题:分析了传统度量模型存在权重因素需要主观评价的缺点,提出了基于支持向量机的可测试性度量模型。为了使该模型能够自动化构建,研究了人工鱼群算法对模型参数寻优,并根据应用情况对算法的寻优精度及收敛速度两方面进行了改进。形成改进人工鱼群-支持向量机度量模型。通过实验对比,改进的人工鱼群支持向量机度量模型正确率更高。
最后,将本文研究的基于条件触发的故障注入方法与IMA测试环境进行了集成,并将可测试性框架理论与灰盒测试技术相结合,论述了本文提出的可测试性框架在工程中的定位。通过IMA平台下某应用软件的实例,对可测试性度量方法及测试环境在实际工作中的应用情况进行了介绍。
相关内容
相关标签