一种接口测试用例生成方法及装置制造方法及图纸

技术编号:24995605 阅读:27 留言:0更新日期:2020-07-24 17:58
本申请提供了一种接口测试用例生成方法及装置,该方案针对不同的参数输入域采用不同的组合策略,针对正常测试数据采用正交阵列法生成两两覆盖的正常测试用例集,从而实现使用较少的资源极大限度地验证待测试接口的正常。针对异常测试数据采用基本选择法生成单覆盖的异常测试用例集,既能确定异常来源又能避免测试用例数目激增。该方案在取得良好测试覆盖的同时,大幅降低了测试开销,有效提升了接口测试效率。

【技术实现步骤摘要】
一种接口测试用例生成方法及装置
本专利技术属于软件测试
,尤其涉及一种接口测试用例生成方法及装置。
技术介绍
接口测试是对软件需求规格说明中的接口需求逐项进行的测试,可以发现软件中存在的功能性、容错性和互操作性等方面的问题,是软件测试中经常采用的一种基本测试类型。接口测试一般要按照接口协议进行正常、异常和边界值等情况的测试。接口协议一般要描述数据帧的组成,如帧头、长度、1…N个有效数据、校验等多个字段,并会对每个字段的数据类型、取值范围及字段之间的约束关系进行定义。在接口测试过程中,测试人员需要依据测试规程,针对接口协议中的每个字段取正常、异常及边界等多个数值,组合各字段的测试数据形成可执行的测试用例。目前的测试用例生成方式由测试人员依据接口协议组合各个字段的测试数据生成测试用例,不同测试人员得到的测试用例差异很大,所设计的测试用例数量往往会受到人为因素的限制,难以保证测试的充分性,且很难保证测试结果一致性。此外,接口数据的输入参数多,测试用例存在组合爆炸问题,导致测试占用的资源非常多。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种接口测试用例生成方法及装置,在确保有效测试覆盖的前提下,解决传统的接口测试用例数量多、占用开销大的问题,具体的技术方案如下:一方面,本申请提供了一种接口测试用例生成方法,包括:从待测试接口的接口协议中提取输入参数;依据所述接口协议确定各个输入参数的正常测试数据子集和异常测试数据子集,所述正常测试数据子集是使接口功能正常的参数取值,所述异常测试数据子集是使接口功能异常的参数取值;各个输入参数分别从对应的正常测试数据子集中取值,并基于正交阵列法将各个输入参数的取值进行组合,得到正常测试用例集;各个输入参数中的任一个从对应的异常测试数据子集中取值,且其它的输入参数均从对应的正常测试数据子集中取值,得到异常测试用例集。可选地,所述输入参数包括独立参数和具有依赖关系的关联参数;依据所述接口协议确定各个输入参数的正常测试数据子集和异常测试数据子集,包括:从所述接口协议中提取所述待测试接口的各个输入参数的数据属性信息,所述数据属性信息包括数据类型和取值范围;根据各个输入参数的数据属性信息确定每个输入参数对应的等价类;所述等价类包括正常等价类和异常等价类;确定每个输入参数对应的各个等价类的一组典型值,得到各个输入参数对应的正常等价类数据集和异常等价类数据集;依据各个关联参数从对应的正常等价类数据集中取值,且各个关联参数的取值满足各个关联参数的约束关系,得到满足约束关系的测试数据子集;基于独立参数对应的正常等价类数据集和所述满足约束关系的测试数据子集,得到所述正常测试数据子集;依据各个关联参数从对应的正常等价类数据集中取值,且各个关联参数的取值不满足各个关联参数的约束关系,得到不满足约束关系的测试数据子集;基于任一参数对应的异常等价类数据集,以及,各个独立参数对应的正常等价类数据集和所述不满足约束关系的测试数据子集,得到所述异常测试数据子集。可选地,所述输入参数包括独立参数和关联参数;所述各个输入参数分别取对应的正常测试数据子集中的数据,并基于正交阵列法将各个输入参数的取值进行组合得到正常测试用例集,包括:各个独立参数的取值从对应的正常等价类数据集中确定,得到正常取值的独立参数,且各个关联参数的取值从对应的满足约束关系的测试数据子集中确定,得到正常取值的关联参数;采用正交阵列法组合各个正常取值的独立参数及各个正常取值的关联参数,生成两两覆盖的正常测试用例集。可选地,所述接口参数中存在多个约束条件;所述各个输入参数分别取对应的正常测试数据子集中的数据,并基于正交阵列法将各个输入参数的取值进行组合得到正常测试用例集,还包括:将各个约束条件下的正常测试用例集取并集得到所述待测试接口的全部正常测试用例集。可选地,所述输入参数包括独立参数和关联参数;所述各个输入参数中的任一个从对应的异常测试数据子集中取值,且其它的输入参数均从对应的正常测试数据子集中取值,得到异常测试用例集,包括:任一个独立参数从异常测试数据子集中取值,且其它参数取正常测试数据子集中的正常默认值,得到一个异常测试用例,并将全部独立参数依次取异常值时生成的异常测试用例取并集,得到单缺陷覆盖的第一类异常测试用例集;各个独立参数的取值均为对应的正常默认值,且各个关联参数从不满足约束条件的测试数据子集中取值,得到第二类异常测试用例集;将第一类异常测试用例集和第二类异常测试用例集取并集,得到所述异常测试用例集。可选地,所述输入参数中存在多个约束条件;所述将第一类异常测试用例集和第二类异常测试用例集取并集,得到所述异常测试用例集,包括:将第一类异常测试用例集,以及各个约束条件对应的第二类异常测试用例集取并集,得到所述异常测试用例集。可选地,所述输入参数只包括独立参数;各个输入参数中的任一个从对应的异常测试数据子集中取值,且其它的输入参数均从对应的正常测试数据子集中取值,基于基本选择法将各个输入参数的取值进行组合得到异常测试用例集,包括:任一独立参数从对应的异常测试数据子集中取值,且其它的输入参数均取各自对应的正常测试数据子集中的正常默认值,得到一个异常测试用例;将每一个独立参数取异常数时对应的异常测试用例组合得到所述待测试接口对应的异常测试用例集。另一方面,本申请还提供了一种接口测试用例生成装置,包括:参数提取模块,用于从待测试接口的接口协议中提取输入参数;测试数据子集确定模块,用于依据所述接口协议确定各个输入参数的正常测试数据子集和异常测试数据子集,所述正常测试数据子集是使接口功能正常的参数取值,所述异常测试数据子集是使接口功能异常的参数取值;正常测试用例生成模块,用于各个输入参数分别从对应的正常测试数据子集中取值,并基于正交阵列法将各个输入参数的取值进行组合,得到正常测试用例集;异常测试用例生成模块,用于将各个输入参数中的任一个从对应的异常测试数据子集中取值,且其它的输入参数均从对应的正常测试数据子集中取值,得到异常测试用例集。可选地,所述输入参数包括独立参数和具有依赖关系的关联参数;所述测试数据子集确定模块,具体用于:从所述接口协议中提取所述待测试接口的各个输入参数的数据属性信息,所述数据属性信息包括数据类型和取值范围;根据各个输入参数的数据属性信息确定每个输入参数对应的等价类;所述等价类包括正常等价类和异常等价类;确定每个输入参数对应的各个等价类的一组典型值,得到各个输入参数对应的正常等价类数据集和异常等价类数据集;依据各个关联参数从对应的正常等价类数据集中取值,且各个关联参数的取值满足各个关联参数的约束关系,得到满足约束关系的测试数据子集;基于独立参数对应的正常等价类数据集和所述满足约束关系的测试本文档来自技高网...

【技术保护点】
1.一种接口测试用例生成方法,其特征在于,包括:/n从待测试接口的接口协议中提取输入参数;/n依据所述接口协议确定各个输入参数的正常测试数据子集和异常测试数据子集,所述正常测试数据子集是使接口功能正常的参数取值,所述异常测试数据子集是使接口功能异常的参数取值;/n各个输入参数分别从对应的正常测试数据子集中取值,并基于正交阵列法将各个输入参数的取值进行组合,得到正常测试用例集;/n各个输入参数中的任一个从对应的异常测试数据子集中取值,且其它的输入参数均从对应的正常测试数据子集中取值,得到异常测试用例集。/n

【技术特征摘要】
1.一种接口测试用例生成方法,其特征在于,包括:
从待测试接口的接口协议中提取输入参数;
依据所述接口协议确定各个输入参数的正常测试数据子集和异常测试数据子集,所述正常测试数据子集是使接口功能正常的参数取值,所述异常测试数据子集是使接口功能异常的参数取值;
各个输入参数分别从对应的正常测试数据子集中取值,并基于正交阵列法将各个输入参数的取值进行组合,得到正常测试用例集;
各个输入参数中的任一个从对应的异常测试数据子集中取值,且其它的输入参数均从对应的正常测试数据子集中取值,得到异常测试用例集。


2.根据权利要求1所述的方法,其特征在于,所述输入参数包括独立参数和具有依赖关系的关联参数;
依据所述接口协议确定各个输入参数的正常测试数据子集和异常测试数据子集,包括:
从所述接口协议中提取所述待测试接口的各个输入参数的数据属性信息,所述数据属性信息包括数据类型和取值范围;
根据各个输入参数的数据属性信息确定每个输入参数对应的等价类;所述等价类包括正常等价类和异常等价类;
确定每个输入参数对应的各个等价类的一组典型值,得到各个输入参数对应的正常等价类数据集和异常等价类数据集;
依据各个关联参数从对应的正常等价类数据集中取值,且各个关联参数的取值满足各个关联参数的约束关系,得到满足约束关系的测试数据子集;
基于独立参数对应的正常等价类数据集和所述满足约束关系的测试数据子集,得到所述正常测试数据子集;
依据各个关联参数从对应的正常等价类数据集中取值,且各个关联参数的取值不满足各个关联参数的约束关系,得到不满足约束关系的测试数据子集;
基于任一参数对应的异常等价类数据集,以及,各个独立参数对应的正常等价类数据集和所述不满足约束关系的测试数据子集,得到所述异常测试数据子集。


3.根据权利要求2所述的方法,其特征在于,所述输入参数包括独立参数和关联参数;
所述各个输入参数分别取对应的正常测试数据子集中的数据,并基于正交阵列法将各个输入参数的取值进行组合得到正常测试用例集,包括:
各个独立参数的取值从对应的正常等价类数据集中确定,得到正常取值的独立参数,且各个关联参数的取值从对应的满足约束关系的测试数据子集中确定,得到正常取值的关联参数;
采用正交阵列法组合各个正常取值的独立参数及各个正常取值的关联参数,生成两两覆盖的正常测试用例集。


4.根据权利要求3所述的方法,其特征在于,所述接口参数中存在多个约束条件;
所述各个输入参数分别取对应的正常测试数据子集中的数据,并基于正交阵列法将各个输入参数的取值进行组合得到正常测试用例集,还包括:
将各个约束条件下的正常测试用例集取并集得到所述待测试接口的全部正常测试用例集。


5.根据权利要求2所述的方法,其特征在于,所述输入参数包括独立参数和关联参数;
所述各个输入参数中的任一个从对应的异常测试数据子集中取值,且其它的输入参数均从对应的正常测试数据子集中取值,得到异常测试用例集,包括:
任一个独立参数从异常测试数据子集中取值,且其它参数取正常测试数据子集中的正常默认值,得到一个异常测试用例,并将全部独立参数依次取异常值时生成的异常测试用例取并集,得到单缺陷覆盖的第一类异常测试用例集;
各个独立参数的取值均为对应的正常默认值,且各个关联参数从不满足约束条件的测试数据子集中取值,得到第二类异常测试用例集;
将第一类异常测试用例集和第二类异常测试用例集取并集,得到所述异常测试用例集。


6.根据权利要求5所述的方法,其特征在于,所述输入参数中存在多个约束条件;
所述将第一类异常测试用例集和第二类异常测试用例集取并集,得到所述异常测试...

【专利技术属性】
技术研发人员:孙佩刚高传平刘海涛刘红雨周旋
申请(专利权)人:北京市信息技术研究所
类型:发明
国别省市:北京;11

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

1