资讯动态

接口测试之基本介绍

发布时间:2026/10/14 9:23:49 来源:尧图企业网站定制
接口测试之基本介绍1、接口测试接口测试也叫api测试定义测试系统和系统之间的数据交换模块与模块之间的数据交互程序与程序之间的数据交互如 http://cms.duoceshi.cn/manage/loginJump.do登录接口http://49.233.201.254:8080/cms/manage/loginJump.do 查询用户接口http://49.233.201.254:8080/cms/manage/findCategoryByPage.do 查询栏目2、为什么做接口测试1当界面还没有开发出来时测试人员可以做接口测试提前介入测试2节省时间3测试一些功能测试测试不到的场景比如接口可以输入金额的负数前端做限制不能输入负数测试后端有没有做校验3、如何做接口测试通过代码或接口测试工具进行接口测试工具postmanjmeter、apifox代码pythonrequest、抓包工具fiddler、f12、chalrs4、在公司中具体情况1前台开发和后台开发是独立进行的一个项目是由前后台组成最终我们要进行前后台联调这个时候我们就要使用接口前后台联调前我们需要对不同的接口测试。2第三方接口测试比如支付宝、微信支付如自己的系统和其他系统合并5、什么是联调测试也叫联合调试测试定义多个独立开发的模块接口系统服务第三方依赖各自完成的单元测试单模块自测试后把所有部分拼凑到一起验证彼此之间数据交互接口调用协议传参业务流程串联是否流程逻辑是否一致的测试过程6、在工作中接口测试对方还没有开发完成我们开发和测试有一些无法实现的场景比如a公司b公司对接。开发开发的过程中通过加测试来模拟1桩开发写桩2mock 假测试二、接口测试基础网络基础1、网络的概念网络信息传输交换、接收、共享的虚拟平台通过它把个点、线、面的信息联系在一起从而实现资源共享。如笔记、视频、课件资源共享我发送课件qq你们接受你们作业发出来2、网络的四要素1有独立的计算机如每人一台电脑手机、平台2通讯设备和通讯线路如网络wifi、数据通讯设备猫、光纤、路由3网络如有网络开通数据4实现资源共享如我能发课件你们能发作业3、网络的发展阶段1远程终端连接 20世纪60年代初 xshell或linux2局域网 20世纪70年代中 校园网3广域网 20世纪80年代 跨城市4信息高速阶段 视频光纤4、服务模式isp 网络业务提供商电信移动联通广电icp 网络内容提供商 新浪、腾讯、抖音5、网络的分类1按覆盖范围分局域网城域网广域网2按拓扑结构总线型、环型、星型、网状型3按传输介质分 熟悉有线网、无线网、光纤网6、网络协议tcp/ip重要1什么是tcp和ip协议文件传输协议规定的一种计算机语言2tcp协议重点a、5层协议国内物理层数据链路层、网络层、传输层、应用层b、7层协议国际物理层数据链路层、网络层、传输层、(会话层、表示层、应用层)7、http协议的讲解1http 协议是一个超文本协议是用于万维网服务器传输超文本到本地浏览器的传送协议http协议的端口号802http协议的原理http在客户端和服务端上浏览器作为http客户端通过url向http服务器发送请求服务器接收到请求后在向客户端发响应信息8、https协议详解定义超文本传输安全协议web服务器存在http和https两种通讯方式http对于传输采用不加密的方式https是在数据传输的过程中需要用ssl/tls对数据进行加密和解密httpshttptls或ssl 端口号4439、https和http的区别面试题1端口号不一样: http端口号80 https是4432https是加密传输http是不加密传输3http页面响应速度要比https快4https比http更耗费服务资源5定义不一样http 是超文本传输协议https是超文本安全传输协议10、tcp 传输控制协议1三次握手 tcp建立连接定义第一次握手建立连接时客户端发送SYN请求同步包到服务器并进入SYNSENT请求连接状态等待服务器确认第二次握手服务器收到syn包必须确认客户的SYNX1同时自己也发送一个SYN包syny即SYNACK包此时服务器进入SYN_RECV(SYN派道)状态第三次客户端收到服务器的SYNACK包向服务器发送确认包ACKy1此包发送完毕客户端和服务器进入ESTABLISHEDTCP连接成功状态完成三次握手。客户端与服务器才正式开始传送数据理想状态下TCP连接一旦建立在通信双方中的任何一方主动关闭连接之前TCP连接都将被一直保持下去如通话甲乙两个人甲你的到吗 乙听到了你能听到吗 甲我能听到我们可以通话2四次挥手定义断开一个TCP连接则需要“四次挥手”第一次挥手主动关闭方调用close会发送一个长度为O的数据包以及FIN结束标志用来关闭主动方到被动关闭方的数据传送告诉被动关闭方我已经不会再给你发数据了但是此时主动关闭方还可以接受数据第二次挥手被动关闭方收到FIN包后发送一个ACK给对方确认序号为收到序号1第三次挥手被动关闭方发送一个FIN用来关闭被动关闭方到主动关闭方的数据传送也就是告诉主动关闭方我的数据也发送完了不会再给你发数据了。第四次挥手主动关闭方收到FIN后发送一个ACK给被动关闭方确认序号为收到序号1至此完成四次挥手11、协议和端口一台电脑会有65536个端口计算是由256*256得出端口号从0开始到65535.通常用户能够访问到的网页叫做公网每个公网会有一个固定的IP这个IP就会有对应的65536个端口其中的每个端口可能对应其中一个内网的IP这时的内网IP又会分为65536个端口。1、公认端口baiWell Known Ports从0到1023它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如80端口实际上总是HTTP通讯。2、注册端口Registered Ports从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口这些端口同样用于许多其它目的。例如许多系统处理动态端口从1024左右开始。3、动态和/或私有端口Dynamic and/or Private Ports从49152到65535。理论上不应为服务分配这些端口。实际上机器通常从1024起分配动态端口。但也有例外SUN的RPC端口从32768开始。比如msyql 3306http80https:443pop3110smtp 邮件传输协议 21xshell22tomcat808012、接口常用的工具1fiddler 抓包软件也是一个调试工具2postman 接口工具3jmeter 接口工具4charles mac系统抓包工具5apifox 接口测试工具13、接口的类型有哪些1http接口 我们讲2rpc接口3rmi接口4webservice 接口5restful接口14、接口测试的流程a有接口文档1接口文档开发如果接口文档参考接口文档没有就是自己去抓包2根据获取的接口根据入参和响应参数进行编写接口用例3接口测试用例评审4接口测试用例导入用例管理工具禅道5搭建好测试环境6使用接口工具或代码去调试接口7有bug通过bug管理工具提bug给开开发修改测试验证8测试完后输出接口测试报告b:没有接口文档1通过抓包工具抓取接口2根据获取的接口根据入参和响应参数进行编写接口用例3接口测试用例评审4接口测试用例导入用例管理工具禅道5搭建好测试环境6使用接口工具或代码去调试接口7有bug通过bug管理工具提bug给开开发修改测试验证8测试完后输出接口测试报告14、f12抓取接口fnf12 开发者工具1、查看接口 例如cms登录接口urlhttp://cms.duoceshi.cn/cms/manage/index.do2、按fn123、找到接口后在分析接口General部分Request URL:资源的请求url # (重点)Request Method:HTTP方法 方式Status Code:响应状态码200(状态码) OK301 - 资源网页等被永久转移到其它URL404 - 请求的资源网页等不存在500 - 内部服务器错误Response Headers:响应头信息Content-Encoding:gzip 压缩编码类型Content-Type:text/html 服务端发送的类型及采用的编码方式 入参格式Date:Tue, 14 Feb 2017 03:38:28 GMT 客户端请求服务端的时间Last-Modified:Fri, 10 Feb 2017 09:46:23 GMT 服务端对该资源最后修改的时间Server:nginx/1.2.4 服务端的Web服务端名Transfer-Encoding:chunked 分块传递数据到客户端Response Headers:Accept:客户端能接收的资源类型Accept-Encoding:gzip, deflate(客户端能接收的压缩数据的类型)Accept-Language:en-US,en;q0.8 客户端接收的语言类型Cache-Control:no-cache 服务端禁止客户端缓存页面数据Connection:keep-alive 维护客户端和服务端的连接关系Cookie:客户端暂存服务端的信息Host:www.jnshu.com 连接的目标主机和端口号Pragma:no-cache 服务端禁止客户端缓存页面数据2、接口组成部分url : 请求协议 ip接口路径如http://49.233.201.254:8080/cms/manage/loginJump.do3、a、接口的请求方法get 常用post常用putdeleteb、get和post请求的区别1get的请求数据在地址栏上post在请求数据在body中2get请求的安全性要低于post请求3get请求数据量比较小post请求量相对于更大4、响应状态码重点常用的状态码必须记下来常见的HTTP状态码200 - 请求成功301 - 资源网页等被永久转移到其它URL200和304都可以认为请求成功200还要readystatus为4这两个符合就可以去加载了404 - 请求的资源网页等不存在请求故障500 - 内部服务器错误服务端故障HTTP状态码分类HTTP状态码由三个十进制数字组成第一个十进制数字定义了状态码的类型后两个数字没有分类的作用。HTTP状态码共分为5种类型HTTP状态码分类1 信息服务器收到请求需要请求者继续执行操作2 成功操作被成功接收并处理3 重定向需要进一步的操作以完成请求4 客户端错误请求包含语法错误或无法完成请求5 服务器错误服务器在处理请求的过程中发生了错误HTTP状态码列表:100 Continue 继续。客户端应继续其请求101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议例如切换到HTTP的新版本协议200 OK 请求成功。一般用于GET与POST请求201 Created 已创建。成功请求并创建了新的资源202 Accepted 已接受。已经接受请求但未处理完成203 Non-Authoritative Information 非授权信息。请求成功。但返回的meta信息不在原始的服务器而是一个副本204 No Content 无内容。服务器成功处理但未返回内容。在未更新网页的情况下可确保浏览器继续显示当前文档205 Reset Content 重置内容。服务器处理成功用户终端例如浏览器应重置文档视图。可通过此返回码清除浏览器的表单域206 Partial Content 部分内容。服务器成功处理了部分GET请求300 Multiple Choices 多种选择。请求的资源可包括多个位置相应可返回一个资源特征与地址的列表用于用户终端例如浏览器选择301 Moved Permanently 永久移动。请求的资源已被永久的移动到新URI返回信息会包括新的URI浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替302 Found 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI303 See Other 查看其它地址。与301类似。使用GET和POST请求查看304 Not Modified 未修改。所请求的资源未修改服务器返回此状态码时不会返回任何资源。客户端通常会缓存访问过的资源通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源305 Use Proxy 使用代理。所请求的资源必须通过代理访问306 Unused 已经被废弃的HTTP状态码307 Temporary Redirect 临时重定向。与302类似。使用GET请求重定向400 Bad Request 客户端请求的语法错误服务器无法理解401 Unauthorized 请求要求用户的身份认证402 Payment Required 保留将来使用403 Forbidden 服务器理解请求客户端的请求但是拒绝执行此请求404 Not Found 服务器无法根据客户端的请求找到资源网页。通过此代码网站设计人员可设置您所请求的资源无法找到的个性页面405 Method Not Allowed 客户端请求中的方法被禁止406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求407 Proxy Authentication Required 请求要求代理的身份认证与401类似但请求者应当使用代理进行授权408 Request Time-out 服务器等待客户端发送的请求时间过长超时409 Conflict 服务器完成客户端的PUT请求是可能返回此代码服务器处理请求时发生了冲突410 Gone 客户端请求的资源已经不存在。410不同于404如果资源以前有现在被永久删除了可使用410代码网站设计人员可通过301代码指定资源的新位置411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息412 Precondition Failed 客户端请求信息的先决条件错误413 Request Entity Too Large 由于请求的实体过大服务器无法处理因此拒绝请求。为防止客户端的连续请求服务器可能会关闭连接。如果只是服务器暂时无法处理则会包含一个Retry-After的响应信息414 Request-URI Too Large 请求的URI过长URI通常为网址服务器无法处理415 Unsupported Media Type 服务器无法处理请求附带的媒体格式416 Requested range not satisfiable 客户端请求的范围无效417 Expectation Failed 服务器无法满足Expect的请求头信息500 Internal Server Error 服务器内部错误无法完成请求501 Not Implemented 服务器不支持请求的功能无法完成请求502 Bad Gateway 充值网关或代理的服务器从远端服务器接收到了一个无效的请求503 Service Unavailable 由于超载或系统维护服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中504 Gateway Time-out 充当网关或代理的服务器未及时从远端服务器获取请求505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本无法完成处理5、同步接口和异步接口1、同步接口:发起一个接口请求必须要等到响应结果才能发起下一个接口请求2、异步接口:发起一个接口请求不需要等到响应结果就能发起下一个接口请求6、cookie (cookie存储在客户端上)1、cookie数据存放在客户的浏览器上session数据放在服务器上。2、cookie是一个非常具体的东西指的就是浏览器里面能永久存储的一种数据cookie由服务器生成发送给浏览器浏览器把cookie以kv形式保存到某个目录下的文本文件内下一次请求同一网站时会把该cookie发送给服务器。3、cookie不是很安全别人可以分析存放在本地的cookie并进行cookie欺骗考虑到安全应当使用session。二、session (session存储在服务器上)1、session翻译为会话2、session服务器会保存一份可能保存到缓存/数据库/文件里面。3、session从字面上讲就是会话。服务器要知道当前发请求给自己的是谁。为了做这种区分服务器就要给每个客户端分配不同的“身份标识”然后客户端每次向服务器发请求的时候都带上这个“身份标识”服务器就知道这个请求来自于谁了。至于客户端怎么保存这个“身份标识”对于浏览器客户端大都默认采用cookie 的方式。服务器使用session把用户的信息临时保存在了服务器上用户离开网站后session会被销毁。这种用户信息存储方式相对cookie来说更安全可是session有一个缺陷:如果web服务器做了负载均衡那么下一个操作请求到了另一台服务器的时候session会丢失。4、token:(令牌服务器返回给到客户端的)1、token的定义: token是服务端生成的一串字符串以作客户端进行请求的一个令牌当第一次登录后服务器生成一个token便将此token返回给客户端以后客户端只需带上这个token前来请求数据即可无需再次带上用户名和密码。2、使用token的目的: token的目的是为了减轻服务器的压力减少频繁的查询数据库使服务器更加健壮。3、token的原理:第一步:你第一次登入成功之后服务器就会产生一个token值而这个值就会被服务器保存同时将token值发送给客户端。第二步:客户端拿到token值后要进行保存第三步:当客户端再次发起网络请求时(该请求不是登录请求是登录之后的请求)在该次请求中token值会发送给服务器。第四步:服务器接受到客户端的请求后会进行token值的对比。当token值一致时说明已经登入成功用户处于登入状态;当token值不一致时说明原来登入的信息已经失效让用户重新登入。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑