一种测试用例生成方法及装置与流程

文档序号:11063422阅读:295来源:国知局
一种测试用例生成方法及装置与制造工艺

本发明涉及接口测试技术领域,更具体地说,涉及一种测试用例生成方法及装置。



背景技术:

军品软件在研制过程中,必然需要软件配置项测试和系统测试来提高软件的可靠性,而接口测试是配置项测试和系统测试中必不可少的一个重要测试类型。

军品软件存在配置项多、接口复杂的情况,一个配置项一般存在多个外部接口,每一个接口至少对应一个通讯协议,两个接口的通讯内容至少由一张通讯协议表进行描述,该表内容复杂,信息量大。一般包含帧头、命令字、状态字、所使用的数据、校验和和帧尾构成。在测试过程中,软件测试人员在设计测试用例时,为了保证接口通讯的正确性和可靠性,不光需要将每一个字段的内容进行验证和测试,还需要在个别字段设计异常用例,以此提高软件的鲁棒性,保证接口在正常和异常的情况下均能正常运行。除此之外,同一个通讯协议表中,常常存在以下关系,比如字段A和字段B存在依赖关系,由A和B才能实现C功能;甚至不同的通讯协议表中的字段也存在相互依赖的关系,在此依赖关系上不光需要设计正常测试用例,还需要设计异常测试用例。因此,软件测试人员需要较长时间去设计接口测试用例,而且测试人员存在水平不同的情况,所以存在测试用例无法覆盖软件接口的正常需求和异常处理能力的现象。

综上所述,如何提供一种使得测试用例能够覆盖软件接口的正常需求和异常处理能力的技术方案,是目前本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种测试用例生成方法及装置,以使得生成的测试用例能够覆盖软件接口的正常需求和异常处理能力。

为了实现上述目的,本发明提供如下技术方案:

一种测试用例生成方法,包括:

确定与待测试接口对应的每个字段的字段属性、内容编码、内容描述及初始源码,并由确定出的字段中选取出任一字段属性为命令类或状态类的字段为目标字段;

如果所述目标字段的不同内容编码之间不存在关联,则生成与每个所述内容编码对应的异常编码,如果所述目标字段的内容编码之间具有存在关联的内容编码,则生成与每个所述内容编码对应的异常编码,并将具有关联的内容编码连接组成组合编码;

确定与每个编码对应的测试源码,将确定出的全部测试源码与其他字段的初始源码按预设顺序连接成测试源码集合,并将该集合中每个编码与对应内容描述连接得到测试用例,所述编码包括内容编码、异常编码及组合编码。

优选的,得到所述测试用例之后,还包括:

判断是否已经得到与每个字段属性为状态类或命令类的字段对应的测试用例,如果是,则基于字段的总数量生成对应的超长帧及超短帧的测试用例。

优选的,还包括:

建立与每个字段对应的数学模型,所述数学模型包括待测试接口的描述、字段序号、字段描述、字段属性、内容编码、内容描述、内容编码之间的关联性及初始源码;

将每个字段的数学模型录入到GESTE接口配置文件中,生成对应的数学模型.XML文件以供对数学模型包含的信息进行提取。

优选的,还包括:

由确定出的字段中选取出字段属性为数据类的字段,并将该部分字段存储至指定位置。

优选的,生成与每个所述内容编码对应的异常编码,包括:

确定每个所述内容编码的二进制位数;

确定与所述二进制位数对应的全部二进制编码,并确定与所述内容编码不同的二进制编码为对应的异常编码。

一种测试用例生成装置,包括:

信息确定模块,用于确定与待测试接口对应的每个字段的字段属性、内容编码、内容描述及初始源码,并由确定出的字段中选取出任一字段属性为命令类或状态类的字段为目标字段;

编码生成模块,用于如果所述目标字段的不同内容编码之间不存在关联,则生成与每个所述内容编码对应的异常编码,如果所述目标字段的内容编码之间具有存在关联的内容编码,则生成与每个所述内容编码对应的异常编码,并将具有关联的内容编码连接组成组合编码;

第一用例生成模块,用于确定与每个编码对应的测试源码,将确定出的全部测试源码与其他字段的初始源码按预设顺序连接成测试源码集合,并将该集合中每个编码与对应内容描述连接得到测试用例,所述编码包括内容编码、异常编码及组合编码。

优选的,还包括:

第二用例生成模块,用于得到所述测试用例之后,判断是否已经得到与每个字段属性为状态类或命令类的字段对应的测试用例,如果是,则基于字段的总数量生成对应的超长帧及超短帧的测试用例。

优选的,还包括:

信息处理模块,用于:建立与每个字段对应的数学模型,所述数学模型包括待测试接口的描述、字段序号、字段描述、字段属性、内容编码、内容描述、内容编码之间的关联性及初始源码;将每个字段的数学模型录入到GESTE接口配置文件中,生成对应的数学模型.XML文件以供对数学模型包含的信息进行提取。

优选的,还包括:

字段存储模块,用于由确定出的字段中选取出字段属性为数据类的字段,并将该部分字段存储至指定位置。

优选的,编码生成模块包括:

编码生成单元,用于:确定每个所述内容编码的二进制位数;确定与所述二进制位数对应的全部二进制编码,并确定与所述内容编码不同的二进制编码为对应的异常编码。

本发明提供了一种测试用例生成方法及装置,其中该方法包括:确定与待测试接口对应的每个字段的字段属性、内容编码、内容描述及初始源码,并由确定出的字段中选取出任一字段属性为命令类或状态类的字段为目标字段;如果所述目标字段的不同内容编码之间不存在关联,则生成与每个所述内容编码对应的异常编码,如果所述目标字段的内容编码之间具有存在关联的内容编码,则生成与每个所述内容编码对应的异常编码,并将具有关联的内容编码连接组成组合编码;确定与每个编码对应的测试源码,将确定出的全部测试源码与其他字段的初始源码按预设顺序连接成测试源码集合,并将该集合中每个编码与对应内容描述连接得到测试用例,所述编码包括内容编码、异常编码及组合编码。本发明实施例公开的技术方案中,获取每个状态类或命令类的字段,并基于该字段包含的内容编码的情况生成对应的异常编码及组合编码,最后基于全部编码实现测试用例的生成,从而能够自动生成接口测试用例,无需软件测试人员花费较长的时间设计测试用例接口,并且可以基于内容编码、异常编码及组合编码生成对应测试用例,考虑到接口测试中的正常情况、异常情况及字段间存在关联的情况,从而保证了生成的测试用例能够覆盖软件接口的正常需求及异常处理能力,进一步提高了测试用例的充分性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种测试用例生成方法的流程图;

图2为本发明实施例提供的一种测试用例生成方法中一层分解流程图;

图3为本发明实施例提供的一种测试用例生成装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其示出了本发明实施例提供的一种测试用例生成方法的流程图,可以包括:

S11:确定与待测试接口对应的每个字段的字段属性、内容编码、内容描述及初始源码,并由确定出的字段中选取出任一字段属性为命令类或状态类的字段为目标字段。

其中,字段属性包括命令类、状态类及数据类,内容编码可以是预先设定的N进制的数据编码,如N可以为2,而内容描述与内容编码是一一对应的,如内容编码0001对应内容描述为单干跟踪有效、0010对应融合跟踪有效等,而初始源码为该字段对应的源代码,与现有技术中对应概念一致,在此不再赘述。

S12:如果目标字段的不同内容编码之间不存在关联,则生成与每个内容编码对应的异常编码,如果目标字段的内容编码之间具有存在关联的内容编码,则生成与每个内容编码对应的异常编码,并将具有关联的内容编码连接组成组合编码。

具体来说,上述步骤可以包括以下过程:首先确定目标字段的内容编码是否大于1,如果不是,则直接生成与每个内容编码对应的异常编码即可,如果是,则需要判断不同内容编码之间是否存在关联,如果不存在具有关联的内容编码,则直接生成与每个内容编码对应的异常编码,如果具有存在关联的内容编码,则不仅要生成与每个内容编码对应的异常编码,还要将具有关联的内容编码连接组成组合编码,如具有关联的两个内容编码分别为1111及1110,则对应的组合编码则为11111110;此处具有关联与现有技术中对应概念一致,包括一个内容编码对应的内容描述与另一个内容编码对应的内容描述共同实现同一功能、一个内容编码对应的内容描述的改变能够引起另一个内容编码对应的内容描述的改变等。

另外,测试点的数量即为得到的全部编码的数量,从而对每个测试点均实现测试源码的获取及后续步骤。

S13:确定与每个编码对应的测试源码,将确定出的全部测试源码与其他字段的初始源码按预设顺序连接成测试源码集合,并将该集合中每个编码与对应内容描述连接得到测试用例,编码包括内容编码、异常编码及组合编码。

测试源码与编码的对应关系是预先设定的,因此可以基于该对应关系直接确定出与每个编码对应的测试源码,预设顺序可以是预先为每个字段设定对应字段序号的排列顺序,将确定出的全部测试源码均对应目标字段的位置,并按照预设顺序将目标字段对应的全部测试源码与其他字段的初始源码进行连接,得到对应的测试源码集合,并将每个编码与对应内容描述连接即可得到测试用例,其中将每个编码与对应内容描述连接如内容编码为0001,内容描述为融合跟踪有效,则将其连接得到(0001,融合跟踪有效)。

另外需要说明的是,如果需要对每个字段属性为状态类或命令类的字段均生成对应测试用例,则可以依次选取每个字段作为目标字段执行步骤S12及步骤S13,从而实现全部字段属性为状态类或命令类的字段的测试用例的生成,具体来说,可以设置变量i,i=1对应第一个需要生成测试用例的字段,并且每实现一个字段测试用例的生成,i=i+1,并返回执行步骤S12,从而实现不同字段的测试用例的循环生成。

另外需要说明的是,本发明实施例提供的上述技术方案可以基于应用层接口协议实现测试用例的自动生成。

本发明实施例公开的技术方案中,获取每个状态类或命令类的字段,并基于该字段包含的内容编码的情况生成对应的异常编码及组合编码,最后基于全部编码实现测试用例的生成,从而能够自动生成接口测试用例,无需软件测试人员花费较长的时间设计测试用例接口,并且可以基于内容编码、异常编码及组合编码生成对应测试用例,考虑到接口测试中的正常情况、异常情况及字段间存在关联的情况,从而保证了生成的测试用例能够覆盖软件接口的正常需求及异常处理能力,进一步提高了测试用例的充分性。

另外,本申请公开的上述技术方案可以有效减少软件测试人员在设计接口测试用例上的工作量,并且有效提高接口测试的测试用例对于接口协议的覆盖度,有效的规避了对于组合类接口测试用例出现的遗漏点的问题,增强了接口测试的有效性。

本发明实施例提供的一种测试用例生成方法,得到测试用例之后,还可以包括:

判断是否已经得到与每个字段属性为状态类或命令类的字段对应的测试用例,如果是,则基于字段的总数量生成对应的超长帧及超短帧的测试用例。

如果每个字段属性为状态类或命令类的字段对应的测试用例均已生成,则基于字段的总数量生成超长帧及超短帧的测试用例,超长帧的测试用例即添加几个字段及对应信息后使得待测试接口对应字段中存在多余的字段,超短帧的测试用例即减少几个字段及对应信息后使得待测试接口对应字段中缺少应有的字段,从而基于该测试用例获知待测试接口对于超长帧及超短帧这种异常情况的处理能力。

本发明实施例提供的一种测试用例生成方法,还可以包括:

建立与每个字段对应的数学模型,数学模型包括待测试接口的描述、字段序号、字段描述、字段属性、内容编码、内容描述、内容编码之间的关联性及初始源码;

将每个字段的数学模型录入到GESTE接口配置文件中,生成对应的数学模型.XML文件以供对数学模型包含的信息进行提取。

建立数学模型,模型可以如下:[待测试接口的描述;字段序号;字段描述;字段属性;内容编码;内容描述;内容描述之间的关联性,初始源码];将每一个字段的数学模型录入到GESTE接口配置文件中,生成数学模型.XML文件,以在需要字段的数学模型中包含的信息时直接从数学模型.XML文件中提取出来,方便了信息的存储和提取。其中,待测试接口的描述可以为待测试接口对应接收的信息来源,字段序号可以是预先为字段进行排序得到的对应序号,字段描述可以为字段的名称。

具体来说,由数学模型.XML文件中提取出与字段对应的上述信息可以包括两层分解,第一层分解如图2所示,其中详细内容描述包括信息录入时内容编码及内容描述以预先设定的方式实现的组合字符串;第二层分解具体包括:

S31:判断组合字符串中是否存在分隔符“/”,如果是,则执行步骤S32,如果否,则执行步骤S33;

S32:按照分隔符“/”将组合字符串分割出多个子树,执行步骤S33;

S33:判断组合字符串中(对应步骤S31否的情况)或每个子树中(对应步骤S32)是否存在分隔符“,”,如果存在,则执行步骤S34,如果否,则执行步骤S35;

S34:按照分隔符“,”将组合字符串(对应步骤S31否的情况)或者每个子树(对应步骤S32)分割出多个子树或者多个叶子,执行步骤S35;

S35:判断每个子树(对应步骤S31否的情况)或者每个叶子(对应步骤S32)中是否存在分隔符“-”,如果存在,则将每个子树或每个叶子按照分隔符“-”分割成多个叶子或多个子叶子,完成分割,否则,则确定组合字符串即为分割后的结果;并且分割完成后编码即为内容编码,文字即为内容描述。本发明实施例提供的一种测试用例生成方法,还可以包括:

由确定出的字段中选取出字段属性为数据类的字段,并将该部分字段存储至指定位置。

由于数据类的字段无需自动生成对应测试用例,因此可以将其存储至预先设定的指定位置,以使得在需要时可以直接由指定位置处快速获取到这部分字段。

本发明实施例提供的一种测试用例生成方法,生成与每个内容编码对应的异常编码,可以包括:

确定每个内容编码的二进制位数;

确定与二进制位数对应的全部二进制编码,并确定与内容编码不同的二进制编码为对应的异常编码。

举例说明上述步骤,如内容编码的二进制位数为3,则对应可以有以下二进制编码:000、001、010、011、100、101、110、111,而内容编码包括:000、001、010、011,则异常编码包括100、101、110、111。由此,能够快速方便的获取到异常编码。

本发明实施例还提供了一种测试用例生成装置,如图3所示,可以包括:

信息确定模块11,用于确定与待测试接口对应的每个字段的字段属性、内容编码、内容描述及初始源码,并由确定出的字段中选取出任一字段属性为命令类或状态类的字段为目标字段;

编码生成模块12,用于如果目标字段的不同内容编码之间不存在关联,则生成与每个内容编码对应的异常编码,如果目标字段的内容编码之间具有存在关联的内容编码,则生成与每个内容编码对应的异常编码,并将具有关联的内容编码连接组成组合编码;

第一用例生成模块13,用于确定与每个编码对应的测试源码,将确定出的全部测试源码与其他字段的初始源码按预设顺序连接成测试源码集合,并将该集合中每个编码与对应内容描述连接得到测试用例,编码包括内容编码、异常编码及组合编码。

本发明实施例提供的一种测试用例生成装置,还可以包括:

第二用例生成模块,用于得到测试用例之后,判断是否已经得到与每个字段属性为状态类或命令类的字段对应的测试用例,如果是,则基于字段的总数量生成对应的超长帧及超短帧的测试用例。

本发明实施例提供的一种测试用例生成装置,还可以包括:

信息处理模块,用于:建立与每个字段对应的数学模型,数学模型包括待测试接口的描述、字段序号、字段描述、字段属性、内容编码、内容描述、内容编码之间的关联性及初始源码;将每个字段的数学模型录入到GESTE接口配置文件中,生成对应的数学模型.XML文件以供对数学模型包含的信息进行提取。

本发明实施例提供的一种测试用例生成装置,还可以包括:

字段存储模块,用于由确定出的字段中选取出字段属性为数据类的字段,并将该部分字段存储至指定位置。

本发明实施例提供的一种测试用例生成装置,编码生成模块可以包括:

编码生成单元,用于:确定每个内容编码的二进制位数;确定与二进制位数对应的全部二进制编码,并确定与内容编码不同的二进制编码为对应的异常编码。

本发明实施例提供的一种测试用例生成装置中相关部分的说明请参见本发明实施例提供的一种测试用例生成方法中对应部分的详细说明,在此不再赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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