《正交表扩展装置、软件测试系统和正交表扩展方法.pdf》由会员分享,可在线阅读,更多相关《正交表扩展装置、软件测试系统和正交表扩展方法.pdf(18页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103176893 A(43)申请公布日 2013.06.26CN103176893A*CN103176893A*(21)申请号 201110431766.1(22)申请日 2011.12.21G06F 11/36(2006.01)(71)申请人方正国际软件(北京)有限公司地址 100080 北京市海淀区北四环西路52号方正国际大厦18层(72)发明人唐晓东 杜旭明 任丽丽(74)专利代理机构北京友联知识产权代理事务所(普通合伙) 11343代理人尚志峰 汪海屏(54) 发明名称正交表扩展装置、软件测试系统和正交表扩展方法(57) 摘要本发明提供一种正交表扩展装置、一。
2、种软件测试系统和一种正交表扩展方法,其中,正交表扩展装置,包括:查询单元,从原有因素的水平数中,查询大于或等于新增因素的水平数的水平数,或乘积大于或等于所述新增因素的水平数的多个水平数;行列设置单元,根据查询出的水平数的数量,为所述新增因素设置列或行;填充单元,根据所述查询出的水平数对应的列或行中的水平分配规则,对所述新增因素的列或行进行填充。通过该技术方案,实现了新增因素的水平的合理填充,可以保证覆盖率较高而重复率较低,有效地利用了软件测试系统的处理器和内存等计算资源,且不需重新生成正交表,因此不会影响软件测试系统的工作效率。(51)Int.Cl.权利要求书2页 说明书12页 附图3页(19。
3、)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书12页 附图3页(10)申请公布号 CN 103176893 ACN 103176893 A1/2页21.一种正交表扩展装置,其特征在于,包括:查询单元,从原有因素的水平数中,查询大于或等于新增因素的水平数的水平数,或乘积大于或等于所述新增因素的水平数的多个水平数;行列设置单元,根据查询出的水平数的数量,为所述新增因素设置列或行;填充单元,根据所述查询出的水平数对应的列或行中的水平分配规则,对所述新增因素的列或行进行填充。2.根据权利要求1所述的正交表扩展装置,其特征在于,所述查询单元判断所述新增因素的水平数是否大于所述原。
4、有因素的最大水平数,并在判断结果为否时,查询大于或等于所述新增因素的水平数的水平数,在判断结果为是时,查询乘积大于或等于所述新增因素的水平数的多个水平数。3.根据权利要求2所述的正交表扩展装置,其特征在于,所述查询单元在判断结果为否时,在查询出第一个大于或等于所述新增因素的水平数的水平数时,停止查询,在判断结果为是时,在查询出第一组乘积大于或等于所述新增因素的水平数的多个水平数时,停止查询。4.根据权利要求3所述的正交表扩展装置,其特征在于,所述查询单元在判断结果为否时,优先查询等于所述新增因素的水平数的水平数,在判断结果为是时,优先查询乘积等于所述新增因素的水平数的多个水平数。5.根据权利要。
5、求1至4中任一项所述的正交表扩展装置,其特征在于,所述查询单元设置查询规则,并按所述查询规则对所述原有因素的水平数进行查询。6.一种软件测试系统,其特征在于,包括:如权利要求1至5中任一项所述的正交表扩展装置。7.一种正交表扩展方法,其特征在于,包括:步骤202,从原有因素的水平数中,查询大于或等于新增因素的水平数的水平数,或乘积大于或等于所述新增因素的水平数的多个水平数;步骤204,根据查询出的水平数的数量,为所述新增因素设置列或行;步骤206,根据所述查询出的水平数对应的列或行中的水平分配规则,对所述新增因素的列或行进行填充。8.根据权利要求7所述的正交表扩展方法,其特征在于,所述步骤20。
6、2包括:判断所述新增因素的水平数是否大于所述原有因素的最大水平数,并在判断结果为否时,查询大于或等于所述新增因素的水平数的水平数,在判断结果为是时,查询乘积大于或等于所述新增因素的水平数的多个水平数。9.根据权利要求8所述的正交表扩展方法,其特征在于,所述步骤202还包括:在判断结果为否时,在查询出第一个大于或等于所述新增因素的水平数的水平数时,停止查询,在判断结果为是时,在查询出第一组乘积大于或等于所述新增因素的水平数的多个水平数时,停止查询。10.根据权利要求9所述的正交表扩展方法,其特征在于,所述步骤202还包括:在判断结果为否时,优先查询等于所述新增因素的水平数的水平数,在判断结果为是。
7、时,优先查询乘积等于所述新增因素的水平数的多个水平数。11.根据权利要求7至10中任一项所述的正交表扩展方法,其特征在于,所述步骤202权 利 要 求 书CN 103176893 A2/2页3还包括:设置查询规则,并按所述查询规则对所述原有因素的水平数进行查询。权 利 要 求 书CN 103176893 A1/12页4正交表扩展装置、 软件测试系统和正交表扩展方法技术领域0001 本发明涉及软件测试领域,具体而言,涉及一种正交表扩展装置、一种软件测试系统和一种正交表扩展方法。背景技术0002 软件的正常运行可能受到众多因素的影响,并且因素之间的相互作用也可能会对软件的正常运行产生影响。因此在测。
8、试时不仅要考虑所有对软件产生影响的可能因素,而且对存在于这些因素之间的相互作用,就需要设计一个测试用例集,对系统因素的各种组合情况进行充分覆盖。软件测试中经常会碰到多个输入参数,每个参数多个取值的情况,假设所测试的某个软件单元中有6个输入参数,每个参数可以取4个值,如果做全面测试,需要设计4096个测试用例,这很不现实。测试是一个重要且代价昂贵的工作,如何在给定的有限的时间和资源设计较少的测试用例来获取最大的测试效果。0003 因此在实际测试工作中我们应用到了正交法,既能有效地减少测试用例数目,又能够保证测试结果不受太大的影响,从而避免了测试的片面性和盲目性,以下对本发明涉及到几个概念进行解释。
9、。0004 正交法:正交实验法就是利用排列整齐的表正交表来对试验进行整体设计、综合比较、统计分析,实现通过少数的实验次数找到较好的生产条件,以达到最高生产工艺效果。正交表能够在因素变化范围内均衡抽样,使每次试验都具有较强的代表性,由于正交表具备均衡分散的特点,保证了全面实验的某些要求,这些试验往往能够较好或更好的达到实验的目的。0005 因素:指作试验研究过程的自变量,常常是造成试验指标按某种规律发生变化的那些原因。0006 水平:指试验中因素所处的具体状态或情况,又称为等级。下表水平0007 1、水平2、水平3等表示因素的不同水平。0008 如下表:以验证一个输出为例0009 因素No. 输。
10、出介质 选择数据 Email 电话水平数 3 2 2 2水平1 硬盘 1条 不变更 不变更水平2 CD 多条 变更 变更水平3 DVD0010 以上表中,输出介质、选择数据、Email、电话为因素;硬盘、CD和DVD是输出介质的水平;输出介质有3个水平、选择数据有2个水平、Email有2个水平等;比如在试验时输出说 明 书CN 103176893 A2/12页5介质可能选择1条数据输出,硬盘作为输出存储的介质、输出前不对Email、电话做变更。0011 但是,在实际应用中我们会遇到如下的难题:用户需求的频繁变更、新功能的后期追加等因素影响,正交表需要跟随维护进行扩展,而正交表是在版本初期就已形。
11、成,水平、因素已经固定下来,可能会导致新增加的水平、因素无法添加,数据较多时可能需要重新生成正交表,为测试系统的处理器和内存造成压力,调整后还有可能需要进行重复性的测试步骤。0012 目前在使用正交表设计测试用例时,由于正交法是根据现有的功能点列出所有的水平和因素,套用正交法公式,而产生正交表,当有新功能或需求变更时,新的水平、因素产生,当正交表中已不能容纳新的水平、因素添加时,在未使用新的方案前,用到两种方法来处理:0013 1、在有新功能或变更时,水平、因素数增加,是直接在已有的正交表后追加,但是没有什么规则,由此会产生两种遗漏:一种是覆盖率达不到,因为未进行科学的计算而任意添加上的水平,。
12、可能会导致测试覆盖率达不到最大值;另一种是重复率,因为会由于功能的变动而在其后任意的追加,导致无法科学的维护,可能会有冗余的测试数据在其中,从而引起重复率较高的测试,浪费了处理器和内存等计算资源,降低了测试的效率。0014 2、按照新的水平、因素重新计算生成新的正交表,这种方法总结只适用于较为稳定的项目,对于频繁更新维护的状态下不适合,另外也较适用于小规模项目,因为有很多大型项目牵扯到的测试点会非常多,水平、因素数有的甚至上百上千条,如果由于需求变更,而重新生成正交表会占用大量时间和计算资源,显得不太现实,并且需要进行大量的维护。0015 因此,需要一种新的用于扩展正交表的技术方案,可以避免重。
13、新生成新的正交表,同时可以保证在正交表追加的水平具有一定的分配规则,可以使覆盖率、重复率都满足用户的要求,保证软件测试系统的计算资源能够合理使用,不会被用于重复计算,并能保证如软件测试系统的测试效率。发明内容0016 本发明所要解决的技术问题在于,提供一种新的用于扩展正交表的技术方案,可以避免重新生成新的正交表,同时可以保证在正交表追加的水平具有一定的分配规则,可以使覆盖率、重复率都满足用户的要求,保证软件测试系统的计算资源能够合理使用,不会被用于重复计算,并能保证如软件测试系统的测试效率。0017 有鉴于此,本发明提供一种正交表扩展装置,包括:查询单元,从原有因素的水平数中,查询大于或等于新。
14、增因素的水平数的水平数,或乘积大于或等于所述新增因素的水平数的多个水平数;行列设置单元,根据查询出的水平数的数量,为所述新增因素设置列或行;填充单元,根据所述查询出的水平数对应的列或行中的水平分配规则,对所述新增因素的列或行进行填充。0018 通过该技术方案,实现了新增因素的水平的合理填充,使之按照其他因素的水平的分配规则,可以保证覆盖率较高而重复率较低,完成了正交表的扩展,有效地利用了软件测试系统的处理器和内存等计算资源,且不需重新生成正交表,因此不会影响软件测试系统的工作效率。具体地,可根据正交表的格式来调用绘制工具进行列(或行)扩展,以及读取水平分配规则并填充到列中。上述单元可以通过不同。
15、的处理器单元来实现,也可以集成说 明 书CN 103176893 A3/12页6到同一处理器单元上。0019 在上述技术方案中,优选地,所述查询单元判断所述新增因素的水平数是否大于所述原有因素的最大水平数,并在判断结果为否时,查询大于或等于所述新增因素的水平数的水平数,在判断结果为是时,查询乘积大于或等于所述新增因素的水平数的多个水平数。0020 通过该技术方案,由于取得多个水平数会导致多次的查询,会影响软件测试系统的效率,通过本方案可以判断出何时需要将取得多个水平数,既保证软件测试系统的顺利工作,又保证了软件测试系统的效率,而且水判断条件简单,方便实现本方案。0021 在上述技术方案中,优选。
16、地,所述查询单元在判断结果为否时,在查询出第一个大于或等于所述新增因素的水平数的水平数时,停止查询,在判断结果为是时,在查询出第一组乘积大于或等于所述新增因素的水平数的多个水平数时,停止查询。0022 通过该技术方案,只查找第一个或第一组可用的水平数后,便可以确定用于进行填充正交表的水平规则,不进行后续查询可以节省时间,提高正交表的生成效率,也即提高了软件测试系统的工作效率。0023 在上述技术方案中,优选地,所述查询单元在判断结果为否时,优先查询等于所述新增因素的水平数的水平数,在判断结果为是时,优先查询乘积等于所述新增因素的水平数的多个水平数。0024 通过该技术方案,可以在保证测试覆盖率。
17、较高的情况下,提高测试资源的利用效率,不会浪费资源进行无用的测试。0025 在上述技术方案中,优选地,所述查询单元设置查询规则,并按所述查询规则对所述原有因素的水平数进行查询。0026 通过该技术方案,可通过设置一定的规则,提高查找的效率,或实现查询结果的多样化,以保证正交表覆盖率高而重复率低,即保证软件测试系统的资源利用效率高,不会用于过多的重复性测试计算。0027 本发明还提供一种软件测试系统,包括:如上所述的正交表扩展装置。通过该技术方案,有效地利用了处理器和内存等计算资源,且不需重新生成正交表,因此不会影响软件测试系统的工作效率。0028 本发明还提供一种正交表扩展方法,包括:步骤20。
18、2,从原有因素的水平数中,查询大于或等于新增因素的水平数的水平数,或乘积大于或等于所述新增因素的水平数的多个水平数;步骤204,根据查询出的水平数的数量,为所述新增因素设置列或行;步骤206,根据所述查询出的水平数对应的列或行中的水平分配规则,对所述新增因素的列或行进行填充。0029 通过该技术方案,实现了新增因素的水平的合理填充,使之按照其他因素的水平的分配规则,可以保证覆盖率较高而重复率较低,完成了正交表的扩展,有效地利用了软件测试系统的处理器和内存等计算资源,且不需重新生成正交表,因此不会影响软件测试系统的工作效率。具体地,可根据正交表的格式来调用绘制工具进行列(或行)扩展,以及读取水平。
19、分配规则并填充到列中。上述步骤可以通过不同的处理器单元来实现,也可以集成到同一处理器单元上。0030 在上述技术方案中,优选地,所述步骤202包括:判断所述新增因素的水平数是否说 明 书CN 103176893 A4/12页7大于所述原有因素的最大水平数,并在判断结果为否时,查询大于或等于所述新增因素的水平数的水平数,在判断结果为是时,查询乘积大于或等于所述新增因素的水平数的多个水平数。0031 通过该技术方案,由于取得多个水平数会导致多次的查询,会影响软件测试系统的效率,通过本方案可以判断出何时需要将取得多个水平数,既保证软件测试系统的顺利工作,又保证了软件测试系统的效率,而且水判断条件简单。
20、,方便实现本方案。0032 在上述技术方案中,优选地,所述步骤202还包括:在判断结果为否时,在查询出第一个大于或等于所述新增因素的水平数的水平数时,停止查询,在判断结果为是时,在查询出第一组乘积大于或等于所述新增因素的水平数的多个水平数时,停止查询。0033 通过该技术方案,只查找第一个或第一组可用的水平数后,便可以确定用于进行填充正交表的水平规则,不进行后续查询可以节省时间,提高正交表的生成效率,也即提高了软件测试系统的工作效率。0034 在上述技术方案中,优选地,所述步骤202还包括:在判断结果为否时,优先查询等于所述新增因素的水平数的水平数,在判断结果为是时,优先查询乘积等于所述新增因。
21、素的水平数的多个水平数。0035 通过该技术方案,可以在保证测试覆盖率较高的情况下,提高测试资源的利用效率,不会浪费资源进行无用的测试。0036 在上述技术方案中,优选地,所述步骤202还包括:设置查询规则,并按所述查询规则对所述原有因素的水平数进行查询。0037 通过该技术方案,可通过设置一定的规则,提高查找的效率,或实现查询结果的多样化,以保证正交表覆盖率高而重复率低,即保证软件测试系统的资源利用效率高,不会用于过多的重复性测试计算。0038 通过以上技术方案,可以实现一种正交表扩展装置、一种软件测试系统和一种正交表扩展方法,可以避免重新生成新的正交表,同时可以保证在正交表追加的水平具有一。
22、定的分配规则,可以使覆盖率、重复率都满足用户的要求,保证软件测试系统的计算资源能够合理使用,不会被用于重复计算,并能保证如软件测试系统的测试效率。附图说明0039 图1是根据本发明的一个实施例的正交表扩展装置的框图;0040 图2是根据本发明的一个实施例的正交表扩展方法的流程图;0041 图3是根据本发明的一个实施例的正交表扩展方法的流程图;0042 图4是根据本发明的一个实施例的正交表扩展方法的流程图。具体实施方式0043 为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。0044 在下面的描述中阐述了很多具体细节以便于充分理解本发明,。
23、但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。说 明 书CN 103176893 A5/12页80045 图1是根据本发明的一个实施例的正交表扩展装置的框图。0046 如图1所示,本发明提供一种正交表扩展装置100,包括:查询单元102,从原有因素的水平数中,查询大于或等于新增因素的水平数的水平数,或乘积大于或等于所述新增因素的水平数的多个水平数;行列设置单元104,根据查询出的水平数的数量,为所述新增因素设置列或行;填充单元106,根据所述查询出的水平数对应的列或行中的水平分配规则,对所述新增因素的列或行进行填充。0047 通过该技。
24、术方案,实现了新增因素的水平的合理填充,使之按照其他因素的水平的分配规则,可以保证覆盖率较高而重复率较低,完成了正交表的扩展,有效地利用了软件测试系统的处理器和内存等计算资源,且不需重新生成正交表,因此不会影响软件测试系统的工作效率。具体地,可根据正交表的格式来调用绘制工具进行列(或行)扩展,以及读取水平分配规则并填充到列中。上述单元可以通过不同的处理器单元来实现,也可以集成到同一处理器单元上。0048 在上述技术方案中,所述查询单元102判断所述新增因素的水平数是否大于所述原有因素的最大水平数,并在判断结果为否时,查询大于或等于所述新增因素的水平数的水平数,在判断结果为是时,查询乘积大于或等。
25、于所述新增因素的水平数的多个水平数。0049 通过该技术方案,由于取得多个水平数会导致多次的查询,会影响软件测试系统的效率,通过本方案可以判断出何时需要将取得多个水平数,既保证软件测试系统的顺利工作,又保证了软件测试系统的效率,而且判断条件简单,方便实现本方案。0050 在上述技术方案中,所述查询单元102在判断结果为否时,在查询出第一个大于或等于所述新增因素的水平数的水平数时,停止查询,在判断结果为是时,在查询出第一组乘积大于或等于所述新增因素的水平数的多个水平数时,停止查询。0051 通过该技术方案,只查找第一个或第一组可用的水平数后,便可以确定用于进行填充正交表的水平规则,不进行后续查询。
26、可以节省时间,提高正交表的生成效率,也即提高了软件测试系统的工作效率。0052 在上述技术方案中,所述查询单元102在判断结果为否时,优先查询等于所述新增因素的水平数的水平数,在判断结果为是时,优先查询乘积等于所述新增因素的水平数的多个水平数。0053 通过该技术方案,可以在保证测试覆盖率较高的情况下,提高测试资源的利用效率,不会浪费资源进行无用的测试。0054 在上述技术方案中,所述查询单元102设置查询规则,并按所述查询规则对所述原有因素的水平数进行查询。0055 通过该技术方案,可通过设置一定的规则,提高查找的效率,或实现查询结果的多样化,以保证正交表覆盖率高而重复率低,即保证软件测试系。
27、统的资源利用效率高,不会用于过多的重复性测试计算。0056 本发明还提供一种软件测试系统,包括:如上所述的正交表扩展装置100。通过该技术方案,有效地利用了处理器和内存等计算资源,且不需重新生成正交表,因此不会影响软件测试系统的工作效率。0057 图2是根据本发明的一个实施例的正交表扩展方法的流程图。0058 如图2所示,本发明还提供一种正交表扩展方法,包括:步骤202,从原有因素的说 明 书CN 103176893 A6/12页9水平数中,查询大于或等于新增因素的水平数的水平数,或乘积大于或等于所述新增因素的水平数的多个水平数;步骤204,根据查询出的水平数的数量,为所述新增因素设置列或行;。
28、步骤206,根据所述查询出的水平数对应的列或行中的水平分配规则,对所述新增因素的列或行进行填充。0059 通过该技术方案,实现了新增因素的水平的合理填充,使之按照其他因素的水平的分配规则,可以保证覆盖率较高而重复率较低,完成了正交表的扩展,有效地利用了软件测试系统的处理器和内存等计算资源,且不需重新生成正交表,因此不会影响软件测试系统的工作效率。具体地,可根据正交表的格式来调用绘制工具进行列(或行)扩展,以及读取水平分配规则并填充到列中。上述步骤可以通过不同的处理器单元来实现,也可以集成到同一处理器单元上。0060 在上述技术方案中,所述步骤202包括:判断所述新增因素的水平数是否大于所述原有。
29、因素的最大水平数,并在判断结果为否时,查询大于或等于所述新增因素的水平数的水平数,在判断结果为是时,查询乘积大于或等于所述新增因素的水平数的多个水平数。0061 通过该技术方案,由于取得多个水平数会导致多次的查询,会影响软件测试系统的效率,通过本方案可以判断出何时需要将取得多个水平数,既保证软件测试系统的顺利工作,又保证了软件测试系统的效率,而且判断条件简单,方便实现本方案。0062 在上述技术方案中,所述步骤202还包括:在判断结果为否时,在查询出第一个大于或等于所述新增因素的水平数的水平数时,停止查询,在判断结果为是时,在查询出第一组乘积大于或等于所述新增因素的水平数的多个水平数时,停止查。
30、询。0063 通过该技术方案,只查找第一个或第一组可用的水平数后,便可以确定用于进行填充正交表的水平规则,不进行后续查询可以节省时间,提高正交表的生成效率,也即提高了软件测试系统的工作效率。0064 在上述技术方案中,所述步骤202还包括:在判断结果为否时,优先查询等于所述新增因素的水平数的水平数,在判断结果为是时,优先查询乘积等于所述新增因素的水平数的多个水平数。0065 通过该技术方案,可以在保证测试覆盖率较高的情况下,提高测试资源的利用效率,不会浪费资源进行无用的测试。0066 在上述技术方案中,所述步骤202还包括:设置查询规则,并按所述查询规则对所述原有因素的水平数进行查询。0067。
31、 通过该技术方案,可通过设置一定的规则,提高查找的效率,或实现查询结果的多样化,以保证正交表覆盖率高而重复率低,即保证软件测试系统的资源利用效率高,不会用于过多的重复性测试计算。0068 以下详细说明本发明的技术方案。0069 在正交表有新增因素,且新增因素的水平数未超出原有任一因素的水平数的情况时,如图3所示,技术方案的主要步骤:0070 步骤302,打开已存在的正交表;0071 步骤304,在最后一列追加新增的因素、水平数;0072 步骤306,在正交表中查找具有与新增因素相同(也可以是大于)的水平数的第一个因素;说 明 书CN 103176893 A7/12页100073 步骤308,新。
32、增因素适用查找到的相同水平数的因素的水平分配规则。0074 后续新增的因素和水平以此类推。0075 以下面的表格为例:0076 L16(4423)正交表:0077 因素No 1 2 3 4 5 6 7水平数 4 4 4 4 2 2 2实验1 1 1 1 1 1 1 12 1 2 2 2 1 2 23 1 3 3 3 2 1 24 1 4 4 4 2 2 15 2 1 2 3 2 2 16 2 2 1 4 2 1 27 2 3 4 1 1 2 28 2 4 3 2 1 1 19 3 1 3 4 1 2 210 3 2 4 3 1 1 111 3 3 1 2 2 2 112 3 4 2 1 2 1 213 4 1 4 2 2 1 214 4 2 3 1 2 2 115 4 3 2 4 1 1 116 4 4 1 3 1 2 20078 因素No. 1 2 3 4 5 6 7水平数 4 4 4 4 2 2 2说 明 书CN 103176893 A10。