接口设计的规范
接口设计一般在开发真正code之前,一般来说,前后端定义出接口返回之后,就各自code去了。但这里在接口设计方面往往存在一些问题,会对接口本身或者接口测试存在干扰:
- 接口设计缺少对异常情况的处理,甚至遇到不规范输入,异常值时,直接返回5xx;
- 接口的默认传参缺少/不生效,这往往是前后端开发对默认场景下参数的传值与实现未定义好;
- 接口性能方面评估,修改/新增一个接口,往往功能满足外,缺少对性能方面的评估,甚至,如果接口会被第三方使用,那么每次新接入的第三方的调用情况也需要评估(一个项目中,因为对后续新接入的第三方接口的调用频率没有评估到,一旦接口挂掉,那么调用该接口的所有项目几乎都不能“幸免”);
接口方面的规范,QA可以思考做如下方面的约束:
- 接口的传参一致性,比如对于分页,limit和offset的参数控制(同SQL中的含义);put/post方法参数提交一般在body中;
- 接口的异常处理,比如所有的异常处理有相应的error信息,不能直接抛出5xx;
- 接口的性能方面约束,比如对一个项目,或一些项目作出统一要求;
- 接口的完整文档,这里的文档包括:接口的功能,接口的传参,正常/异常返回,接口的使用条件/使用范围,接口的异常处理,接口的数据来源,接口被哪些项目调用+调用的频率,接口本身能承受的性能,第三方接入接口的步骤等等
ps:
GET
获取一个资源。所以服务器端不要用GET操作来改变服务器状态(进行写