接口自动化测试测试用例设计
1个回答
展开全部
浅谈接口自动化测试测试用例设计
一、 前言
很多中台项目,大部分为接口测试。为了使新入职的测试同事尽快融入项目,以及迭代开发中方便管理测试用例。完成该总结。
二、 测试用例设计思路
1、 接口类型概述及优先级
1) 提供给第三方调用的接口
2) 内部系统使用,核心功能接口
3) 内部系统使用,非核心功能接口
基本按照1)2)3)的顺序进行测试,特别情况除外
2、 单接口测试优先级
1) 优先测试正向测试用例,保证基本功能实现
2) 设计逆向测试用例,确保接口的健壮性
3) 满足前提条件的测试用例
4) 默认参数是否满足
5) 参数校验
6) 参数间联动关系
7)多参数错误处理的优先顺序校验
三、 设计分析
1、 满足前提条件的测试用例
测试目标接口需要满足前置条件才能成功获取数据。
例如:需要登录token,通过传入参数获取下游接口数据
2、 携带默认参数的测试用例
携带默认参数的测试用例仅需要设计一条,所有默认参数的字段都不填写,其他字段输入正常。
[if !supportLists]3、 [endif]参数校验
参数校验包含如下几方面:
[if !supportLists]1)[endif]输入参数是否为必须输入项
[if !supportLists]2)[endif]输入参数的类型
[if !supportLists]3)[endif]输入参数的枚举值校验
[if !supportLists]4)[endif]输入参数长度校验
以上测试用例最好根据字段一一校验,排除互相干扰
[if !supportLists]4、 [endif]参数间联动
有些参数见存在彼此制约的关系,根据实际情况设计测试用例
例如:A字段为1时,B字段一定为空。否则报错。
那么测试用例设计时应为:A字段为1时,B字段为空;A字段为1时,B字段不为空;A字段不为1时,B字段为空;A字段不为1时,B字段不为空;四条测试用例
这样基本覆盖所有分支流程。
[if !supportLists]四、 [endif] 测试用例实践操作
接口测试用例样例:
多条件查询接口
测试方法:使用robotFramework测试doubbo接口
协议请求方式:post
接口协议:JSON
消息请求列表
字段名数据类型默认值必须项备注
IDint 是长度为2
Tokenstring 是设备令牌
Statusstring 是1:正常
2:异常
typeint Status为1时,为必须输入项
sizestring 默认值
消息返回列表
字段名数据类型必须项备注
Codeint是正常:20000
异常:20001
Messagestring是
typeMessageint Status=1的所有ID
用例设计
NO. 测试内容 前置条件 输入参数 输出参数 用例属性
1目标数据为一条预置一条符合条件的数据Status=1,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
正向测试用例
2目标数据为多条预置多条符合条件的数据Status=1,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
正向测试用例
3 Token必须项检查 预置多条符合条件的数据Status=1,token输入为空,其他参数输入正常返回code=20001
typeMessage中返回为空
满足前提条件
4 Token正确性检查 预置多条符合条件的数据Status=1,token输入错误,其他参数输入正常返回code=20001
typeMessage中返回为空
满足前提条件
5 Status 必须项检查 预置多条符合条件的数据Status为空,其他参数输入正常返回code=20001
typeMessage中返回为空
参数校验
6 Status枚举预置多条符合条件的数据Status为1,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
参数校验
7 Status枚举预置多条符合条件的数据Status为2,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
参数校验
8 Status枚举预置多条符合条件的数据Status为3,其他参数输入正常返回code=20001
typeMessage中返回null
参数校验
9 Status=1,时联动校验预置多条符合条件的数据Status为1,type为空;其他参数输入正常返回code=20001
typeMessage中返回null
联动校验
10 Status!=1,时联动校验预置多条符合条件的数据Status!=1,type为空;其他参数输入正常返回code=20000
typeMessage中返回对应ID
联动校验
11 Status!=1,时联动校验预置多条符合条件的数据Status!=1,type不为空;其他参数输入正常返回code=20000
typeMessage中返回对应ID
联动校验
12 Size默认值输入校验预置多条符合条件的数据Size输入为空,其他参数输入正常返回code=20000
typeMessage中返回对应ID
默认值校验
13 Size默认值输入校验预置多条符合条件的数据Size输入不为空,其他参数输入正常返回code=20000
typeMessage中返回对应ID
默认值校验
14 ID 必须项检查 预置多条符合条件的数据ID为空,其他参数输入正常返回code=20001
typeMessage中返回为空
参数校验
15 ID 长度检查 预置多条符合条件的数据ID长度大于2,其他参数输入正常返回code=20001
typeMessage中返回为空
参数校验
16 破坏性测试预置多条符合条件的数据输入的参数类型错误请求未接收,返回404 稳定性测试
17 破坏性测试预置多条符合条件的数据输入的参数与提供的参数名称不一致请求未接收,返回404 稳定性测试
18 破坏性测试预置多条符合条件的数据输入的参数与提供的参数数量不一致请求未接收,返回404 稳定性测试
19 破坏性测试预置多条符合条件的数据输入的参数与提供的参数格式不一致请求未接收,返回404 稳定性测试
总结:自动化测试过程中会有一条自动化测试用例覆盖多种情况的可能(例如:正向测试用例与联动性验证的 Status=1,type输入不为空的测试用例重复,所以选择一条用例验证 。 ),以上的测试用例满足自动化的要求,手动测试过程中需要增加部分验证性的测试用例。且由于使用的测试工具特殊性,无需检查输入参数的类型。
一、 前言
很多中台项目,大部分为接口测试。为了使新入职的测试同事尽快融入项目,以及迭代开发中方便管理测试用例。完成该总结。
二、 测试用例设计思路
1、 接口类型概述及优先级
1) 提供给第三方调用的接口
2) 内部系统使用,核心功能接口
3) 内部系统使用,非核心功能接口
基本按照1)2)3)的顺序进行测试,特别情况除外
2、 单接口测试优先级
1) 优先测试正向测试用例,保证基本功能实现
2) 设计逆向测试用例,确保接口的健壮性
3) 满足前提条件的测试用例
4) 默认参数是否满足
5) 参数校验
6) 参数间联动关系
7)多参数错误处理的优先顺序校验
三、 设计分析
1、 满足前提条件的测试用例
测试目标接口需要满足前置条件才能成功获取数据。
例如:需要登录token,通过传入参数获取下游接口数据
2、 携带默认参数的测试用例
携带默认参数的测试用例仅需要设计一条,所有默认参数的字段都不填写,其他字段输入正常。
[if !supportLists]3、 [endif]参数校验
参数校验包含如下几方面:
[if !supportLists]1)[endif]输入参数是否为必须输入项
[if !supportLists]2)[endif]输入参数的类型
[if !supportLists]3)[endif]输入参数的枚举值校验
[if !supportLists]4)[endif]输入参数长度校验
以上测试用例最好根据字段一一校验,排除互相干扰
[if !supportLists]4、 [endif]参数间联动
有些参数见存在彼此制约的关系,根据实际情况设计测试用例
例如:A字段为1时,B字段一定为空。否则报错。
那么测试用例设计时应为:A字段为1时,B字段为空;A字段为1时,B字段不为空;A字段不为1时,B字段为空;A字段不为1时,B字段不为空;四条测试用例
这样基本覆盖所有分支流程。
[if !supportLists]四、 [endif] 测试用例实践操作
接口测试用例样例:
多条件查询接口
测试方法:使用robotFramework测试doubbo接口
协议请求方式:post
接口协议:JSON
消息请求列表
字段名数据类型默认值必须项备注
IDint 是长度为2
Tokenstring 是设备令牌
Statusstring 是1:正常
2:异常
typeint Status为1时,为必须输入项
sizestring 默认值
消息返回列表
字段名数据类型必须项备注
Codeint是正常:20000
异常:20001
Messagestring是
typeMessageint Status=1的所有ID
用例设计
NO. 测试内容 前置条件 输入参数 输出参数 用例属性
1目标数据为一条预置一条符合条件的数据Status=1,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
正向测试用例
2目标数据为多条预置多条符合条件的数据Status=1,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
正向测试用例
3 Token必须项检查 预置多条符合条件的数据Status=1,token输入为空,其他参数输入正常返回code=20001
typeMessage中返回为空
满足前提条件
4 Token正确性检查 预置多条符合条件的数据Status=1,token输入错误,其他参数输入正常返回code=20001
typeMessage中返回为空
满足前提条件
5 Status 必须项检查 预置多条符合条件的数据Status为空,其他参数输入正常返回code=20001
typeMessage中返回为空
参数校验
6 Status枚举预置多条符合条件的数据Status为1,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
参数校验
7 Status枚举预置多条符合条件的数据Status为2,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
参数校验
8 Status枚举预置多条符合条件的数据Status为3,其他参数输入正常返回code=20001
typeMessage中返回null
参数校验
9 Status=1,时联动校验预置多条符合条件的数据Status为1,type为空;其他参数输入正常返回code=20001
typeMessage中返回null
联动校验
10 Status!=1,时联动校验预置多条符合条件的数据Status!=1,type为空;其他参数输入正常返回code=20000
typeMessage中返回对应ID
联动校验
11 Status!=1,时联动校验预置多条符合条件的数据Status!=1,type不为空;其他参数输入正常返回code=20000
typeMessage中返回对应ID
联动校验
12 Size默认值输入校验预置多条符合条件的数据Size输入为空,其他参数输入正常返回code=20000
typeMessage中返回对应ID
默认值校验
13 Size默认值输入校验预置多条符合条件的数据Size输入不为空,其他参数输入正常返回code=20000
typeMessage中返回对应ID
默认值校验
14 ID 必须项检查 预置多条符合条件的数据ID为空,其他参数输入正常返回code=20001
typeMessage中返回为空
参数校验
15 ID 长度检查 预置多条符合条件的数据ID长度大于2,其他参数输入正常返回code=20001
typeMessage中返回为空
参数校验
16 破坏性测试预置多条符合条件的数据输入的参数类型错误请求未接收,返回404 稳定性测试
17 破坏性测试预置多条符合条件的数据输入的参数与提供的参数名称不一致请求未接收,返回404 稳定性测试
18 破坏性测试预置多条符合条件的数据输入的参数与提供的参数数量不一致请求未接收,返回404 稳定性测试
19 破坏性测试预置多条符合条件的数据输入的参数与提供的参数格式不一致请求未接收,返回404 稳定性测试
总结:自动化测试过程中会有一条自动化测试用例覆盖多种情况的可能(例如:正向测试用例与联动性验证的 Status=1,type输入不为空的测试用例重复,所以选择一条用例验证 。 ),以上的测试用例满足自动化的要求,手动测试过程中需要增加部分验证性的测试用例。且由于使用的测试工具特殊性,无需检查输入参数的类型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
北京磐安云创科技有限公司_
2023-01-31 广告
2023-01-31 广告
价格只是购买产品或服务过程中的一项指标,如果单纯只比较价格,其实考虑并不是那么周到。价格、质量、服务、口碑、是否合适自己的情况等都需要一起考虑。更多详尽准确的信息可以找北京磐安公司。北京磐安公司是一家专业从事高新软件的技术公司,公司致力于向...
点击进入详情页
本回答由北京磐安云创科技有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询