[发明专利]一种基于优先级的成对组合测试方法有效
申请号: | 201210257973.4 | 申请日: | 2012-07-24 |
公开(公告)号: | CN102855185A | 公开(公告)日: | 2013-01-02 |
发明(设计)人: | 冯钧;盛震宇;唐志贤;徐黎明;史涯晴;任锋;朱祖会;付言章;王祥忠;胥世民 | 申请(专利权)人: | 河海大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 210098 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 优先级 成对 组合 测试 方法 | ||
技术领域
本发明涉及一种基于优先级的成对组合测试方法,特别涉及系统参数取值优先级的定义以及根据优先级生成供组合测试的用例集的方法,属于软件测试的技术领域。
背景技术
软件测试是构建高可信软件的关键环节。统计数据表明,该环节一般占软件开发总成本的50%以上,有效的测试方法是降低软件开发成本的关键。现在的计算机系统正变得愈来愈庞大和复杂,往往具有较多的输入参数,并且每个参数可能有多个不同的取值或等价类划分。最充分的测试方法是设计出覆盖参数间所有组合的测试用例集,但产生的测试用例集规模往往过于庞大,在成本上无法接受。例如:对一个具有k个参数的待测系统,这些参数分别有v1、v2、…、vk个可能取值,完全测试这个系统需要 个测试用例。对于一般的被测系统而言,这个组合数是一个很庞大的数字。如何从中选择一个规模较小的子集作为测试用例集是测试用例生成中一个很重要的问题。在测试性能和代价上的一个折衷就是组合测试。
因为根据观察,对于很多应用程序来说,很多程序错误都是由少数几个参数的相互作用导致的。例如:Kuhn和Reilly分析了Mozilla浏览器的错误报告记录,发现超过70%的错误是由某两个参数的相互作用触发的,超过90%的错误是由3个以内的参数互相作用而引发的。这样,我们可以选择一些测试用例,使得对于任意t(t是一个小的正整数,一般是2或者3)个参数,这t个参数的所有可能取值的组合至少被一个测试用例覆盖。我们称这种测试准则为t组合测试。特别的,当t值为2时,这种2组合测试又被称为成对组合测试。
下面用一个简单的例子来说明组合测试方法。表1描述了一个电子商务系统,这个系统有4个参数,每个参数有3个可选值,完全测试该系统需要34=81个测试用例。采用成对组合测试准则,测试时仅需要表2中的9个测试用例,即可覆盖任意两个参数的所有取值组合。
表1一个四参数系统
表2成对组合测试用例
成对组合测试方法在系统测试中是非常有效的,因为对于有k个参数的系统来说,完成成对组合测试所需要的最小测试用例数目是按照k的对数级增长的。美国国家标准和技术协会(NIST)的Kuhn等人采用4个软件系统研究了组合测试的错误检出率。其结果表明,成对组合测试的错误检出率已经超过80%。Grindal的研究指出,成对组合测试方法具有模型简单、对测试人员要求低、能够有效处理较大规模的测试需求等特点,是一种可行的实用测试方案。
经典组合测试的很大一部分研究是利用传统的约束求解或者最优化方法来直接搜索覆盖数组。由于这个问题的复杂性是NP完全的,大部分的方法都是局部搜索算法,这些方法不能保证得到最优解,但是处理时间相对较少。这些方法主要包括贪心算法和启发式搜索方法。另外,有少量的研究采用全局搜索算法,能够对一定规模的问题得到最优解。
但是,在实际测试工作中,如果执行测试用例的时间有限,用传统组合测试方法生成的测试用例集难以在有限资源下完全执行。这时,测试人员会希望首先执行那些关键性的测试用例,或者说在有限的资源约束下按照测试用例的优先级来顺序执行它们,使得即使测试中途停止,重要性高的测试用例也已经被执行到,以此提高测试效率,保证缺陷检测率。否则,即使花很大代价找到最优测试用例集而忽略了测试用例的优先顺序,在测试条件受限的情况下很容易造成关键参数不能测试、浪费人力物力、缺陷检测率不通过等问题。因此,我们希望对待测试系统的每一个参数的取值确定其优先级,然后根据优先级求出一个带优先顺序的 测试用例集。在测试中按照测试用例集中的顺序逐一测试,即使未能测完所有参数或组合,也能最大程度地保证软件系统的质量。
发明内容
发明目的:本发明针对现有组合测试方法中测试用例缺乏优先关系的不足,提出了一种基于优先级的成对组合测试方法,通过定义优先级标准,为系统待测参数的每个取值确立优先权值,再根据贪心算法和遗传算法求出测试用例集,从而实现了测试用例按优先顺序生成,保证关键参数尽可能被测试到,同时提升了测试用例的生成速度。
技术方案:一种基于优先级的成对组合测试方法,由优先级定义和测试用例生成算法两部分组成。其中:优先级的定义包括优先权值的计算与优先组合模型,优先权值指的是根据优先级要素通过本发明提出的公式计算出某个参数的某个取值的优先权值;优先组合模型指的是有序覆盖矩阵,即本发明所要求的测试用例集的数学模型。测试用例生成算法按照待测参数各取值的优先权值生成有序测试用例集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河海大学,未经河海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210257973.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:血压测定装置
- 下一篇:一种仓库无线智能巡检方法及专用机器人