【接口自动化测试】-接口测试原理、HTTP协议、接口测试用例设计、前后端与前后台

接口测试涉及内部与外部接口,包括HTTP、WebServices和WebSocket等,使用工具如Postman和SOAPUI。HTTP协议是互联网上最广泛的应用层协议,特点是简单快速但无状态。URL是资源定位符,用于建立连接和数据传输。接口测试用例设计关注功能、性能和安全性,涵盖单接口到复杂业务场景。前端主要负责页面开发,而后端实现业务逻辑和数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、接口类型

  • 按结构分:模块与模块之间(系统与系统之间)的接口成为内部接口;项目与第三方接口称为外部接口
  • 按实现技术分:
    • http接口:基于HTTP协议发送请求给服务器,服务器然后金响应一次的过程;响应的结果类型通常为:yext/html、text/xml、application/json。其对应的测试工具:fiddler、postman、jmeter、lr、框架(RF、python+request、java+httpclient)、自主研发的工具
    • webservices接口:webservices表示的是以服务的形式进行管理接口;其本质就是基于http协议所封装的soap协议;其对应的结果数据格式一定是xml类型;其对应的测试工具:SOAPUI、Jmeter
    • websocket接口:socket表示的是基于tcp/udp传输层中所抽象出的一层;只要客户端与服务器一旦建立链接,则可以实现客户端与服务器之间的双向数据通讯,其对应的测试工具:socketTest、jmeter

二、接口测试

接口测试:是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系。

2.1 接口测试原理

模拟客户端向服务器发送请求,服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查响应数据是否符合预期。

接口测试,主要针对的测试目标是服务器。

三、HTTP协议

协议:就是规则,要求通信双方必须要遵循的规则

3.1 HTTP协议介绍

HTTP:(HyperText Transfer Protocol) 超文本传输协议,是一个基于请求与响应模式的、应用层的协议,也是互联网上应用最为广泛的一种网络协议

3.2 HTTP协议的特点

  • 支持客户端/服务器模式
  • 简单快速
  • 灵活
  • 无连接
  • 无状态

四、URL

URL:Uniform Resource Locator 统一资源定位符,是互联网傻瓜标准资源的地址。HTTP使用URL来建立连接和传输数据。

URL格式

http://localhost:8001/backend/page/login/login.html?username=张三&password=123456

  • 协议部分:"http",常见的协议有HTTP,HTTPS,FTP等
  • 域名部分:"localhost",也可以使用IP地址作为域名使用
  • 端口部分:“8080”,端口可以省略,默认端口(HTTP:80,HTTPS:443,FTP:21)
  • 资源路径部分: "backend/page/login/login.html"
  • 查询参数部分:“username=张三&password=123456”,可以允许有多个参数,多个之间用“&”连接。

五、接口测试用例设计

5.1 接口测试维度

  • 功能测试
    • 单接口功能
    • 业务场景功能
  • 性能测试
    • 响应时长
    • 吞吐量
    • 并发数 
    • 服务器资源使用率
  • 安全测试 
    • 敏感数据是否加密
    • SQL注入
    • 其他

5.2 接口用例设计的方法与思路

功能测试:验证接口功能是否按照接口文档实现(输入+处理+输出)

  • 单接口测试
    • 手工测试中的单个业务模块,一般对应一个接口
      • 如登录业务-->登录接口
    • 借助工具、代码,绕开前端界面,组织接口所需的数据,展开接口测试
  • 业务场景功能
    • 按照用户实际使用场景,梳理接口业务场景
    • 组织业务场景时,一般只需要做正向测试即可(与手工一样)
    • 一般建议用最少的用例覆盖做多的业务场景。
      • 登录 -->搜索商品 -->加购物车 -->下单-->支付 -->评价

六、前端后端、前台后台的概念

前端、后端:是项目中研发的两个角色;

前端:完成页面的开发(页面的设计、脚本的设计、页面的数据对象的处理),使用最多的语言(html、css、js)

后端:实现项目中的业务逻辑功能以及数据的处理(java,c/c++、c#、php、python)

前台、后台:主要是针对用户而言所存在的一个项目功能权限的划分‘前台针对一般大多数用户而言都拥有的权限(访问、浏览权限),后台针对部分用户(运维、技术支持)等人员所拥有的管理权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值