一种基于飞行管理的组合测试用例生成方法与流程

文档序号:14389843阅读:134来源:国知局

本发明属于软件测试技术领域,具体涉及一种基于飞行管理的组合测试用例生成方法。



背景技术:

软件测试是为了发现软件错误而执行待测软件的过程,它精心选择不同的测试用例生成技术生成一些测试用例,在软件测试中,测试用例集规模和检错能力直接决定着软件测试的效果。因此,如何选取一个小规模高检错能力的测试用例集是软件测试的核心任务和关键课题。

现有技术中,一般通过系统集成测试对飞行管理系统进行产品功能方面的测试,该测试是一种快速联调联试功能验证的测试,因而对产品测试人员的业务水平、熟练程度、产品原理都提出了很高的要求,同时,在产品测试的硬件环境也提出苛刻的要求,因此,在完成飞机飞行管理系统的全功能测试时,需要花费很高的人力成本。



技术实现要素:

为了解决上述问题,本发明提供了一种基于飞行管理的组合测试用例生成方法,根据待测软件系统中各种因素以及各种因素之间的相互作用对系统产生的影响,生成测试用例,主要包括以下步骤:

步骤一、确定待输入的参数及各输入参数的取值范围;

步骤二、确定各输出参数所依赖的输入参数组合;

步骤三、设置每一输入参数组合的有限输入集合,其中,对于输入参数取值为连续值的,寻找最小子集作为该输入参数的有限输入集合;对于能够产生在后输出参数的在先输出参数,如果在先输出参数的取值范围小于其输入参数的取值范围,则取该在先输出参数的最小子集作为在后输出参数的有限输入集合;

步骤四、任一输出参数所依赖的每一输入参数组合的有限输入集合采用交叉组合的方式,生成该输出参数的全覆盖测试用例;

步骤五、所有输出参数的全覆盖测试用例以最小数量的组合形式构成飞行管理软件的总测试用例。

优选的是,在步骤二中,如果在后输出参数依赖于在先输出参数,则在后输出参数所依赖的输入参数组合包括在先输出参数所依赖的输入参数组合。

本发明通过组合测试的形式生成测试用例,并依据测试用例中间输出结果取值范围,生成在后输出的测试用例,能够快速对飞行管理系统进行软件测试,并具备覆盖范围广的优点。

附图说明

图1为按照本发明基于飞行管理的组合测试用例生成方法的一优选实施例的流程图。

具体实施方式

为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合附图对本发明的实施例进行详细说明。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。

本发明基于飞行管理的组合测试用例生成方法,如图1所示,主要包括以下步骤:

步骤一、确定待输入的参数及各输入参数的取值范围;

步骤二、确定各输出参数所依赖的输入参数组合;

步骤三、设置每一输入参数组合的有限输入集合,其中,对于输入参数取值为连续值的,寻找最小子集作为该输入参数的有限输入集合;对于能够产生在后输出参数的在先输出参数,如果在先输出参数的取值范围小于其输入参数的取值范围,则取该在先输出参数的最小子集作为在后输出参数的有限输入集合;

步骤四、任一输出参数所依赖的每一输入参数组合的有限输入集合采用交叉组合的方式,生成该输出参数的全覆盖测试用例;

步骤五、所有输出参数的全覆盖测试用例以最小数量的组合形式构成飞行管理软件的总测试用例。

本实施例中,在步骤二中,如果在后输出参数依赖于在先输出参数,则在后输出参数所依赖的输入参数组合包括在先输出参数所依赖的输入参数组合。

软件测试用例往往具有较多的输入及输出,相应的测试用例更是以百亿次计算,为方便理解,本实施例采用四个输入,四个输出做简要说明,本实施例中,飞行管理系统具有以下输入:

输入a:其为布尔输入,包括是、否两个参数;

输入b:其为连续输入,例如飞机燃油量;

输入c:飞机高度;

输入d:飞机内压;

四个输出s1、s2、s3以及s4;

步骤二中,明确各输出参数所依赖的输入参数组合,例如本实施例中,s1输出依赖于输入a及输入b;s2输出依赖于输入a及输入c;s3输出依赖于输入b及输入c;s4输出依赖于s1输出及输入d。

步骤三中,设置每一输入参数组合的有限输入集合,可以理解的是,输入参数一般包括布尔输入、有限集合输入以及无限输入,这里的无限输入例如输入b中的飞机燃油量,其取值为0-油箱最大容量,在该范围内任意取值都是合理的。

本实施例中,对于上述飞机燃油量这种输入参数取值为连续值的,寻找最小子集作为该输入参数的有限输入集合,这里的最小子集为实现不同输出的有限输入集合,举例来说,燃油量在10l以下,飞行管理软件需要发出飞机迫降的请求,即产生了输出参数的一个实例,则0-10l的输入可以简化为一个参数值,对于其它值,通常最小子集需要根据测试用例的需求数量来定,例如,要求该模块的结果准确率达到99.99%,则理论上至少要设置10000个参数。

除上述情形外,对于能够产生在后输出参数的在先输出参数,如果在先输出参数的取值范围小于其输入参数的取值范围,则取该在先输出参数的最小子集作为在后输出参数的有限输入集合。输出s4为最佳实施例,其依赖于在前输出s1,如上所述,假定输出s1需要10000个燃油输入,而输出s1可能只有5个值,很明显,在输出s4的测试用例选取中,只需要这5个有限集合即可。

本实施例步骤四中,任一输出参数所依赖的每一输入参数组合的有限输入集合采用交叉组合的方式,生成该输出参数的全覆盖测试用例。具体示例如下:

输出s1依赖的两个输入a于b,其中,a有两个参数作为有限输入集合,b的有限输入集合为10000,则通过交叉组合后,其具有2×10000=20000个全覆盖的测试用例;同理,依上述方式计算得到的输出s2具有3000个全覆盖的测试用例,输出s3具有3000个全覆盖的测试用例,输出s4具有5000个全覆盖的测试用例。

步骤五中,将上述分输出的全覆盖的测试用例随意组合,原则上仅需要将这些测试用例全部包含即可,这样,最小采用20000个测试用例即可达到目的,例如,第一个总测试用例包含输出s1的第一组测试用例、输出s2的第一组测试用例、输出s3的第一组测试用例以及输出s4的第一组测试用例,第二个总测试用例包括输出s1的第二组测试用例、输出s2的第二组测试用例、输出s3的第二组测试用例以及输出s4的第二组测试用例,……,第3001个总测试用例包含输出s1的第3001组测试用例、输出s2的第1组测试用例、输出s3的1测试用例以及输出s4的第3001组测试用例,……,第5001个总测试用例包括输出s1的第5001组测试用例、输出s2的第2001组测试用例、输出s3的第2001组测试用例以及输出s4的第1测试用例……

本发明通过组合测试的形式生成测试用例,并依据测试用例中间输出结果取值范围,生成在后输出的测试用例,能够快速对飞行管理系统进行软件测试,并具备覆盖范围广的优点。

最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1