接口测试基础知识

一,什么是接口:

  1. 从IT的角度来看,接口就是 不同组件或模块或系统之间的一种交互通信。是组件/模块/系统内部封装了提供给外界交互的一个接口。 接口的形式协议有很多,例如http、ftp、tcp、dubbo等等。
  2. 内部接口:系统程序内部的接口,例如方法和方法之间、模块与模块直接的交互接口,前后端交互的接口。
  3. 外部接口:系统对外提供的接口。

二,什么是接口测试:

  1. 接口测试是通过直接测试被测应用的接口来确定接口是否在功能、可靠性、性能和安全方面达到预期结果的一种软件测试活动。
  2. 接口包括检测外部系统与系统之间以及内部各个子系统之间的交互点。 测试的重点是要检查接口的可用性和数据的正确性,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
  3. 接口测试在质量保证中所扮演的越来越重要的角色。接口测试可以帮助测试工程师以及测试团队以低成本的方式去降低手动测试工作量,实现测试团队提效。
  4. 原理:通过测试脚本或工具模拟客户端向服务器端发送接口请求报文,服务器收到请求报文后做出相应处理后将响应报文返回给客户端,脚本或工具接收到响应报文并对响应报文进行测试检查。

三,http协议与https协议

  • http协议特点:
  1. 支持客户/服务器模式。 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
  2. 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
  3. 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。http1.0默认是无连接,http1.1默认是长连接。
  4. 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。当你登录到一个网站时,你的登录状态也是由Cookie或Session来“记忆”的,因为服务器并不知道你是否登录。但是从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,简单地说,当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。
  • http协议版本:http协议目前有5个版本,其中1.0和1.1版本在互联网上被广泛使用。
  1. http/0.9版本: 1991年,原型版本,功能简陋,只有一个命令GET,服务器只能回应HTML格式字符串,该版本已过时。
  2. http/1.0版本: 1996年5月,除了GET,还引入了POST和HEAD方法。 不仅可以传输文字,还能传输图像、视频、二进制文件。 每个TCP连接只能发送一个请求。发送数据完毕,连接就关闭,如果还要请求其他资源,就必须再新建一个连接。 TCP连接的新建成本很高,因为需要客户端和服务器三次握手,并且开始时发送速率较慢(slow start)。所以,HTTP 1.0版本的性能比较差。随着网页加载的外部资源越来越多,这个问题就愈发突出了。
  3. http/1.1版本: 1997年1月,引入了持久连接(persistent connection)keep-alive,即TCP连接默认不关闭,可以被多个请求复用。默认建立持久连接。 支持管道(pipeline)网络传输,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,支持以管道方式在同时发送多个请求,以便降低线路负载,提高传输速度,可以减少整体的响应时间。 提供身份认证、状态管理和 Cache 缓存等机制相关的请求头和响应头 新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 。 http1.1是目前最为主流的http协议版本。
  4. http/2 版本: 基于 HTTPS 的,所以 HTTP/2 的安全性高。 复用TCP连接,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,且不用按顺序一一对应,避免了队头堵塞的问题。此双向的实时通信称为多工(Multiplexing)。 允许服务器未经请求,主动向客户端发送资源,即服务器推送。 会压缩头(Header):如果你同时发出多个请求,他们的头是一样的或是相似的,那么,协议会帮你消除重复的部分。 头信息和数据体都是二进制,并且统称为帧(frame)。
  5. http/3 版本: HTTP/2 主要的问题在于,多个 HTTP 请求在复用一个 TCP 连接,下层的 TCP 协议是不知道有多少个 HTTP 请求的。所以一旦发生了丢包现象,就会触发 TCP 的重传机制,这样在一个 TCP 连接中的所有的 HTTP 请求都必须等待这个丢了的包被重传回来。所以 HTTP/3 把 HTTP 下层的 TCP 协议改成了 UDP。
  • http与https的区别:
  1. HTTP:做为网络协议,HTTP 协议是以明文方式发送信息的,很容易被攻击者窃取重要信息。如果黑客截取了 Web 浏览器和服务器之间的传输报文,就可以直接获得其中的信息。
  2. HTTPS:HTTPS 的全称为 (Hyper Text Transfer Protocol over SecureSocket Layer),HTTPS 和 HTTP 有很大的不同在于 HTTPS 是以安全为目标的 HTTP 通道,在 HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在 HTTP 的基础上增加了 SSL 层,也就是说 HTTPS = HTTP + SSL。


    image.png
  • http请求方法:


    image.png
  • get和post区别:


    image.png

四、接口测试痛点:

  1. 接口文档缺失或者设计太复杂,很难分析,导致测试用例设计不好
  2. 接口之间的关联依赖关系不清楚 需要依赖第三方系统
  3. 测试数据经常被改动,导致脚本经常失败 脚本执行完产生的数据没有做清理,导致下一次执行失败
  4. 检查点不足,导致问题没有被测试出来
  5. 工具不熟练

五、接口测试质量评估标准:

  1. 业务功能覆盖率
  2. 功能测试用例覆盖率
  3. 接口覆盖率
  4. 代码覆盖率
  5. 校验检查点

六、接口测试用例设计


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容

  • 1、接口测试范围 是否所有的接口都需要测试?不是的,覆盖所有的接口是一件很难的事情,通常情况下,主要测试最外层两类...
    我吃小虾米阅读 368评论 0 4
  • 为什么要做做接口测试?如果绕开客户端能够作一些不用校验的事情这样就危险了;举例某网站2016年因支付接口未做校验被...
    闲成灰阅读 547评论 0 1
  • 一、什么是接口 ▲接口是非常抽象的概念,先来看下中国最大的综合性辞典《辞海》是怎样定义接口的: 两个不同系统或系统...
    白码会说阅读 164评论 0 0
  • 接口测试的地位 采用金字塔型和橄榄球型来形象说明一下 金字塔型从上到下:UI测试、接口测试、单元测试橄榄球型:接口...
    想当米虫阅读 673评论 0 0
  • 1、web常识 三次握手。建立链接 客户端向服务端发送位码标示,服务端收到信息后向客户端确认联机信息,客户端检查信...
    Future石阅读 471评论 0 0