软件测试第五阶段接口测试总结01

接口测试

这篇文章总结了一下我学习接口测试的第一天和第二天的部分知识, 文章包含接口测试的理论, HTTP协议,接口文档和接口用例的设计等等知识,不足之处希望大佬指正!

1. 接口测试Day01

Day01目标

Day01目标
理解接口及接口测试的相关概念
熟悉HTTP协议和接口规范
掌握接口测试流程
熟练掌握如何解析接口文档
熟悉掌握如何编写接口测试用例

1.1 接口测试理论

接口

接口可分为:硬件接口和软件接口;我们这里只关注软件层面的接口。

定义:是指系统或组件之间的交互点,通过这些交互点可以实现数据的交互。(数据交互的通道)

补充:

  1. 系统之间的接口比如说tpshop系统和支付宝系统.
  2. 组件之间的的接口比如tpshop登录系统与订单系统之间的交互。
接口测试概念

针对接口进行测试,主要测试数据的传递,交互,控制管理过程和接口之间的依赖。

接口测试优点:

  • 越底层的Bug,它的修复成本是最低的
  • 检查系统的安全性,稳定性,前端传参不可靠
  • 减少人工回收测试人力成本与时间,缩短测试周期,支持后端快速开发需求
  • 提高系统的可靠性

接口测试的实现方式:

  1. 使用接口测试工具实现(Jmeter, postman)
  2. 代码实现(Python + Requests)

1.2 HTTP协议

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

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

URL的格式

http://www.itcast.cn:8080/news/index.html?uid=123&page=1
  • 协议部分:“http”,常见的协议有HTTP,HTTPS、FTP等
  • 域名部分:“www.itcast.cn”,也可以使用IP地址作为域名使用
  • 端口部分:“8080”,端口可以省略,默认端口(HTTP:80,HTTPS:443,FTP:21)
  • 资源路径部分:“/news/index.html”
  • 查询参数部分:“uid=123&page=1”,可以允许有多个参数,多个之间用“&”作为分隔符

1.3 HTTP请求

http请求由三部分组成,分别是:请求行、请求头、请求体, 下面是一个HTTP请求报文的例子

POST http://demo.zentao.net/user-login.html HTTP/1.1
Host: demo.zentao.net
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://demo.zentao.net/user-login.html
Content-Type: application/x-www-form-urlencoded
Content-Length: 54
Connection: keep-alive
Upgrade-Insecure-Requests: 1
// 该空行表示请求头数据已经结束
account=demo&password=efc4a3b32e48054865e5a8321cfda3e4

请求行
请求行用来说明请求方法、要访问的资源以及所使用的协议版本

常用请求方法:
GET:从服务器获取资源(一项或多项)
POST:在服务器新建一个资源
PUT:在服务器更新资源(客户端提供改变后的完整资源)
DELETE:从服务器删除资源
其他请求方法(了解):
HEAD:请求获取由Request-URI所标识的资源的响应消息报头
TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT:保留将来使用
OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求

请求头
请求头紧接着请求行,请求头部由键值对组成,每行一对。 请求头部通知服务器有关于客户端请求的信息,典型
的请求头有:
User-Agent:产生请求的浏览器类型
Accept:客户端可识别的内容类型列表
Content-Type:请求体数据的类型,常见的类型有:
text/html: HTML格式
text/plain:纯文本格式
image/jpeg:jpg图片格式
application/json: JSON数据格式
application/x-www-form-urlencoded: form表单数据被编码为key/value格式发送到服务器(表单默认的提
交数据格式)
multipart/form-data: 在表单中进行文件上传时使用

请求体
请求体不在GET方法中使用,经常在POST、PUT方法中使用
请求体的数据可以是:表单数据、文本、XML、JSON
与请求数据相关的最常使用的请求头是Content-Type和Content-Length

接口文档解析

接口测试流程

  1. 需求分析
  2. API文档解析
  3. 接口用例设计
  4. 执行接口测试用例
  5. 缺陷的跟踪管理
  6. 生成测试报告
  7. 实现持续集成(可选)

接口文档内容
一个规范的接口文档,要包含以下信息:

  • 基本信息
    • 接口名称、请求方法、请求路径、接口描述
  • 请求参数
    • 请求头
    • 请求体(包含具体的请求参数名称、参数类型、是否必须、示例、备注)
  • 返回数据
    • 不同情况的响应状态码
    • 响应数据(包含具体的响应数据名称、类型、是否必须、默认值、示例、备注)

2. 接口测试Day02

2.1 接口用例设计(重点)

接口测试测试点

  • 功能测试(当前阶段的核心重点)
    单接口测试
    多接口测试(业务场景测试)
  • 性能测试
  • 安全测试
    • 敏感数据是否加密
      • 敏感数据是否遮挡
      • 敏感数据是否可以被复制
      • 敏感数据是需要加密的
      • 敏感数据加密需要一定的难度(不容易被暴力破解)
    • SQL注入
      其他

2.2 接口用例设计方法与思路

  • 单接口测试用例

    • 正常测试
      • 全部必填参数
      • 全部参数(必填+非必填)
      • 参数组合(必填+部分非必填)
  • 异常测试

    • 数据异常:长度、类型、是否为空、不满足业务等(注意:与功能测试一模一样)
    • 参数异常:多参、少参、无参、错误参数等(注意:这个是接口测试新出现的测试点)
    • 业务异常:关注业务上的异常(测试关注点:各种异常状态码测试)
  • 业务场景测试(多接口测试)

    • 将多个业务场景涉及的接口进行组合测试
    • 注意:接口调用的先后顺序即可

3. 附件

最后附上第一天的学习总结
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值