浅谈接口测试
1.首先什么是接口呢?
我们访问一个网站的时候 网站的信息是在数据库中存在的,但是系统不会把访问数据库的权限给我们,只能给我们提供一个接口 供我们访问。其实接口就是我们从数据库中取数据或者插入数据。
接口分为系统内部接口和外部接口:内部接口就是系统内模块和模块之间交互的接口,外部接口就是系统和系统之间交互的接口。另外一点 前端和后端的交互也是通过接口。
2.什么是接口测试呢?
接口测试就是比功能测试还简单的功能测试,区别就是功能测试是在页面上点点点,而接口测试就是需要开发人员给出接口文档 接口文档中包含:url 、请求方式、请求参数。我们可以借助工具来进行测试。
其中最常用的接口请求方式就是 get 、post、json 等。
如果是get请求 不需要借助任何工具,直接在浏览器中输入url按照url?参数=值&参数=值的形式就可以就可以
http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑&sex=男
get和post的区别是什么呢:
1、get请求只有请求头,没有请求体,它的参数是写在url里面
2、get请求一般用来向服务器获取数据,post请求呢用来向服务器发送数据
3、get请求有参数长度限制,post请求没有
4、get请求没有post请求安全
接口测试的流程:1分析需求
2.开发提供接口文档
3.根据接口文档编写用例
4.评审用例
5.开始测试并提交测试报告
接口用例怎么写呢?一条 接口用例包含:项目、模块、用例id、用例描述、请求url、请求方式、请求数据、预期结果、请求报文、返回报文。
接口测试用例怎么设计?我们要从以下几个方面去考虑用例的设计:1.基本功能测试就是设计出符合正常业务场景的用例
2.边界值分析:覆盖所有必选参数、参数有无或者null、参数组合在一起、参数的个数、输入参数的顺序、参数数值大小、参数中包含特殊字符
3.幂等级测试(假如登录接口 我连续点击登录会提示什么)
4.并发测试
5.事务性测试
6.大数据量测试
7.环境异常测试
基本上设计用例的时候考虑到上面七个点基本就可以了。
执行接口测试用例的时候我们需要注意的点:
1、接口返回数据
a) 返回json数据的层次关系是否与文档一致
b) 数值类型数据: 特别是金额,负数、小数转为json输出是否正确
c) 接口返回数据与接口文档一致
d) 接口返回数据和数据库一致
e) 接口返回数据符合业务逻辑(比如转账功能,从一个账户扣款,另一个要增加相应金额)
f) 对于列表,应该根据请求参数,也应该验证列表的长度是否与期望值一致
g) 负面测试用例,应验证ERROR INFO是否与实际相匹配
2.
2、数据库
a) 接口传入数据与插入DB的数据一致性:
b) 前端某个操作涉及后台DB多张表时,每张表都要检验数据正确性。
3、安全层面:
a) 后端接口返回给前端的数据包含敏感信息(如:姓名、身份证号、卡号、手机号、加密后的密码等)时,不能明文传输,需要加密。
b) 后台打日志要求对于敏感信息不能打出,或者进行加星号脱敏后打出,具体有:
1) 身份证号,用户密码(含加密后),用户手机号码,用户姓名,银行卡号
2) 身份证号码脱敏字段为生日时,生日在日志中不能打出
4、性能层面:
a) 接口响应时间: 接口处理数据的时间也是测试需要关注的一个点。牵扯到内部就是算法与代码的优化
b) 接口数据包大小:接口传递的数据包大小也需要关注,特别是返回给前端的接口,要把不同接口数据包大小需要做限制。
c) 并发承载能力:多用户并发时接口可以承载合同中的并发量。
以上信息参考了老师的上课讲的资料和文档。