多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)

接口测试:
cms: 网站 http://cms.duoceshi.cn/cms/manage/login.do

1、接口测试?

定义:测试系统和系统之间的数据交换,和模块与模块之间的数据交互。

案例1:系统和系统,多测师线上官网课程,开通微信支付。(多测师系统,微信系统交互)
案例2:模块和模块的交互:多测师的官网论坛, 注册模块,登录模块,发帖模块 之间的数据交互 。(注册和登录 两个,模块直接的交互)

案例3:前端输入数据(ui页面设置)通过接口传输==后端逻辑(判断)
接口理解为:一个管道,

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第1张图片
接口图片
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第2张图片
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第3张图片
接口前后端的联调用
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第4张图片

2、为什么做接口?

(1)提前进入测试,(早进入测试,早发现bug,提高工作效率)

(2)能发现功能测试无法测试的场景
(案例:页面限制金额的输入:整数,前端输入不了负数,在接口中测试,在参数中输入复数)

(3)节约时间
(案例:接口测试通了,功能也是正常,做接口测试效率高,你在测试功能页面上的问题)

1、顶层:功能测试一般是在ui界面形成以后测试

2、中间: api 动态数据是通过api传到数据库中获取资源(静态资源和动态资源)

3、底层:代码

越低层,要求越高

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第5张图片
ui自动化测试在什么时候?
在功能测试和接口测试以后,用来回归测试。
ui自动化主要在回归,项目的稳定和版本不是频繁改动下我们可以做ui自动化

接口测试在什么时候开始?
不同公司的情况分三种:
(1)第一种:(功能测试前)ui界面未形成之前,后端代码完成,测试接口,一定要有环境,开发提测。
(2)第二种:(功能测试时)任务:功能 和接口分开中,有专门人做接口,测试功能的时候,同时进行。
(3)第三种:功能测试完以后,在进行接口测试(功能无法测试的场景),检验项目的正确性

公司具体情况?
在企业中,前端与后端是独立开发的,最终的项目会进行前后端的接口联调,来确保
后端的数据能正常的在前端页面展示,因此需要确保接口功能能正常的传输数据

  1. 有些公司页面未完成时(项目周期长,接口多),需要提前去做测试接口
  2. 有些公司页面做完后,接口和功能一起做;
  3. 接口一般先由开发进行自测,然后再交由测试进行验证;
    注意:开发测试接口以接口调通的问题 和测试测试接口 校验数据 正确性是否一致;
    接口联调:
    前后端开发,我们前端开发好了,后端的逻辑代码开发好了,就合并代码,部署到环境中,在前端登录,查看是否有数据返回,
    接口联调一般在冒烟测试的提测之前,
    接口联调一般不用我们测试,开发做的

联调测试性质:集成测试,又称组装测试、联合测试、联调测试、子系统测试、部件测试。不同的称呼而已,侧重点在于模块间接口的正确性、各模块间的数据流和控制流是否按照设计实现其功能、以及集成后整体功能的正确性。
所以联调测试涉及面广,要掌握的知识面广。
联调测试工作内容:联调测试介于白盒、黑盒之间,可以称为灰盒测试,所以需要熟悉白盒、黑盒。
联调测试的关注点是模块间的接口。至于模块怎么划分要根据具体项目来有针对性地划分。
拓展知识:
桩,mock ,功能(模拟目前没有实现场景)
mock测试,源自于英文单词fake,意为假的测试(参考链接:https://www.cnblogs.com/xiaolehua/p/13686943.html)

=============================================================
接口基础知识:

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第6张图片

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第7张图片

tcp/ip(协议)

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第8张图片
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第9张图片

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第10张图片

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第11张图片
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第12张图片
重点:(背下来)

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第13张图片

http和https建立在tcp和udp协议上
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第14张图片

常见的协议:http 和https
http的协议:

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第15张图片

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第16张图片

https: 安全协议多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第17张图片

https=http+tls/ssL
一、https和http的区别?(面试题)
(1)端口号不一样:http是80,https是443
(2)https是加密传输,http不加密传输
(3)http页面相应速度比https快
(4)https比http更耗费服务资源

三次握手,四次挥手 : 经典知识点(必须掌握)
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第18张图片

三次握手
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第19张图片

(握手)建立连接:三次握手

例子:1、对话案例 2、恋爱案例

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第20张图片

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第21张图片

(挥手)断开连接:四次挥手

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第22张图片

例子:关键:双方相互断开所以需要四次

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第23张图片
协议和端口:
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第24张图片
拓展协议和端口号:
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第25张图片

常用的接口测试工具:
(1)fiddler 抓包工具
(2)postman接口
(3)jmeter接口
(4)python中request库做接口
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第26张图片

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第27张图片

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第28张图片

=================================================================================
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第29张图片

=================================================================================
接口测试的流程:按下面方式
知识点:接口是开发开发,开发根据需求来开发项目,开发拿到需要,自己开发接口,开发接口,输出接口文档

接口测试:
1、 拿到接口文档(开发编写) 有就参考接口文档,没有接口,自己抓接口,使用抓包工具,
2、编写接口用例(入参,返回参),导入用例管理工具
3、执行接口测试
4、bug管理工具提bug
5、接口测试报告

面试题:
(一)接口测试流程?
1、拿到接口文档,
2、编写接口用例
3、部署环境(有环境就不需要)
4、接口工具(postman,jmeter,python中request 其中一种)
5、根据文档填写具体的参数
6、执行接口
7、发现bug,提给开发,开发修复
8、在验证
9、通过以后,输出接口测试报告
(二)如果没有接口文档?
使用接口抓包工具,自己抓取接口
方法一:fiddler
方法二:f12

============================================================================
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第30张图片
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第31张图片
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第32张图片
get请求:
http://cms.duoceshi.cn/cms/manage/loginJump.do?userAccount=admin&loginPwd=123456
post请求

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第33张图片
post请求:
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第34张图片
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第35张图片

主要:post ,get ,(次要put,delete)(重点)
get和post区别:

(1)get请求无消息体,只能携带少量数据,而且不安全

     post请求有消息体,可以携带大量数据,且安全

(2)携带数据的方式:

get请求将数据存放在url中

post请求将数据存放在消息体中

(3)get方式提交的数据最多只能有1024个字节,而post则没有限制

面试题:post和get 区别?

=============================================

url 统一资源标识符
url:http://cms.duoceshi.cn/cms/manage/index.do
uri统一资源定位符
cms/manage/index.do
urn 统一资源名称
http://cms.duoceshi.cn/
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第36张图片

=========================================

cookie和session和token了解(重点)

cookie:cookie是有服务器生成,发送给浏览器,浏览器把cookie以kv形式保存在某个一个路径下的文本文件内,下一次请求同一个网站时会把cookie发送给服务器;

coolkie的数据存放在浏览器上,所以浏览器加入了一些限制,确保cookie不会被恶意使用,

同时不会占据太多磁盘空间,所以每个域的cookie的数量是有限的。

cookie是一个非常具体的东西,指的就是里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。

备注:单个cookie不能超过4k,很多浏览器限制一个站点最多保存20个cookie

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第37张图片

session:就是一个会话,服务器给每个客户端一个身份标识,作为识别,浏览器一般用cookie,

服务器使用seeion把用户的信息临时保存在服务器上,用户离开网站后session会被销毁。

这种用户信息存储方式相对cookie更安全,但如果web服务器做了负载均衡,session请求另一台服务器时会丢失。

个人建议:登录信息,交易信息等保存在session中,其他信息放在cookie中

token:token是客户端首次登陆时,服务端生成的一串字符串,再次登陆只需要token即可,无需用户名和密码。(qq登录一次,有记录账号和密码功能)

最简单的toeken组成:uid(用户唯一的身份标识)time(当前时间戳)sign(签名)等

token:目的是减轻服务器压力,减少频繁的查询数据库,使服务器更加健壮。

token原理:

(1)第一次登陆成功以后,服务器就产生一个token值,这个token值会被服务器保存,同时将token发送给客户端,

(2)客户端拿到token值要进行保存,

(3)等再次发起客户端网络请求后,再将请求中tonken值会发送给服务器。

(4)服务接收到客户端的请求后,会进行token值对比。

结果1:一致,登录成功,处于登录状态

结果2:不一致,信息失效,需重新登录

结果3:若不在服务中,处于未登录状态

常用的http状态码(重点,)
多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第38张图片

同步接口:

发送一个请求必须要等到响应结果才能发起下一个接口请求(比如:绑定银行卡,支付接口)

异步接口:

发送一个请求不需要等到响应结果就能发送下一个就看请求(借款接口,)

=========================================================================

拓展知识(一):
web接口请求简单鉴权机制

多测师肖sir_高级金牌讲师__接口测试之基本介绍(1)_第39张图片

你可能感兴趣的:(接口测试专栏)