软件测试---接口测试

一、接口及接口测试概念

(1)接口的类型

 

(2)接口测试的概念

(3)接口测试的原理

(4)接口测试的特点

(5)接口测试的实现方式 

二、HTTP协议

(1)HTTP协议的特点

(2)URL 

(3)HTTP请求协议

(4)HTTP响应 

①状态行

(5) Fiddle抓包

①介绍

② 安装

三、接口规范

(1)接口风格

①传统风格接口

②RESTful风格接口

四、接口测试流程

五、项目环境说明

六、接口文档解析

(1)作用和展现形式

(2)结构

(3)登录接口

(4)使用Fiddle发送HTTP请求

七、单接口用例测试

接口测用例文档10要素:

编号、用例名称(标题)、模块、优先级、预置条件、请求方法、URL、请求头、请求体(请求数据)、预期结果

(1)用例编写---登录成功

 

(2)测试点分析

①数值

②参数

(3)用户名相关测试点 

(4)密码相关测试点 

(5)参数相关测试点 

八、业务场景测试用例 

(1)测试点分析

  • 用户怎么用,怎么样设计业务
  • 用最少的测试用例,尽量覆盖最多的接口

分析测试点

针对“员工管理”业务场景:

登录---添加员工--查询员工--修改员工--再次查询--删除员工--查询员工列表

(2)添加员工--解析接口文档--获取数据

(3)添加员工--编写测试用例

(4)查询员工--解析接口文档--编写测试用例

(5)修改员工--解析接口文档--编写测试用例

(6)删除员工、查询员工列表--解析接口文档--编写测试用例

九、接口测试---postman 

(1)简介

(2)安装postman插件newman

①安装node.js(检查是否安装)

npm -v

②安装newman之前必须保证node.js安装成功

③检查newman是否安装成功

newman -v

④安装newman-reporter-html

命令:npm install -g newman-reporter-html

(3)postman发送请求

使用postman向Topshop商城发送一个密码错误的登录请求

从接口文档,获取登录接口的HTTP请求,使用postman发送

(4)postman应用

①管理测试用例

②导出用例集

③导入用例集 

(5)postman断言

①断言响应状态码

②断言响应体包含指定字符串

③断言响应体等于字符串对象

④断言响应结果中json数据

⑤断言响应头

⑥postman断言工作原理

(6)全局变量和环境变量 

 ①全局变量和环境变量的设置与语法

设置变量

获取变量值

②全局变量设置和获取

③环境变量设置和获取

(7)请求前置脚本

 ①简介

②时间戳介绍

③请求前置脚本--案例

调用百度首页接口,传时间戳给服务器

④请求前置脚本--工作原理和小结 

(8)postman的关联

①postman的关联--简介和实现步骤

②postman的关联--案例(天气接口获取城市名写入全局变量)

请求获取天气的接口:http://www.weather.com.cn/data/sk/101010100.html

 

③postman的关联--案例(百度搜索)

百度搜索接口:http://www.baidu.com/s?wd=手机

④接口测试--postman批量执行用例集

⑤postman生成测试报告

要安装newman插件

newman run 批量执行测试用例.postman_collection.jsonnewman run 批量执行测试用例.postman_collection.json -r html --reporter-html-export 我的测试报告.
html

(9)postman的参数化

①postman的参数化--数据文件类型和简介

CSV

JSON

②postman的参数化--导入csv文件

③postman的参数化--导入json文件

④postman的参数化--读取数据文件语法

⑤ postman的参数化--案例(实现流程)

需求:

⑥postman的参数化--json实现和数据驱动概念

⑦postman的参数化--生成测试报告

(10)IHRM项目实战

 ①简介

网址:IHRM-人力资源管理系统

②初始化项目环境

新建用例集

创建环境变量

③登录模块

组织HTTP请求

添加断言

其他接口共性分析

④员工管理模块

依赖关系总分析

登录提取令牌

添加员工

提取员工id

查询员工

修改员工

删除员工

查询员工列表

⑤批量运行测试用例生成测试报告

批量运行测试用例

导出环境文件生成测试报告

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/51804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt 实现抽屉效果

1、实现效果和UI设计界面 2、工程目录 3、mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QToolButton> #include <QPushButton> #include <vector> using namespace std;QT_BEGIN_NAMESPACE namespace…

生成式:PolyGen: An Autoregressive Generative Model of 3D Meshes【附件】

论文:PolyGen: An Autoregressive Generative Model of 3D Meshes OBJ坐标变换: # Transpose so that z-axis is vertical.vertices = vertices[:, [2, 0, 1]]变换前: 对应数据:

C++模板(初阶)

1.引入 在之前的笔记中有提到&#xff1a;函数重载&#xff08;特别是交换函数&#xff08;Swap&#xff09;的实现&#xff09; void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {do…

小程序开发_02

一、项目的基本结构 二、小程序的页面组成部分 三、json配置文件 ① project.config.json文件 作用&#xff1a;项目的配置文件&#xff0c;用来记录对小程序开发工具所作的个性化配置 ② sitemap.json 作用&#xff1a;是否允许被微信引擎搜索,不希望被搜索dis ③ app.jso…

notes for datawhale summer camp chemistry task2

[[appendix/Task2_RNN.ipynb|Task2_RNN.ipynb]] 本次的任务是进一步了解 AI4Science 相关知识&#xff0c;然后使用深度学习的方法建模。 你可以从中&#xff1a;了解一些相关历史、了解 SMILES 和分子指纹&#xff0c;并对 RDkit 工具包有更深的认识&#xff1b;探究深度学习…

基于C51和OLED12864实现贪吃蛇小游戏

引言 在微电子技术飞速发展的今天&#xff0c;单片机作为智能控制的核心&#xff0c;广泛应用于各种电子设备中。C51系列单片机以其高效、稳定的特性&#xff0c;成为众多电子爱好者和工程师的首选平台。而OLED显示屏以其轻薄、低功耗、响应速度快等优点&#xff0c;在显示设备…

设计模式 策略模式(Strategy Pattern) C++表达

设计模式 策略模式&#xff08;Strategy Pattern&#xff09; C表达 flyfish 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为设计模式&#xff0c;它的核心思想是将一系列相关的算法或行为封装到独立的策略类中&#xff0c;并使得这些策略可以相互替换。主要用…

线性回归和逻辑回归API

1. 线性回归&#xff08;Linear Regression&#xff09; 主要类 LinearRegression: 这是scikit-learn中用于实现线性回归的类。 用法 from sklearn.linear_model import LinearRegression# 创建模型实例 model LinearRegression()主要参数 fit_intercept: 默认为True。是…

遇到的问题123

1.update:visible更新数据不生效 父组件传递的visible值不是ref定义的响应值&#xff0c;要加v-model修饰符 v-model:visible"chartsConfig.visible"

测试面试宝典(三十五)—— fiddler的工作原理

Fiddler 是一款强大的 Web 调试工具&#xff0c;其工作原理主要基于代理服务器的机制。 首先&#xff0c;当您在计算机上配置 Fiddler 为系统代理时&#xff0c;客户端&#xff08;如浏览器&#xff09;发出的所有 HTTP 和 HTTPS 请求都会被导向 Fiddler。 Fiddler 接收到这些…

springcloud接入seata管理分布式事务

下载安装包 链接: seata 配置seata-server 文件上传Linux解压 压缩包我放在/usr/local/seata中 tar -zxvf seata-server-2.0.0.tar.gz修改配置文件 设置nacos为注册和配置中心 进入文件夹 cd /usr/local/seata/seata/conf修改application.yml文件 ...... ...... cons…

CST软件如何进行参数化扫描?

在用CST进行仿真设计的过程中&#xff0c;经常需要对某一些参数进行参数化设置&#xff0c;并对这些参数进行仿真对比。这一期&#xff0c;我们介绍下如何进行参数化扫描。 还是借用&#xff0c;之前已经对馈电位置、贴片的长和宽都进行了参数设置&#xff0c;如下图所示&…

计算机网络HTTP全讲解,让你透彻掌握HTTP协议(三)http长短连接/代理/网关/缓存/内容协商机制/断点续传

HTTP HTTP的长连接与短连接短链接长链接HTTP代理代理的作用HTTP网关web网关常见的网关类型HTTP缓存HTTP缓存头部字段HTTP缓存工作方式缓存改进方案cdn缓存工作方式浏览器操作对http缓存的影响HTTP内容协商机制客户端驱动服务器驱动请求首部集近似匹配透明协商断点续传和多线程下…

深拷贝——JSON.stringify()序列化和JSON.prase()反序列化

为什么要使用深拷贝&#xff1f; 1、简单理解 JSON.parse() 和 JSON.stringify() 是 JavaScript 中用于处理 JSON 数据的两个内置方法 使用深拷贝的主要原因是为了创建一个对象或数组的完全独立副本&#xff0c;这样对副本的任何更改都不会影响到原始数据。 在 JavaScript …

springboot投票管理系统-计算机毕业设计源码33128

摘 要 本文介绍了基于微信小程序和Spring Boot的投票管理系统的设计与实现。该系统结合了移动互联网技术和后端开发框架&#xff0c;旨在为各类组织或活动提供一个高效、便捷、用户友好的在线投票平台。 系统采用微信小程序作为前端展示与交互界面&#xff0c;用户无需下载安装…

图片等比例缩放方案

图片等比例缩放方案 在Web开发时无可避免的需要将图片进行缩放&#xff0c;缩放时需要保证图片不变形&#xff0c;也就是需要等比例缩放。 设定宽度或高度 引入图片时&#xff0c;仅设置图片的width或者是height就可以使另一边自适应&#xff0c;从而实现等比例缩放。 <…

学校如何筹办一场汉字听写大赛

汉字作为中国最宝贵的文化遗产&#xff0c;在五千年的历史长河里&#xff0c;汉字以其浩瀚广博抒写着华夏历史&#xff0c;以其灵秀展示着炎黄之精神。传承汉字文明是我们的使命和主责任。随着科技的发展&#xff0c;现在人们很少用笔书写汉字&#xff0c;导致汉字听写能力普遍…

unity2D游戏开发16弹弓动画

清理动画器 选中PlayerObject,打开Animator,删除原来的四个状态 右键选择Create State |from New Blend Tree; 冲命名为Walk Tree 双击Walk Tree查看Blend Tree Graph 设置属性为2D Simple Directional,再点击加号选择Add Motion Field 添加四个,如图 点击Base Layer

Python面试整理-常用标准库

Python的标准库包含了大量的模块和包,支持各种编程任务,从文件处理、数据序列化,到网络编程等。这些模块预安装在Python中,无需额外安装就可以使用。以下是一些非常有用且常用的标准库模块: 1. os 用于与操作系统进行交互,包括文件和目录管理操作。 import os # 获取当前…

【数据结构】队列(链表实现 + 力扣 + 详解 + 数组实现循环队列 )

Hi~&#xff01;这里是奋斗的明志&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f331;&#x1f331;个人主页&#xff1a;奋斗的明志 &#x1f331;&#x1f331;所属专栏&#xff1a;数据结构 &#x1f4da;本系列文章为个人学…