软件-接口测试

接口测试介绍

在这里插入图片描述

接口

1.接口 分为软件接口 硬件接口
2.接口:系统与组件之间的交互点 ,通过交互点实现数据的交互
在这里插入图片描述
3.接口分类
系统之间:多个系统内部,内部系统与外部系统之间的交互
系统内部:方法与方法 模块与模块
在这里插入图片描述

接口测试的特点

。提前介入提早发现bug 符合质量控制迁移 (w模型
。发现一些页面操作不了的问题
。接口测试低成本高效益
。从用户角度全面检测 不同于传统单元测试

接口测试

是对系统或者组件之间接口测试,主要检测数据交换传递控制管理以及依赖

接口测试原理

在这里插入图片描述
。模拟客户建立连接
。发送请求
。服务器处理请求并相应
。校验响应数据

实现方式

接口测试工具 JMeter、Postman
编码实现 Python+Requesrs

接口自动化测试 :用工具和代码代替人工操作测试

HTTP协议

超文本传输 基于请求与响应模式 应用层的协议
特点:基于客户端与服务器 简单快捷 灵活 无状态 无连接

url格式解析:统一资源定位符

格式

在这里插入图片描述
。协议部分:“http”,常见的协议有HTTP,HTTPS、FTP等
。域名部分:“www.itcast.cn”,也可以使用IP地址作为域名使用
。端口部分:“8080",端口可以省略,默认端口(HTTP:80,HTTPS:443,FTP:21)
。资源路径部分: “I/news/index.htmi"(图片、视频、音频、链接)
。查询参数部分:“uid=123&page=1",可以允许有多个参数,多个之间用“&"作为分隔符

HTTP请求

请求行:第一行位置
内容
请求方式
资源路径
协议及版本
请求头:第一行之后空行之前
内容
主要以键值对形式存在
重点掌握Content-Type=application/json
请求体:
前提:get 没有请求体,一般请求体再post和put请求方式中使用
位置:最后一行
内容形式:json 、HTML、 text

请求方式

。get:查询数据
。post:新增数据

。put:修改数据
。delete:删除数据

请求头

在这里插入图片描述

HTTP响应

组成:状态行 、响应头、响应体

状态行

       在第一行信息

状态行由协议版本号、状态码、状态消息三部分组成
状态码有三位数字组成,第一个数字定义了响应的类别:
1xx:指示信息–表示请求已接收,继续处理
2xx:成功–表示请求已被成功接收、理解、接受
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现.
5xx:服务器端错误–服务器未能实现合法的请求

响应头

第一行之后 空行之前 键值对的形式存在 描述服务器的相关信息

相应体

空行之后
响应数据 :xml 、json 、html等

练习

在这里插入图片描述
在这里插入图片描述
Content-type:用于描述客户端向服务器端 提交的数据格式 常见的有form表单、json等

RESTFUL风格

一种规范不是标准规定

在这里插入图片描述

接口测试流程

1.需求分析
2.API文档解析
3.设计测试用例
4.执行测试用例
使用工具
使用代码
5.缺陷管理与跟踪
6.生成测试报告
7.实现持续集成

API文档

接口文档,描述接口信息
为什么要写接口文档?
便于前后端开发时的协作
项目更迭或者项目人员迭代时能更好的展开工作
便于测试尽早介入

接口内容

一个规范的接口文档,要包含以下信息:
●基本信息
。接口名称、请求方法、请求路径、接口描述
●请求参数
。请求头
o请求体(包含具体的请求参数名称、参数类型、是否必须、示例、备注)
●返回数据
o不同情况的响应状态码
。响应数据(包含具体的响应数据名称、类型、是否必须、默认值、示例、备注)

●接口文档

。编写:开发
。内容:基本信息、请求参数、响应数据
■基本信息:接口名称、请求方式、接口地址(path)、 接口描述
■请求参数:
■请求头(headers)|
I
■请求体(body)
■前提: post和put是有请求体
■内容:参数名称、参数类型、是否必填、示例、备注等
■响应数据
■状态码
■响应数据:参数名称、参数类型、是否必填、示例、备注等

接口文档解析 postman验证

在这里插入图片描述

添加员工接口

在这里插入图片描述

修改员工

在这里插入图片描述

接口测试

安全测试

敏感数据是否隐藏
敏感数据是否可以复制
敏感数据是否加密
敏感数据加密需要一定的难度
SQL注入

接口测试用例设计思路(重点)

。单接口测试用例
。正常测试
全部必填参数
全部参数(必填+非必填)
参数组合(必填+部分非必填)
在这里插入图片描述

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

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

测试用例

在这里插入图片描述

3、接口测试用例设计

3.1、接口用例模板
功能测试用例模板(复习)
用例编号
用例标题
测试项目
用例级别
预置条件
测试输入
执行步骤
预期结果
接口测试用例模板
ID
模块
用例标题
接口名称
请求
请求URL
请求方法
请求头
请求数据类型
请求体(请求参数)
预期结果(响应)
响应状态码
响应数据
在这里插入图片描述

3.2、单接口用例设计——IHRM登录接口

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第4章 文件系统接口测试 文件系统攻击分为两类:基于介质的攻击和基于文件的攻击 基于介质的攻击 基于介质的攻击目标是模拟存储介质本身-软盘、硬盘、CD-ROM等 攻击1 按容量填满文件系统 按容量填满文件系统会确保你的应用程序很好地处理满磁盘的情况。一旦Canned HEAT模拟了满状态下的磁盘,就应该抓住每个机会试者强制应用程序打开、关闭、读取、写入和修改文件。这样能发现访问文件的位置,但是对满状态下的磁盘,软件无法实施检查。 攻击2 强制介质忙或不可用 强制介质忙或不可用会保证与存在问题的存储设备相关的错误条件得到测试。其思想是,当应用程序访问硬驱、软驱或其他外部存储机制时,强制错误返回码标明介质存在的问题。如果开发人员无法对这些条件编写适当的错误处理程序,应用程序就会失效。 攻击3毁坏介质 模拟被破坏的存储介质对任务关键的应用程序是有用的,这种应用程序在受损介质下也必须仍然能够运行。这种攻击有助于对开发人员没有编写存取文件或写文件时的错误处理代码这种情况进行测试。 基于文件的攻击 攻击4 赋给无效文件名 赋给无效文件名用来发现在哪里没有对读取或写入文件标识符进行约束。由于名字常受限于操作系统,如果应用程序对名字没有真正的约束,创建有效名字的失败会引发失效。其思想就是试着用很长的,且包含非法字符和字符组合的名字进行命名。 如何进行攻击? 第一组测试是使应用程序进入相当于“另存为...”对话框,并键入操作系统不能接收的名字。 第二组测试是使用操作系统以应用程序可能不接收的有效文件名创建文件。 攻击5 改变文件访问许可 改变文件访问许可会发现难以察觉的隐错,当应用程序使用的文件可在该应用程序控制之外得到处理时才显示出来。该攻击强调创建和修改文件访问许可,然后驱动应用程序访问文件内容。如果用以检查各种许可处理的错误代码丢失或出错,那么应用程序就会失效。 如何进行攻击? 在不同应用程序打开和关闭同一文件,并试着在某个应用程序打开在另一个程序已打开的文件。 攻击6 更改或破坏文件内容 更改和破坏文件内容模拟对文件故意地或偶然地修改。如果在读取文件以前没有编写错误代码来检查文件内容,则软件可能会崩溃。可使用Canned HEAT来模拟这些事件,以便测试员能强制文件操作,并密切观察可能的文件失效。 有两种基本方法来实现攻击-手工损坏文件或使用运行期故障植入作为文件进行操作。 文件系统攻击小结 基于介质的攻击 1.看软件是否能处理满状态的存储介质。填满硬驱,然后强制软件执行文件操作(通过打开、移动和保存文件)。 2.看软件是否能有条不紊地处理忙文件系统。一些应用程序没有真正的超时/等待机制,所以当文件系统忙于响应另一个应用程序的请求时就会失效。强制软件执行与后台应用程序相关联的文件操作,这些后台应用程序也在执行文件操作。 3.试图在受损介质上强制软件进行文件操作。在这种场景下,有一些故障的处理代码的应用程序常会失效。 基于文件的攻击 4.对应用程序的数据文件、临时文件和只读文件试图赋给无效文件名,然后强制软件使用这些文件。 5.修改应用程序数据文件的访问许可。用户许可和读-写-执行-删除许可常被开发人员所忽视。 6.看软件是否能处理文件损坏的数据。由于大多数数据破坏会导致失败的循环冗余校验,所以Canned HEAT是植入这种故障的理想机制。否则,使用十六进制/文本编辑器来修改文件内容,然后强制软件打开文件或从读取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值