转载:http://blog.sina.com.cn/s/blog_13cc013b50102w1ot.html
设计思路
优先级-- 针对所有接口
- 暴露在外面的接口,因为通常该接口会给第三方调用
- 供系统内部调用的核心功能接口
- 供系统内部调用非核心功能接口
优先级--针对单个接口
1,正向用例优先测试,逆向用例次之(通常情况,非绝对);
2、是否满足前提条件 > 是否携带默认参值参数 > 参数是否必填 > 参数之间是否存在关联 > 参数数据类型限制 >参数数据类型自身的数据范围值限制
设计分析
通常,设计接口测试用例需要考虑以下几个方面:
-
是否满足前提条件(有些接口需要满足前置条件,才可成功获取数据)
举例: 需要登陆Token- 逆向用例:对对否满足前置条件(假设为n个条件),设计0~n条用例
-
是否携带默认值参数
- 正向用例:带默认值的参数都不填写,不传参,必填参数都填写正确且存在的“常规”值,其它不填写,
-
业务规则、功能需求
根据实际情况,结合接口参数说明,可能需要设计n条正向用例和逆向用例 -
参数是否必填
- 逆向用例:针对每个必填参数,都设计1条参数值为空的逆向用例
-
参数数据类型自身的数据范围值限制
- 正向用例:针对所有参数,设计1条每个参数的参数值在数据范围内为最大值的正向用例
- 逆向用例:
1.针对每个参数(假设n个),设计n条每个参数的参数值都超出数据范围最大值的逆向用例
2.针对每个参数(假设n个),设计n条每个参数的参数值都小于数据范围最小值的逆向用例
覆盖计算:
1.主流程测试用例:正常的主流程功能校验;
2.分支流测试用例:正常的分支流功能校验。
3.异常流测试用例:异常容错校验
实践操作:
举例:获取订单列表接口(多条件)获取店铺指定期间的所有订单列表(多种条件组合),默认根据日期倒序排序
接口方向:
客户端 -> 服务端
接口地址:
$xxx_Home/xxx/鉴权前缀/xxxxx/getAllOrderList
接口协议:
JSON
HTTP请求方式:
GET
消息请求字段:



响应字段:
字段元素如下:

明细列表对象字段元素定义:


成功的,返回的json包:
{
"code": 0,
"msg": "查询订单列表成功!",
"data": {
"pNo": 1,
"rCount": 5,
"orderTotalPriceTotal": 23.3,
"platformTotalIncomePriceTotal": 0,
"lst": [
{
"orderTitle": "kouxiangtang",
"settlePrice": 15.89,
"cashTotal": 15.89,
"posTotal": 0,
"onLineTotal": 0,
"orderTime": "2015-09-29 13:44:26",
"orderId": "12345679282015092913440268141",
"mobile": "13424183952"
},
{
"orderTitle": "红塔山",
"settlePrice": 7.5,
"cashTotal": 7.5,
"posTotal": 0,
"onLineTotal": 0,
"orderTime": "2015-09-29 11:37:58",
"orderId": "12345679282015092911370588273"
}
]
}
}
测试用例:




网友评论