《软件测试用例自动生成方法.pdf》由会员分享,可在线阅读,更多相关《软件测试用例自动生成方法.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103164330 A(43)申请公布日 2013.06.19CN103164330A*CN103164330A*(21)申请号 201110417391.3(22)申请日 2011.12.14G06F 11/36(2006.01)(71)申请人航天信息股份有限公司地址 100195 北京市海淀区杏石口路甲18号(72)发明人刘磊(74)专利代理机构北京国昊天诚知识产权代理有限公司 11315代理人张永林(54) 发明名称软件测试用例自动生成方法(57) 摘要一种软件测试用例自动生成方法,包括步骤:建立多个预设用例生成规格模块及组合算法;根据测试需求输入至少一测试参数。
2、值,以建立一扩展标记语言(XML)文件;读入XML文件,并对测试参数与对应的组合算法进行选择;多个用例生成规格模块根据读入的测试参数,建立多个合法与非法的参数测试用例;选择的组合算法对多个参数测试用例,合成至少一实际测试用例;及输出实际测试用例为一单据文件。因此,测试人员可根据需求建立XML文件后,自动完成测试用例单据的输出,大大简化了测试人员的工作量,测试平台的通用性以及提高测试结果的可靠性。(51)Int.Cl.权利要求书1页 说明书7页 附图2页(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书7页 附图2页(10)申请公布号 CN 103164330 ACN。
3、 103164330 A1/1页21.一种软件测试用例自动生成方法,其特征在于,包括以下步骤:a)建立多个预设用例生成规格模块及组合算法;b)根据测试需求输入至少一测试参数值,以建立一扩展标记语言XML文件;c)读入所述XML文件,并对所述测试参数与对应的组合算法进行选择;d)所述多个用例生成规格模块根据所述读入的测试参数,建立多个合法与非法的参数测试用例;e)所述选择的组合算法对所述多个参数测试用例,合成至少一实际测试用例;及f)输出所述实际测试用例为一单据文件。2.如权利要求1所述的软件测试用例自动生成方法,其特征在于,步骤a)所述组合算法包括全组合算法。3.如权利要求1所述的软件测试用例。
4、自动生成方法,其特征在于,步骤a)所述组合算法包括成对组合算法。4.如权利要求1所述的软件测试用例自动生成方法,其特征在于,步骤a)所述组合算法包括正交组合算法。5.如权利要求1所述的软件测试用例自动生成方法,其特征在于,步骤a)所述的用例生成规格模块用C#语言所编写。6.如权利要求1所述的软件测试用例自动生成方法,其特征在于,于步骤e与f之间,另包括步骤:g)将所述的实际测试用例输出至一用户接口;及h)当实际测试用例有误时,回到步骤b),重新建立一XML文件。7.如权利要求4所述的软件测试用例自动生成方法,其特征在于,步骤g)所述的用户接口是一屏幕。权 利 要 求 书CN 103164330。
5、 A1/7页3软件测试用例自动生成方法技术领域0001 本发明涉及计算机软件测试技术,特别是指一种软件测试用例自动生成方法。背景技术0002 软件测试是软件工程中非常重要的环节,特别在于软件接口的测试,为了保证接口的稳定,确保整个软件程序的稳定性。传统的测试用例编写过程大多是由人工完成,由于用例文件和测试代码等编写的复杂性,再加上用例众多,扩展性差,而且最后得到的用例含有大量重复数据且不易修改,导致测试过程耗时耗力,还不一定达到很好的效果。0003 举例来说,以软件文本接口的汉字内码扩展规范(GBK)字符测试为例,所有的GBK字符大约两万多个,倘若测试总共有四个字段需要相关测试用例,按照以前的。
6、做法,测试人员需手工编写数万个单据,才有办法测完全部的GBK字符,无疑对测试人员是一项单调且令人疲倦的工作。0004 因此,目前软件测试相关业者亟需一种方法或是方案,除了能保证通过不同参数设置和规格生成较为多样的测试用例外,又可减轻测试人员负担,并提高测试的效率。发明内容0005 本发明所要解决的技术问题是提供一种软件测试用例自动生成方法,通过分离较复杂的用例生成规格和较简单用例参数默认值,用来解决上述因测试工作所造成繁琐的负担,提高测试的通用性、可靠性,方便测试人员使用的优点。0006 根据本发明的一方面,提出一种软件测试用例自动生成方法,包括步骤:a)建立多个预设用例生成规格模块及组合算法。
7、;b)根据测试需求输入至少一测试参数值,以建立一扩展标记语言(XML)文件;c)读入所述XML文件,并对所述测试参数与对应的组合算法进行选择;d)所述多个用例生成规格模块根据所述读入的测试参数,建立多个合法与非法的参数测试用例;e)所述选择的组合算法对所述多个参数测试用例,合成至少一实际测试用例;及f)输出所述实际测试用例为一单据文件。0007 根据一实施例,步骤a)所述之组合算法包括全组合、成对组合与正交组合。0008 根据一实施例,步骤a)所述的用例生成规格模块用C#语言所编写。0009 根据一实施例,于步骤e与f之间另包括步骤:g)将所述的实际测试用例输出至一用户接口;及h)当实际测试用。
8、例有误时,回到步骤b),重新建立一XML文件。0010 根据一实施例,步骤g)所述的用户接口是一屏幕。0011 综上所述,本发明提供的软件测试用例自动生成,让测试人员根据需求建立XML文件,并自动完成测试用例的生成和参数的调用,如此可以进行各种平台的软件测试,并且通过用例生成规格和测试参数值的分离特性,据此,大大简化了测试人员的工作量,测试的通用性以及提高测试结果的可靠性。附图说明说 明 书CN 103164330 A2/7页40012 图1为本发明软件测试用例自动生成方法的流程图。0013 图2为本发明软件测试用例自动生成方法另一实施例的流程图。具体实施方式0014 下列将列举数个本发明的实。
9、施例,并配合所附图式、组件符号等,详细说明本发明的构成内容及所要达到的效果。0015 本发明提供了软件测试的整体程序框架,测试人员只需要针对需要测试软件建立生成规格模块(亦即测试函数),并根据测试需求将参数需求以XML文件编写。然后按照编写完成之XML读入测试的需求后,建立所需的测试用例。0016 请参见图1,图1是本发明软件测试用例自动生成方法的流程图。本实施例的软件测试用例自动生成方法,包括以下步骤:0017 S100建立多个预设的用例生成规格模块及组合算法;0018 S102根据测试需求输入至少一测试参数值,以建立一扩展标记语言(XML)文件;0019 S104读入所述XML文件,并对所。
10、述测试参数与对应的组合算法进行选择;0020 S106所述多个用例生成规格模块根据所述读入的测试参数,建立多个合法与非法的参数测试用例;0021 S108所述选择的组合算法对所述多个参数测试用例,合成至少一实际测试用例;及0022 S110输出所述实际测试用例为一单据文件。0023 首先,参见图1所示,步骤S100所述建立用例生成规格模块,以一个常见开票软件文本为例子,开票软件文本接口中,总共有二十余个字段需要测试,它们分别是单据号、商品行数、购方名称、购方税号、购方地址电话、购方银行帐号、备注、复核人、收款人、清单行商品名称、单据日期、销方银行帐号、销方地址电话、货物名称、计量单位、规格型号。
11、、数量、金额、税率、商品税目、折扣金额、税额、折扣税额、折扣率、单价、价格方式等。0024 每一个字段具有相对应的规格,即是根据指定需求及设置产生各种用例的方法规范。规格的种类很多,但总的来说,可以区分为通用规格和专用规格两类,通用规格可以适用于多个字段,一边来说通用性强、较为简单,而专用规格只适用于某一个字段,一般来说较为复杂。0025 通用规格示例,如下:0026 (1)字段前包含可见非法字符/不可见非法字符,字段中包含可见非法字符/不可见非法字符,字段后包含可见非法字符/不可见非法字符。0027 (2)字段长度超限(过长或过短)。0028 (3)字段为空。0029 (4)字段包含不符合校。
12、验规格的合法字符。0030 专用规格示例,如下:0031 (1)税率:非指定税率,多重税率0032 (2)购方税号:全零,校验位不符合要求0033 (3)汉字内码扩展规范(GBK)字符0034 根据一实施例,步骤S100所述的用例生成规格模块用C#(Sharp)语言描述出来。说 明 书CN 103164330 A3/7页5以下是由C#语言编写非法字符规格的部分代码:0035 0036 值得注意的是,上列的C#部分代码,仅为一教示的例子,亦可由其它语言例如C语言、VB语言或JAVA语言等方式,来建立用例生成规格模块。0037 请继续参见图1,步骤S102所述的扩展标记语言(XML)文件,是一种简。
13、单的数据存储语言,其描述语法简单亦于掌握和使用,举例来说,对购方税号与计量单位的设置即为:0038 0039 0040 考虑到各字段间的约束情况,可以设置如下的约束如:0041 0042 或者0043 0044 简单来说,本发明软件测试用例自动生成方法,将生成规格模块与参数需求分别用C#和XML进行设计。如果将测试用例参数设置的功能集中到测试用例生成程序的界面操作完成,则灵活性和扩展性不够。如果是放到底层代码中完成,则不利于保护代码内部结构,同时普通的测试人员也不可能都掌握c#。而XML语言以其简单易用着称,就算对c#说 明 书CN 103164330 A4/7页6不熟悉的测试人员只要经过短暂。
14、的培训就可熟练掌握,这种办法大大减轻了测试人员的负担。0045 因此,通过本发明的方法,测试人员不需要考虑用于检测的测试函数,只要明确了解测试的对象即可。0046 步骤S104与S106,当测试人员根据测试需求,于XML文件中建立至少一测试参数值后,所述的测试参数值将读入对应的用例生成规格模块,通过用例生成规格模块中以C#编写的代码,建立多个合法与非法的参数测试用例。0047 举例来说,当测试需求是对购方名称进行一合法用例的测试时,测试人员于XML文件配置一个购方名称;若需要产生非法字符用例时,即可在ASCII码表中随机选取特殊字符加在所述购方名称之后;若需要进行超长(长度)用例测试时,将所述。
15、购方名称重复添加在一个字符串上直到超过一规定的长度。0048 再以各字段间约束为例,各字段间往往有复杂的算术或逻辑或比较运算关系,通过在XML文件中配置好运算式,各字段取值范围等参数,步骤S106可以以穷举法生成符合与符合条件的各字段的值即相应合法用例与非法用例。0049 步骤S100、S104与S108所述的组合算法,是用于当步骤S106中用例生成规格模块通过测试参数,建立多个合法与非法的参数测试用例后,将这些参数测试用例按照不同需求组合成实际要求的测试用例。常见的组合算法有全组合、成对组合或正交组合等。0050 以下分别对全组合、成对组合与正交组合进行说明,然而,下述的说明仅为教示之例,并。
16、非用于限制本发明。0051 全组合,是组合算法中最简单的组合方式,它将各字段用例的各种组合都包括在内。如果有选择N个字段,每个字段对应Mi(i1,2.N)个用例,那么所有测试用例数为M1*M2*.MN个。0052 成对组合,于本实施例来说,系由Y.Lei等人提出的IPO(In-Parameter-Order)法。IPO法首先依据前两个参数生成满足成对组合覆盖标准的测试用例集,然后通过扩展测试用例集使之满足前3个参数的成对组合覆盖。如此往复,直至所有的参数都包括到测试用例集中。0053 IPO包括两个阶段:水平扩展阶段(horizontal growth;垂直扩展阶段(vertical grow。
17、th)。0054 说 明 书CN 103164330 A5/7页70055 说 明 书CN 103164330 A6/7页80056 IPO法测试重复用已有的测试用例集,所以在参数或参数取值发生变化时可以快速生成新测试用例集。0057 正交组合,是组合算法中,针对多因素多水平的设计,它是根据正交性从全面试验说 明 书CN 103164330 A7/7页9中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是分式析因设计的主要方法。是一种高效率、快速的方法。0058 举例来说,一个三因素三水平的实验,按全面实验要求,须进行3327种组合的实验,且尚未。
18、考虑每一组合的重复数。若按L9(3)正交表安排实验,只需作9次,按L18(3)正交表进行18次实验,显然大大减少了工作量。0059 正交组合成功与否的关键在于能否找到合适的正交表。正交表是一整套规则的设计表格,用L为正交表的代号,n为试验的次数,t为水平数,c为列数,也就是可能安排最多的因素个数。例如L9(3),它表示需作9次实验,最多可观察4个因素,每个因素均为3水平。一个正交表中也可以各列的水平数不相等,我们称它为混合型正交表,如L8(42),此表的5列中,有1列为4水平,4列为2水平。正交表的设计较为复杂,相关内容可参阅有关文献。本程序以各个字段为因素,每个字段的不同用例为水平来确定正交。
19、表,正交算法即依据正交表对各字段用例进行组合。0060 简单来说,步骤S108将步骤S106所建立多个合法与非法的参数测试用例进行优化,提高测试的效率与效果,测试人员不需要烦恼测试过程中,对应不同测试需求的代码编写,只需要确保XML文件中参数的配置与最终实际测试用例的结果产出,并将最终实际测试用例输出(例如打印)为单据文件。0061 对应于背景技术所描述的汉字内码扩展规范(GBK)字符测试为例,以前的测试方法需要测试人员手工编写数万个单据与代码,通过本发明软件测试用例自动生成方法,测试人员仅需要配置XML文件指定好GBK字符库。根据发明人的实作测试结果,本发明的方法仅需几秒钟便可以生成所需的测。
20、试用例,并透过组合运算(步骤S108)将单据优化(简化)为1500多个单据而已,相对传统数万个单据,这极大的提高工作效率。0062 请参见图2,图2是本发明软件测试用例自动生成方法另一实施例的流程图,根据本实施例,于步骤S108与S110之间,另包括步骤:0063 S112将所述的实际测试用例输出至一用户接口(例如:屏幕);以及0064 S114检查实际测试用例是否有误,若有回到步骤S102,重新建立一XML文件,若无,进入步骤S116打印单据。0065 步骤S112与S114是一种单据打印前的检查程序,用来提供测试人员于打印单据前,透过预览来进行一个测试用例结果检查的程序。0066 藉由上述的方法步骤,本发明的软件测试用例自动生成方法,通过分离较复杂的用例生成规格和较简单用例参数默认值,解决以往因测试工作所造成繁琐的负担,并提高测试的通用性、可靠性,方便测试人员使用的优点。0067 以上所述仅为本发明的实施例而已,并不用以限制本发明,凡在本发明的精神和原则,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说 明 书CN 103164330 A1/2页10图1说 明 书 附 图CN 103164330 A10。