【基础】接口测试入门篇笔记
一、接口测试描述定义
1)什么是接口
接口就是有特定输入和特定输出的一套逻辑处理单元,规定要程序做什么,但不在其中实现。
2)什么是接口测试
接口测试,其实就是验证接口内部处理逻辑是否正确;我们既要保证单接口的正确性,也要保证接口的业务逻辑正确性,主要体现在两方面:
正向测试补充:对于接口来说就是接收正确的request入参,检查非法异常request入参返回结果正确性
二、接口测试测试点
我们通过流程图的形式描述接口测试点
结论:接口测试可以关注于服务器逻辑验证,而UI测试可以关注于页面展示逻辑及界面前端与服务器集成验证
三、接口测试用例设计
1)用例设计过程
首先熟读需求说明书和接口设计文档,了解每一个接口的具体使用场景,
其次根据第一步的需求说明和接口文档编写测试用例(测试要点),
最后了解需求变更导致的用例(测试要点)变化应该及时重新维护完善用例
2)用例构思结构
1、基本功能测试(业务测试):
根据需求文档和接口设计文档的转译,需要清楚业务流程规则和每个接口的使用场景方式,设计符合业务逻辑和接口使用场景的用例。
2、边界分析测试:
在基本功能的基础上,开始考虑接口输入输出参数的影响。主要采用等价类划分、边界值分析方法等。
l 覆盖所有的必选参数
l 组合可选参数
l 参数有无、或为null
l 参数的顺序、个数、类型
l 参数类型数值大小、输入的数值的范围
l 参数字串长短,Null-max-max+1
l 参数包含特殊字符
3、参数组合测试:
在边界分析的基础上,考虑输入条件的各种组合、输入条件之间的相互制约关系。主要使用因果图法进行用例设计。
4、异常情况测试:
接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何异常都进行处理,比如:某个接口需要先登录获取 sesssion,如果直接调用该接口应该给出相应提示。
5、接口安全测试:
主要包含以下小节
1)接口参数不能是密码明文。
2)需要输入密码做授权校验的操作接口,必须有次数限制,防止对方暴力破解。
3)接口不能返回和功能无关的字段,尤其是密码等敏感字段。
4)不能发布没有使用的接口。
5)控制台和日志均不能打印出密码明文。
6)用户不能进行自己无权限的操作
7)复杂事务流程不能跳过某项流程
8)上传文件接口,如果只能上传图片,不可以上传其他文件或者伪装成图片的可执行文件
9)接口不可以有可sql注入的机会
10)写接口需要防止用户传入字符过长,造成溢出
11)写接口不能写入可造成XSS攻击的内容
参考文章详情:http://www.51ste.com/share/det-512.html
6、接口性能测试:
这个比较容易区分,虽然都需要做性能测试,但关注点确大不相同。
App端性能主要关注与手机相关的特性,如手机cpu、内存、流量、fps等
接口性能主要关注接口响应时间、并发、服务端资源的使用情况等。两种测试时的策略和方法都有很大区别,
所以这部分内容是需要分开单独进行测试的,理论上来说这也是不同的部分。
四、接口测试涉及到的工具流程
五、接口测试质量评估标准
接口测试的质量通常可以通过以下指标进行评估:
1、业务功能覆盖是否完整;
2、业务规则覆盖是否完整;
3、参数验证是否达到要求(边界、业务规则);
4、接口异常场景覆盖是否完整;
5、接口的所有参数是否覆盖
6、接口覆盖率是否达到要求;
7、代码覆盖率是否达到要求;
8、性能指标是否满足要求;
9、安全指标是否满足要求。
六、接口测试总结
接口测试的执行方式、设计思维都和业务测试不完全一致,它们既有交集又有差异。
交集部分:
1)两者都会涉及到业务逻辑测试
差异部分:
1)接口测试更加关注数据驱动的业务流程,后端返回的数据是否正确,接口是否正常
2)功能测试侧重点在于前端ui界面,数据展示,图形界面,业务逻辑操作等
本文来自博客园,作者:橘子偏爱橙子,转载请注明原文链接:https://www.cnblogs.com/xfbk/p/15562871.html