关于接口测试的那些事儿

关于接口测试的那些事

1 大家面试时,会被问到接口测试怎么做?或者给你一个接口怎么测试?哈哈,不要慌,今天小乔来给你们解答

    首先我们不要着急回答问题,我们先搞清楚为啥有接口?

    2 接口是实现前后端数据交互的通道,就是说,前端获取后台的数据是通过接口完成,后台将数据返回给前端,也是通过接口完成的,我们来看下面这个数据交互图:

   3  从这个前后端的数据交互图来看,我们可以发现,接口的作用相当于一个桥梁,前后端的数据交互通过这个桥梁进行

4 所以我们需要掌握的知识点:

    1 接口的理解

    2 http 协议

    3 网络协议(tcp和ip四层)的理解

    4 http 的 请求报文格式,响应报文格式

5 好了,我不装逼 了,直接上干货吧(预知后续的精彩,请听下期)

你们拿到一个产品给的功能需求文档之后,是不是要分析需求文档?分析完了后再去写测试用例,再评审用例,再去执行测试用例?

那么接口测试一样的,我们也会拿到一份后端研发给的接口需求分档,然后我们分析接口需求文档,看一些入参参数有哪些,参数之间有没有关联,参数是否是必填项,参数有哪些长度限制,比如之前做的登录接口,注册接口和充值接口,首先登录接口有用户名和密码,那我结合接口文档考虑一下登录名和密码正确,登录名和密码错误,在考虑一个组合场景,用户名正确和密码错误等等,注册接口也是这么考虑用等价类,边界值,判定表去分析接口;

分析完了后,我们公司用的是Jmeter 去做的接口测试,按照接口文档里面的入参条件,添加一个http请求填写http协议,填写服务器地址,填写登录的路径,先测试正常的场景,完了之后在按照用例设计的测试异常的场景,添加断言,添加查看结果树查看结果

在测试时,像接口之间需要传参,我们首先要搞清楚是需要登录接口的cookie 值鉴权,如果是在同线程组,那么就在登录接口通过添加边界值提取器,设置变量名,设置左边界和右边界来取登录的cookie值,哪个接口要用,就在哪个就接口里面去调用就行,通过在需要调用的接口下面添加http 信息头管理器,通过${变量名}来引用这个;那如果是跨线程组,我们就在的登录接口下面将提取的cookie 值设置为全局变量,通过在登录接口里面用函数助手 _setproperty给这个cookie 值生成一个全局变量,然后我们将生成的 变量值放在哪里呢?我们在登录接口内添加一个 beanshell取样器来存放这个值,然后后面哪个接口要用,我们就在哪个接口下面添加一个http 信息头管理器,通过函数助手_property 将cookie 变量 生成的值,放在http 信息头管理器的入参参数后面去调用。

我们也会做一些参数化的设置去维护脚本,1  像服务器ip地址,协议,端口号,编码格式这些,我会用配置元件里面的 http 请求默认值去设置默认值,然后再添加一个用户自定义变量去设置为变量,后面哪个接口要用,通过${变量名}去调用,就行,这样做脚本就好维护,2  像注册的用户名和密码,手机号等一些我也可以用随机函数随机生成值,在用户自定义变量去将随机值设置成变量,后面哪个接口要用,就通过${变量名}去调用就行了;

像连接数据库的操作,之前我做的接口有一个获取验证码接口会用到数据库,需要从数据库里面去拿手机验证码,首先我们在测试计划里面导入一个jar包连接数据,在测试计划里面添加配置元件JDBC connection confignation 设置连接数据库,完了之后,哪个请求需要用数据库的数据,就在哪个接口下面添加一个取样器 jdbc request 通过写入 sql 语句去查询就行,然后最后在做断言 

6 好了,,,装逼完毕,我不在装逼了,下一期讲解http 协议相关的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容