当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于覆盖密度的信息系统测试组合生成方法技术方案

技术编号:2826753 阅读:206 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于覆盖密度的信息系统测试组合生成方法,采用如图示的框架:(1)根据被测系统规格说明通过XML文件描述待测试信息系统的输入参数和参数取值;(2)指定必须出现的测试用例和一定不会出现的两两组合测试用例;(3)基于覆盖密度逐一组合所有输入参数的各项取值,生成测试用例;(4)以XML文件的格式表示和输出最终生成的测试用例。本发明专利技术可以广泛应用于嵌入式系统测试、分布式系统测试、网页测试、图形界面测试、协议测试、以及配置和兼容性测试等;便于附加参数间的约束和考虑必须覆盖的参数组合,便于考虑参数间的优先顺序,组合覆盖密度的计算方法简单有效,具有较好的扩展性。

【技术实现步骤摘要】

本专利技术涉及一种信息系统测试用例的自动生成方法,该方法在给定输入参 数和参数取值的情况下,能自动生成覆盖所有两两组合并且数量尽可能少的测 试用例。本专利技术可以广泛应用于嵌入式系统测试、分布式系统测试、网页测试 、图形界面测试、协议测试、以及配置和兼容性测试等。技术背景现在的计算机信息系统正变得愈来愈庞大和复杂,当测试人员测试一个信 息系统时,该系统可能有较多的输入参数(通常大于IO),并且每个输入参数可能 有多个不同的取值或等价类划分(通常大于3)。在将该信息系统投放到市场之前, 为了保证其质量,必须对它进行充分的测试。组合测试技术被广泛应用于嵌入式测试、分布式系统测试、Web测试、用 户界面测试、协议测试、以及配置和兼容性测试等领域。在测试信息系统时测 试人员一般通过设计测试用例来覆盖输入参数之间的组合,并通过执行测试用 例来比对其输出结果与预期结果是否一致。最充分的方法是设计出覆盖输入参 数之间所有取值组合的测试用例。但在实际的信息系统测试中,随着输入参数 和参数取值个数的增多,将导致最终产生的测试用例数量呈指数级增长。例如 有10个输入参数,每个输入参数有3个取值,如果采用全覆盖方法,最终将产生 31()=59,049个测试用例。显然在限定预算的前提下一般不可能完成这个测试任 务。目前测试人员往往通过等价类划分、边界值分析等技术尝试减少测试用例 的数量。例如对一个数值或枚举类型的输入参数,可以选取它取值范围内的最 小值、最大值和中间值作为代表。但是这类方法减少测试用例数量的程度依然 有限。为解决全组合覆盖中测试用例数量随着输入参数个数和参数取值数量的增 加呈指数级增长的问题。测试人员往往采用两两组合覆盖的测试生成方法,即 任意两个输入参数的每个取值组合必须在测试用例中至少出现一次。实践比对 表明在信息系统测试中通过两两组合覆盖可以有效地发现被测系统中的缺陷, 保证系统测试的充分性。传统用于两两组合覆盖生成分方法是正交试验设计法, 需要选择合适的正交矩阵。这存在两个限制其一每个输入参数的取值个数要相等;其二对于特定参数个数和取值数量,不存在合适的正交矩阵,需要增加参数和取值的个数。这两个限制使测试用例的数量不必要的增加。
技术实现思路
本专利技术所要解决的技术问题是针对全组合覆盖测试方法中测试用例数量指 数增长问题,在给定输入参数和参数取值的情况下提出基于覆盖密度的组合生 成方法,用尽可能少的测试用例覆盖所有的两两组合。为实现上述目的,本专利技术提供的基于覆盖密度的信息系统测试组合生成方 法包括以下步骤首先通过XML文件描述待测试信息系统的输入参数和参数取值,然后指定必须出现的测试用例和一定不会出现的两两组合测试用例,所述 两两组合即任意两个输入参数的每个取值组合必须在测试用例中至少出现一次,最后使用基于覆盖密度的组合方法生成测试用例,并以XML文件的格式表示和 输出最终的测试用例。上述基于覆盖密度的组合方法生成测试用例的过程为先通过读入上述 XML文件获得输入参数和参数取值,然后将测试用例集TS初始化为空,并且 根据参数表初始化所有需要覆盖的两两组合形成两两组合测试用例集Q,对于 用户指定了必须出现的测试用例,将这些测试用例添加到测试用例集TS中,并 且从两两组合测试用例集Q中移去这些测试用例已经覆盖的两两组合;对于用 户指定了一定不会出现的组合,则将这些组合直接从两两组合集测试用例Q中 移去;之后如果两两组合测试用例集Q中还存在尚未覆盖的两两组合,算法将 基于覆盖密度依次选定每个输入参数的优先取值,从而确定一个测试用例,并 且将该测试用例添加到测试用例集TS中,并从两两组合测试用例集Q中移去 该测试用例覆盖的两两组合;然后重复上一步骤直至两两组合测试用例集Q为 空。上述过程中的测试用例是逐个添加的,其中单个测试用例的生成过程为首先按照参数表中参数次序,逐一读入参数及其取值。接着依次计算该输入参 数不同取值的覆盖密度并从中选择密度最大的取值,如果有多个取值对应最大 的密度,从中选择一个取值,它在已有的测试用例中出现的次数最少,当所有 输入参数取值都选定后,将最终产生一个测试用例。覆盖密度釆用以下步骤确定对于参数/第A个取值,先计算参数/所有取 值尚未被覆盖的两两组合测试用例的数量toto/P^;再考虑toto/Pa/^中参数i第A个取值能够覆盖的两两组合测试用例数量COVW^i^h;计算过程为初始化on^^Pa/a为0,对于参数表中每个非/的参数,如果该参数的取值已经选定,并且参数/的第A个取值与该参数选定取值构成的两两组合没有被覆盖过,则wcover^尸a/^加1;如果该参数的取值没有选定,对于该参数的每个可 能取值,且参数/的第A:个取值与该参数取值构成的两两组合测试用例没有被覆 盖过,则冊coverM户/^加1;考虑完所有非z'参数后,最终计算参数z'取值it 的覆盖密度为《vt = wcovered!Pflzy5/1toto/尸fl/w。本专利技术在给定待测试信息系统中输入参数和参数取值的情况下,能自动生成 所有符合两两组合条件的测试用例,并且其数量尽可能少,大大提高了测试信息 系统的效率。本专利技术可以广泛应用于嵌入式系统测试、分布式系统测试、网页 测试、图形界面测试、协议测试、以及配置和兼容性测试等。本专利技术具有较好 的扩展性,易于扩展到三三覆盖、四四覆盖、乃至混合覆盖的情形;便于附加参 数间的约束和考虑必须覆盖的参数组合;便于考虑参数间的优先顺序;组合覆盖 密度的计算方法简单,便于以较低的时间和空间代价实施,且有效性经实例证明 可以达到满意的测试充分性。 附图说明图l是组合方法工作流程图,图2是基于覆盖密度的组合方法程序流程图,图3是确定单个测试用例的程序流程图,图4是计算组合覆盖密度的程序流程图,图5是覆盖密度计算示例图,图6是电子商务应用系统配置结构图。具体实施方式本专利技术可以在给定输入参数和参数取值的情况下,用尽可能少的测试用例覆盖所有的两两组合测试用例。其工作流程如图l所示首先通过XML文件描述输入参数和参数取值(或等价类划分)。然后指定必须出现的测试用例和一定 不会出现的两两组合。最后使用基于覆盖密度的组合方法生成测试用例,并以XML文件的格式表示和输出。测试人员通过对被测信息系统规格说明等进行分析,可以得到被测系统的输入参数和参数的可能取值。例如在一个电子商务应用系统的简化版本中,包 含客户端浏览器、Web服务器、路由器、支付服务器和数据库服务器等组件, 其配置结构如图6所示。由于这些组件可以由不同厂商提供,所以必须进行配置 和兼容性测试,以确定选择哪些类型的组件构造信息系统可以获得更高的稳定 性、健壮性和可靠性。从配置角度分析该系统有5个输入参数客户端浏览器参 数、路由器参数、支付服务器参数、Web服务器参数和数据库服务器参数。其 中客户端浏览器参数对应4个可能取值Explorer、 Netscape、 Firefox和Opera; 路由器参数可对应4个取值Cisco、华为、中兴和阿尔法;支付服务器参数可 对应3个取值万事达卡、银联卡和Visa卡。Web服务器可对应4个取值Apache 、JBoss、 Weblogic和Websphere。数据库服务器可对应4个取僅Oracl本文档来自技高网
...

【技术保护点】
一种基于覆盖密度的信息系统测试组合生成方法,其特征在于包括以下步骤:首先通过XML文件描述待测试信息系统的输入参数和参数取值,然后指定必须出现的测试用例和一定不会出现的两两组合测试用例,所述两两组合即任意两个输入参数的每个取值组合必须在测试用例中至少出现一次,最后使用基于覆盖密度的组合方法生成测试用例,并以XML文件的格式表示和输出最终的测试用例。

【技术特征摘要】
1、一种基于覆盖密度的信息系统测试组合生成方法,其特征在于包括以下步骤首先通过XML文件描述待测试信息系统的输入参数和参数取值,然后指定必须出现的测试用例和一定不会出现的两两组合测试用例,所述两两组合即任意两个输入参数的每个取值组合必须在测试用例中至少出现一次,最后使用基于覆盖密度的组合方法生成测试用例,并以XML文件的格式表示和输出最终的测试用例。2、 根据权利要求l所述的基于覆盖密度的信息系统测试组合生成方法,其 特征在于所述基于覆盖密度的组合方法生成测试用例的过程为先通过读入上述XML文件获得输入参数和参数取值,然后将测试用例集(rs)初始化为空,并且根据参数表初始化所有需要覆盖的两两组合形成两两组合测试用例集(2),对于用户指定了必须出现的测试用例,将这些测试用例添加到测试用例集(rs)中,并且从两两组合测试用例集(2)中移去这些测试用例已经覆盖的两两组 合;对于用户指定了一定不会出现的组合,则将这些组合直接从两两组合集测 试用例(g)中移去;之后如果两两组合测试用例集(2)中还存在尚未覆盖的 两两组合,算法将基于覆盖密度依次选定每个输入参数的优先取值,从而确定一个测试用例,并且将该测试用例添加到测试用例集(rs)中,并从两两组合测试用例集(0)中移去该测试用例覆盖的两两组合;然后重复上一步骤直至两...

【专利技术属性】
技术研发人员:陈翔顾庆王新平陈道蓄
申请(专利权)人:南京大学
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1