我一直在思考一个问题,如何做api测试才是覆盖率高的,准确的。
按我的理解api测试覆盖率可以分为以下几个层次 比如一个登陆接口
最低层次 1.返回的http状态码是正确的,也就是有返回值
中间层次 1.能够测试到不同场景,对不同场景的错误code覆盖 比如
{
code:"1001"
msg:"手机号码格式错误"
}
{
code:"1001"
msg:"密码错误"
}
高层次
- 能够对返回的很多值得类型和值做校验, 比如,能够校验name的值和类型,能够校验age的值和类型
{
code:200
data:{name:"tim",age:12}
}
在这里想听听大家的理解和大家做到了什么level
很好的问题,我这边的经验来说,和楼主的情况类似,写得最多的可能还是一些工具类的单元测试。同时问下楼主,BDD 还是 TDD?
@yort-feng 好奇在大公司是如何进行TDD和BDD的
我的经验是小团队如果用推行TDD或者BDD还是有点难度的,主要原因是产品迭代的速度要求不允许我们先写测试,我倒是好奇在小公司的各位是如何推行TDD或者BDD的
@yort-feng 我们是测试驱动开发,test case写好之后在进行开发,目前已经测试用例配置化了
@Billgo 这个必须需要有一个带头人,我们公司之前是我强推的,我最后写了一个工具,只用配置规则,不用特别去学习,比如,包含了所有请求信息和返回信息的校验规则
{
"name":"oneSting",
"data":[{
"name":"oneSting check type",
"request":{
"method":"get",
"url":"?type=one-string"
},
"response":{
"code": 200,
"name":{"type":"string","value":"jsoncheck"}
}
}]
}
@Rabbitzzc 这个还是需要看项目,但是前提是基本都有测试用例
建议使用eolinker看看,支持测试用例,零代码测试等功能 ~https://www.eolinker.com/
@wardennn thanks