基于正交试验法的故障诊断软件测试方法论文_李成,王丽青,张晓威

基于正交试验法的故障诊断软件测试方法论文_李成,王丽青,张晓威

陕西长岭电子科技有限责任公司 陕西省 721000

摘要:随着我国的经济在快速的发展,社会在不断的进步,针对故障诊断软件代码量大、推理规则多及测试耗时大的问题,提出了基于正交试验法提取有代表性推理规则的测试方法。分析了故障诊断软件的需求特性,介绍了正交试验法的理论依据,阐述了使用正交试验法在故障诊断软件测试中提取代表性推理规则的方法,并说明了根据提取出来的推理规则进行测试用例设计的思路和具体实施效果。

关键词:软件测试;故障诊断软件;推理规则;正交试验法

引言

随着飞机对发动机功能和性能要求的不断提高,传统的机械液压式控制系统和模拟电子式控制系统已经不能适应需要,全权限数字电子控制系统(FADEC)已经成为发动机控制系统的主要发展方向,而飞推一体化等先进飞控技术的发展,也要求发动机控制功能采用数字方式来实现。在整个发动机数控系统中,越来越多的功能是由软件来实现的,软件对系统的正常运行起着决定性作用。FADEC是一个多变量控制系统,控制回路包括转速、温度、压力、压比、转速变化率等,发动机控制软件具有输入多、参数多、时序和逻辑关系复杂等特点,各输入在特定的值域内可能会触发系统故障,而对这些输入和参数做全面的遍历是非常困难的,软件系统的故障往往是由一些难于预料的系统因素及其相互作用而引起的,一旦出现故障,可能造成极大的质量损失甚至引发机毁人亡。本文通过对正交试验设计的研究,将这种试验设计方法与传统软件测试理论相结合,用来指导FADEC软件测试用例的设计。

1故障诊断软件测试需求分析

故障诊断软件中有上千条推理规则,每条推理规则进行基本条件判读或复杂条件判读。基本条件判读包括:模拟量判读和开关量判读。复杂条件判读包括多类型数据范围判读、多类型数据时间序列特征判读、未监听到总线消息、当前消息与上一拍消息比对判读、消息状态字判读、消息一致性判读、等差判读、多类型消息满足消息序列特征、多个消息多个数据范围判读、算法处理后范围判读及指定消息的有无判读。复杂条件判读有全局条件和局部条件,全局条件有判读开始时间、判读结束时间和判断成功次数,局部条件是针对一次判断而言,包括一次判断需要数据信息应满足的时间范围、数据个数和判断方法。每一种判读,逻辑处理均可能为与、或、非和直推4种之一。因此,对于上千条推理规则,开展基本条件判读、复杂条件判读,包含4种逻辑处理,所需的测试用例数量非常多。

2正交试验法的故障诊断软件测试

2.1选取正交试验法的原因

在软件测试用例设计过程中,经常会遇到需要考虑多因素多水平的情况,按照数列组合计算,多因素多水平组合数巨大。然而,在软件测试中,由于时间盒成本的关系,所有的测试都不会考虑全面测试。但如果采用没有理论依据的方法选取测试用例,很容易遗漏掉一些重要的测试场景和一些严重的缺陷。于是,采用正交试验的方法设计和选取测试用例,使得测试用例均匀分配,能高效的、合理的减少测试用例数量和测试工时。

2.2测试用例设计步骤

采用正交试验法设计测试用例,一般按照如下步骤实施:1)提取功能说明,构造因子状态表。把影响实验指标的条件称为因子,而影响实验因子的条件叫做因子的状态。利用正交试验设计方法设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把它们当作因子,而把各个因子的取值当作状态。确定因子与状态设计测试用例的关键。因此,要尽可能全面、正确地确定取值,以确保测试用例的设计完整、有效;2)加权筛选,生成因素分析表。对因子与状态的选择可按其重要程度分别加权;3)利用正交表构造测试数据集。

期刊文章分类查询,尽在期刊图书馆

2.3水平数不相同

测试过程中经常会遇到变量取值个数不相同的情况,例某个页面有五个独立变量即A,B,C,D,E,且A和B都有两个取值,C和D都有三个取值,E有六个取值。对于以上需求,采用正交试验法设计测试用例步骤如下:a.根据需求分析得出需求中明确给出了五个独立变量以及每个独立变量的取值;b.选取合适的正交表。根据选择策略查询已有正交表有两个可供使用,即L49(78)和L18(3661),再根据选择行数最少的原则,最终选取L18(3661);c.进行变量与取值的一一映射;d.根据映射后的表得出,有多余的因数数,需要删除多余的列,并还发现有多余的水平数,需要合理的填充多余的水平,得到最终的正交表;最后,根据最终映射后的正交表,得出18个测试用例。测试用例从全面测试的216减少到18个,当然还需要加上一些特殊的测试用例,假如加上n个特殊的测试用例,总量为18+n也是大量减少,从而减少测试时间,节约了测试成本。

2.4实施效果

通过引入正交试验法对故障诊断软件进行测试,原预计24人月才能完成的测试任务,由2人在近1个月的时间内完成,测试效率提高约91.67%,考虑到测试过程受测试环境搭建与变更、以及人为因素等影响,实际测试效率与理论计算值量级相当。更为重要的是,在测试过程中发现了20余个功能问题,这些问题并不孤立,而是极具代表性的。在判读类型相同的情况下,若被选取的规则有问题,代表着与此相同配置的所有规则均可能存在问题。在此基础上,软件开发方与软件测试方共同就上述20余个功能问题进行了举一反三,累计发现同类型问题147项,确保了软件测试工作的测试充分性和测试覆盖性。如果这些问题没有被及时发现,故障诊断软件可能在故障出现时未能准确报出故障信息,或者在无故障出现时错误地提示故障内容,造成现场监控人员无法及时发现故障或误判故障,带来较为严重的后果。此外,故障诊断软件应用方试验人员将更改后的软件投入系统综合试验、预案验证试验、故障模拟试验等大型试验进行验证,故障诊断软件功能正常,所有规则执行正确,进一步验证了采用正交试验法对故障诊断软件进行测试的有效性。

2.5正交试验法

正交试验法是以概率论和数理统计为基础,利用规格化正交表,进行多因素试验后进行统计分析,找出最优试验方案的一种科学方法,试验结果具有“均匀分散、整齐可比”的特点,即试验点在试验范围内均衡分布,从而使试验点具有充分代表性。实践证明,正交试验法是解决多因素试验卓有成效的方法。

结语

针对故障诊断软件代码量大、规则多,无法在测试进度紧张的情况下进行充分测试的问题,本文提出了基于正交试验法提取有代表性规则的故障诊断软件测试方法。在某型号故障诊断软件的测试工作中,验证了该方法的正确性和有效性,为提高故障诊断软件测试效率,减少测试人员工作量有很大帮助。

参考文献:

[1]王杰,周婕,慕晓冬.测试数据生成技术在软件故障诊断中的应用[J].计算机技术与发展,2006,16(9):91-96.

[2]郝春生,秦月.航空发动机故障诊断方法及测试流程分析[J].航空发动机,2014,40(3):71-74.

[3]张威,卢庆龄,李梅,宫云战.基于指针分析的内存泄漏故障测试方法研究[J].计算机应用研究,2006,23(10):22-24.

[4]雷倩茹.故障树最小割集技术在软件测试中的应用[J].信息与电脑,2018,(7):13-17.

[5]柳纯录,黄子河,陈渌萍.软件评测师教程[M].北京:清华大学出版社,2017年8月.

论文作者:李成,王丽青,张晓威

论文发表刊物:《基层建设》2019年第22期

论文发表时间:2019/10/24

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于正交试验法的故障诊断软件测试方法论文_李成,王丽青,张晓威
下载Doc文档

猜你喜欢