测试用例生成方法、装置、存储介质及电子设备与流程

文档序号:37380751发布日期:2024-03-22 10:33阅读:15来源:国知局
测试用例生成方法、装置、存储介质及电子设备与流程

本申请涉及接口测试领域,具体而言,涉及一种测试用例生成方法、装置、存储介质及电子设备。


背景技术:

1、相关技术中,对接口进行自动化测试的过程中,有对接口字段进行通用异常场景的测试需求,例如与业务无关,但是开发过程中未进行异常捕获的场景大量存在,尤其是面向客户赋能的接口,当没有进行异常捕获时会给出5开头的错误状态码,报出服务内部异常的错误提示,按照接口规范标准,类似传参异常,漏传,错传的场景属于客户端异常,应该是以4开头的错误状态码,容易引发客诉,对系统而言暴露内部异常逻辑,引发安全问题。

2、相关技术中,由于接口数量较多,单个接口字段较多,每个字段的测试场景较多,工作内容大量重复且产出不成正比。在当下敏捷开发的模式下,手动测试需要大量人力偏离业务本身,测试周期过长,不满足敏捷开发短周期多迭代的要求,如果不进行测试,多次迭代容易引发客诉,增加系统的安全隐患。

3、针对相关技术中异常测试场景的测试用例生成效率低的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本申请的主要目的在于提供一种测试用例生成方法、装置、存储介质及电子设备,以解决相关技术中异常测试场景的测试用例生成效率低的问题。

2、为了实现上述目的,根据本申请的一个方面,提供了一种测试用例生成方法。该方法包括:确定目标接口需要测试的异常测试场景,并获取异常测试场景中的异常值;获取目标接口的入参数据,并对入参数据中的每个键值对进行遍历,得到每个键值对中的键值以及键值在入参数据中的层级信息,其中,入参数据包含多组键值对,入参数据以多叉树结构组成,每组键值对中的键值对应多叉树结构中的一个节点,层级信息为节点在多叉树结构中的位置信息;确定待测试的目标键值,并基于目标键值的层级信息获取目标值、目标值的起始地址和目标值的结束地址,其中,目标值为目标键值所属键值对中的值,起始地址为目标值在入参数据中首次出现的位置,结束地址为目标值在入参数据中最后出现的位置;基于起始地址和结束地址将入参数据中的所有目标值替换为异常值,得到异常入参数据;基于异常入参数据生成异常测试场景的测试用例。

3、可选地,基于目标键值的层级信息获取目标值、目标值的起始地址和目标值的结束地址包括:将入参数据中目标键值对应的值确定为目标值;确定入参数据中每个目标键值的层级信息,得到一组层级信息;从一组层级信息中确定最小层级,确定入参数据中第一次出现的最小层级在入参数据中的第一地址,并将第一地址确定为起始地址;基于起始地址和入参数据的层级信息确定第二地址,并将第二地址确定为结束地址。

4、可选地,基于起始地址和入参数据的层级信息确定第二地址包括:从入参数据中的起始地址处开始遍历,确定每一个节点的层级信息;判断遍历到的当前节点的层级信息中的层级值是否小于等于上一个节点的层级信息中的层级值;在当前节点的层级信息中的层级值小于等于上一个节点的层级信息中的层级值的情况下,将上一个节点在入参数据中的地址确定为第二地址。

5、可选地,在将第二地址确定为结束地址之前,该方法还包括:在目标值存在嵌套关系的情况下,判断目标值的嵌套关系中是否存在异常符号;在目标值的嵌套关系中存在异常符号的情况下,基于修正函数更新第二地址,得到更新后的第二地址;基于更新后的第二地址执行将第二地址确定为结束地址的步骤。

6、可选地,基于修正函数更新第二地址包括:将第二地址对应的目标值进行反转处理,并将反转处理后的目标值执行入栈操作,并获取入栈操作后的栈顶的第三地址;计算第三地址与预设值的差,得到更新后的第二地址。

7、可选地,在基于异常入参数据生成异常测试场景的测试用例之后,该方法还包括:执行测试用例,得到目标执行结果;将目标执行结果存入服务器的异常状态列表;在客户端获取到的目标接口的异常执行结果与目标执行结果相同的情况下,发出第一提示信息,其中,第一提示信息用于提示客户端异常。

8、可选地,在将目标执行结果存入服务器的异常状态列表之后,该方法还包括:在客户端获取到的目标接口的异常执行结果与目标执行结果不同的情况下,判断异常执行结果的异常原因是否为客户端异常;在异常执行结果的异常原因指示是客户端异常的情况下,将异常执行结果添加至异常状态列表;在异常执行结果的异常原因指示不是客户端异常的情况下,发出第二提示信息,其中,第二提示信息用于提示目标接口的服务器异常。

9、为了实现上述目的,根据本申请的另一方面,提供了一种测试用例生成装置。该装置包括:第一确定单元,用于确定目标接口需要测试的异常测试场景,并获取所述异常测试场景中的异常值;获取单元,用于获取所述目标接口的入参数据,并对所述入参数据中的每个键值对进行遍历,得到每个键值对中的键值以及所述键值在所述入参数据中的层级信息,其中,所述入参数据包含多组键值对,所述入参数据以多叉树结构组成,每组键值对中的键值对应所述多叉树结构中的一个节点,所述层级信息为所述节点在所述多叉树结构中的位置信息;第二确定单元,用于确定待测试的目标键值,并基于所述目标键值的层级信息获取目标值、所述目标值的起始地址和所述目标值的结束地址,其中,所述目标值为所述目标键值所属键值对中的值,所述起始地址为所述目标值在所述入参数据中首次出现的位置,所述结束地址为所述目标值在所述入参数据中最后出现的位置;替换单元,用于基于所述起始地址和所述结束地址将所述入参数据中的所有目标值替换为所述异常值,得到异常入参数据;生成单元,用于基于所述异常入参数据生成所述异常测试场景的测试用例。

10、通过本申请,采用以下步骤:确定目标接口需要测试的异常测试场景,并获取异常测试场景中的异常值;获取目标接口的入参数据,并对入参数据中的每个键值对进行遍历,得到每个键值对中的键值以及键值在入参数据中的层级信息,其中,入参数据包含多组键值对,入参数据以多叉树结构组成,每组键值对中的键值对应多叉树结构中的一个节点,层级信息为节点在多叉树结构中的位置信息;确定待测试的目标键值,并基于目标键值的层级信息获取目标值、目标值的起始地址和目标值的结束地址,其中,目标值为目标键值所属键值对中的值,起始地址为目标值在入参数据中首次出现的位置,结束地址为目标值在入参数据中最后出现的位置;基于起始地址和结束地址将入参数据中的所有目标值替换为异常值,得到异常入参数据;基于异常入参数据生成异常测试场景的测试用例,解决了相关技术中异常测试场景的测试用例生成效率低的问题。通过将异常测试场景中的异常值替换入参数据中的目标值生成异常入参数据,基于异常入参数据生成异常测试场景的测试用例,进而达到了提高异常测试场景的测试用例的生成效率的效果。



技术特征:

1.一种测试用例生成方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,基于所述目标键值的层级信息获取目标值、所述目标值的起始地址和所述目标值的结束地址包括:

3.根据权利要求2所述的方法,其特征在于,基于所述起始地址和所述入参数据的层级信息确定第二地址包括:

4.根据权利要求2所述的方法,其特征在于,在将所述第二地址确定为所述结束地址之前,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,基于修正函数更新所述第二地址包括:

6.根据权利要求1所述的方法,其特征在于,在基于所述异常入参数据生成所述异常测试场景的测试用例之后,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,在将所述目标执行结果存入服务器的异常状态列表之后,所述方法还包括:

8.一种测试用例生成装置,其特征在于,包括:

9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,所述程序运行时控制所述非易失性存储介质所在的设备执行权利要求1至7中任意一项所述的测试用例生成方法。

10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的测试用例生成方法。


技术总结
本申请公开了一种测试用例生成方法、装置、存储介质及电子设备。该方法包括:确定目标接口需要测试的异常测试场景,并获取异常测试场景中的异常值;获取目标接口的入参数据,并对入参数据中的每个键值对进行遍历,得到每个键值对中的键值以及键值在入参数据中的层级信息;确定待测试的目标键值,并基于目标键值的层级信息获取目标值、目标值的起始地址和目标值的结束地址;基于起始地址和结束地址将入参数据中的所有目标值替换为异常值,得到异常入参数据;基于异常入参数据生成异常测试场景的测试用例。通过本申请,解决了相关技术中异常测试场景的测试用例生成效率低的问题。

技术研发人员:周钰
受保护的技术使用者:天翼电子商务有限公司
技术研发日:
技术公布日:2024/3/21
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1