航天软件测试用例设计方法应用
2018-09-25刘安桥
刘安桥
(贵州航天电子科技有限公司,贵州贵阳,550009)
1 航天软件测试用例设计方法介绍
1.1 等价划分法
等价划分法是航天软件测试用例设计中的基本方法,主要是依据软件的需求说明,从而对某个功能的输入、输出做出描述,在这个过程中,要将输入领域划分为若干个等价类,最终达到等价类覆盖的要求,由此可以看出,应用等价划分法进行航天软件测试用例设计时,最为关键的步骤就是对划分等价类[1]。
1.2 边界分析法
边界分析法也是航天软件测试用例设计中比较常见的一种方法,主要指通过在有效等价和无效等价中选择测试输入,从而通过一组数据就可以代表一个类别的输入情况,此种航天软件测试用例设计方法操作是较为简单的。但值得注意的是,应用边界分析法时数据的采用至为重要,在一些相对特殊的判别条件下,采用的输入数据则不可过为随意,若是随便采用一个测试软件数据代替类比之中的所有情况,这样就会使测试结果变得缺乏实际意义。而结合以往的大量实践经验证明,在应用边界分析法进行航天软件测试用例设计时,航天软件的边界处理至为重要,而可以使用正好大于、等于、小于边界值的数据进行测试,对于航天软件错误纠正发现几率最大[2]。在这一笔者举这样的一个例子,如有这样的一个飞行控制软件,当航天飞行器处于压力5Mpa的环境下运行,就会自动发出一个程序警示,在对这一飞行控制软件进行边界分析测试时,则可以从压力大于5Mpa、压力等于5Mpa、压力小于5Mpa三种情况出发。但在选择测试输入数据时同样要格外注意,若是随意的输入0Mpa、5Mpa、10Mpa三个数据值,往往也是无法得到可靠的测试结果的,应该尽量的选择接近5Mpa的数据测试值,这样才能更好的保障航天软件测试用例设计的可靠性。
1.3 因果图法
因果图分析法也是现下航天软件测试用例设计中比较常见的一种测试方法,并且是一种较为高效的测试方法,此种测试方法的原理就是利用因果图,将自然语言描述功能转化为判定表,从而对航天软件可靠性作出判断。一般情况下,因果图生成步骤如下:(1)对软件规格描述因果关系进行分析,明确哪些是输入条件,哪些是输出条件,并在具体的原因结果下,使用特定的符号标明。(2)对软件规格说明语义进行描述分析,找出原因和结果之间的对应关系,并结合因果关系分析,画出具体的因果图[3]。(3)由于语法和环境的限制,容易出现因果关系不合理的问题,针对于此需要在因果图之中做出特殊的限制条件说明。(4)将因果图转化为判定表,并用判定表做出依据,从而对航天软件设计测试用例。在这里笔者举这样的一个例子,如有这样的一个航天软件,在软件之中固定出发T时序的冗余控制条件为:先满足加速度条件,则立即发出T时序,而若是先满足压力条件,则要延时0.08s在发出T时序,但若是在延时的0.08s之中满足加速度条件,则需要立即发出T时序。通过对这一软件的因果关系分析,可以绘制出这样但是因果关系图,并整理出这样的T时序判断表。从而通过因果判断表,对航天软件进行测试用例设计。
表1 某航天软件T时序判断表
2 航天软件测试用例设计方法应用
2.1 航天软件测试用例设计基本思路
航天软件测试的主要目的就是通过验证寻求的方式,从而进一步的发现航天软件中设计的漏洞与问题,从而进一步的对这些问题进行弥补,为航天软件的功能发挥做出保障。在实际航天软件测试用例设计过程中,可以采取的方法有很多,但是基本思路却主要体现在以下两个方面。第一是建立测试需求分析,在这个过程中首先要了解航天软件的任务书要求,对航天软件主要功能进行划分,列出软件的主要功能项,评评估各项功能在软件中的重要性。其次要是了解航天软件的具体设计文档,进行详细的代码巡查,对软件系统有全面的了解,并对测试功能点做出定位和组合。第二具体分析问题,也就是指从航天软件的高安全性和高可靠性角度出发,考虑到软件中之中运行的实际因素,从而具体的分析软件之中某些特定的部分,有意识有针对性的进行航天软件测试用例设计,这是相关软件测试工作人必须要明确的航天软件测试用例设计基本思路。
2.2 航天软件测试用例设计基本步骤
在我国航天事业迅速发展的过程之中,航天软件的复杂性也在不断增加,同时航天型号的特点,决定了航天软件与实际环境联系密切的特性,因此在进行航天软件测试用例设计时,测试人员还需要从以下步骤展开测试,从而在谨慎的步骤下,为航天软件测试的可靠性做出保障,具体的测试步骤如下。(1)深入理解软件任务书所需求的固定功能,从而明确软件运行环境和性能指标要求。(2)由于航天软件易受到实际运行环境的影响,因此在进行航天软件测试用例设计时,相关测试人员要细化分析交流,了解软件运行中可能出现的环境情况,从而确定软件测试重点,使航天软件测试用例设计更加符合实际。(3)航天软件测试用例设计中,要选择合适的测试设备,拟定科学的测试方案,整个测试过程中,按照方案计划严格进行,从而对航天软件功能做出进一步的分解。(4)划分出航天软件的每个功能,结合实际情况确定输入条件,并要明明确具体的技术指标,提出在不同的输入条件下,会产生的预期输出阈值,确保测试相关参数在规定偏差下。(5)还需对航天软件典型故障、干扰条件等作出更深一步的测试。