【测试运维】接口测试各知识md文档学习笔记第1篇(已分享,附代码)

本系列文章md笔记(已分享)主要讨论接口测试相关知识。目标:了解接口测试服务对象,基本作用,接口测试环境插件工具,掌握jmeter的使用,掌握接口测试的测试用例编写。熟悉Jmeter工具组成,参数化、集合点、关联、断言、数据库,属性管理器及逻辑控制器,项目实战(接口功能脚本、自动化脚本、性能脚本)。了解Jmeter安装目录结构,了解Jmeter的应用场景,掌握Jmeter分布式环境部署,学会看项目API文档,学会根据API文档整理出接口清单,掌握自动化脚本设计原则;了解基于Jmeter测试FTP服务器。

全套笔记和代码自取在个人博客: https://www.666mao.com/article?articleId=10

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~


共 8 章,30 子模块

接口测试

学习目标

  • 了解接口测试服务对象,基本作用

  • 接口测试环境插件工具

  • 掌握jmeter的使用

    • 环境搭建
    • 8大元件的作用和简单的使用
    • 脚本录制
    • 常用函数的使用
    • 功能脚本的编写
    • 自动化脚本的编写
    • 性能脚本的编写
    • 掌握接口测试的接口清单 整理
  • 掌握接口测试的测试用例编写

    • 编号,标题,处理,预期结果

2. 接口测试大纲

序号阶段内容
01第一阶段- 理解接口测试
02第二阶段- 熟悉Jmeter工具组成
03第三阶段(核心)- 参数化、集合点、关联、断言、数据库
04第四阶段- 属性管理器及逻辑控制器
05第五阶段- 项目实战(接口功能脚本、自动化脚本、性能脚本)

3. 接口学完样品

3.1 Jmeter工具元件使用

元件使用

3.2 聚合报告

聚合报告

3.3 用例设计

测试用例

3.4 html性能报告

html测试报告

3.5 Aggregate Graph

3.6 Response Time

响应时间

4. 学完课程,学到什么

1. 熟练使用Jmeter工具;
2. 掌握接口测试规范;
3. 掌握基于Jmeter完成接口测试(功能、自动化、性能)脚本;
4. 掌握基于Jmeter对Web项目性能压测;

5. 参考:

学习目标

1. 理解接口的概念

2.什么是接口测试

3. 接口测试的基本流程

4. 学习掌握接口测试工具RESTClient、Postman的使用

接口与接口测试

学习目标

  • 理解接口的概念
  • 理解接口测试概念
  • 掌握接口测试分类
  • 接口测试的基本流程

演示接口

1. 接口概述(了解)

1.1 什么是接口呢?

接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口; 或者一种是软件接口,一种是硬件接口.

我们常说的接口是应用程序编程接口,也就是Application Programming Interface,简称API.

1.2 常见接口

  1. webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等;

  2. http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等;

1.3 使用接口的优点

  • 项目开发中,使用接口带来的优点
1. 统一设计标准;
2. 前后端开发相对独立;
3. 扩展性灵活;
4. 前后端都可以使用自己熟悉的技术;
  • 项目开发中,未使用接口的缺点
1. 研发标准不统一,团队磨合难度高
2. 研发周期长
3. 可扩展性差

总结:

  • 软件项目开发模式大多数都采用接口了,那我们作为软件测试人员要学接口吗?

复习-接口的组成部分

2. 接口测试

2.1 什么是接口测试

接口测试是测试系统组件间数据交互的一种方式.

接口测试就是通过测试不同情况下的输入参数和与之对应的输出结果来判断接口是否符合或满足相应的功能性、安全性要求.

简单的说,接口测试是就是代替前端或者第三方,来验证后端实现是否符合接口规范.

2.2 接口测试的好处

通过接口测试,测试接口的正确性和稳定性, 能快速定位bug,提高测试效率.

  • 能为项目平台带来高效的缺陷监测和质量监督能力;
  • 平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本)

2.3 接口测试原理

原理:

模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收响应数据后并进行判断

  • 请求: 是否正确, 默认请求成功是返回200, 假如请求错误返回400, 404, 500等状态码
  • 检查: 返回数据的正确性与完整性
  • 安全性: 接口一般不会暴露在网上任意被调用,需要做一些限制,比如必须登录或者请求次数、频率限制

2.4 基本流程

接口测试流程: 定位服务器接口资源并提交测试数据,然后查看响应结果是否符合预期

  1. 定位接口资源(URL)

  2. 提交测试数据

  3. 检查响应结果

2.5 接口测试分类

  • web接口测试
  • 模块接口测试
(1). web接口测试
  • 服务器接口测试, 是测试浏览器与服务器的接口, 是B/S架构的

  • 外部接口测试, 测试第三方接口,

举例:支付接口测试/天气预报接口测试

(2). 模块接口测试
  • 单元测试的基础,主要测试模块的调用与返回.

3. 如何做好接口测试

接口测试要遵循一些要点:

  1. 接口的功能性实现. 检查接口返回的数据与预期结果的一致性.
  2. 测试接口的容错性, 例如传递的数据类型是错误的能否处理.
  3. 测试接口参数的边界值. 例如传递的数据足够大或者为负数时能否处理
  4. 测试接口性能, 接口处理和响应数据的时间也是测试的一个方面, 这牵扯到代码实现的优化
  5. 测试接口的安全性. 特别是第三方接口,比如登录的用户名密码第三方是否是密文传输的

常用的测试工具

学习目标

  • 熟悉并了解开发常用接口测试插件
  • 快速掌握离线及在线安装插件方式
  • 体验接口测试

常用的接口测试工具

  • **loadrunner:**一款商业性能测试工具,可用来做接口测试、性能测试、压力测试等,很好很强大
  • **jmeter:**一款开源的性能测试工具,操作简单,方便,既有jdbc request操作数据库数据,也有http request和soap request应对测试
  • **postman:**谷歌浏览器的扩展工具,谷歌商店中选中安装,界面同poster差别不大,界面简洁
  • **soapui:**开源测试工具,通过soap/http协议来检查、调用、实现Web Service的功能/负载/符合性测试;
  • RestClient: Firefox上一款用于测试各种Web服务的插件,它可以向服务器发送各种HTTP请求(用户也可以自定义请求方式).

我们主要使用Jmeter, 简单了解Postman、RestClient

1. Postman

是google开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome插件.

postman

1.1 安装postman
  • 安装chrome浏览器
  • 安装postman插件
  • 安装方式离线式/在线式(比较慢,建议离线)
1.2 Postman安装步骤
  • 1). 安装谷歌浏览器

  • 2). 打开浏览器扩展页面

    • chrome://extensions/
    • 自定义及控制->更多工具->程序扩展
  • 3). 勾选开发者模式

安装postman

  • 4). 加载已解压的扩展程序

安装postman

1.3 Postman演示
  • 请求方法(GET)
  • 请求URL:http://www.sojson.com/open/api/weather/json.shtml?city=北京
1.4 结果
  • 查看响应状态码
  • 查看响应数据

2. RestClient

是Firefox上的插件,这款插件由国人开发,功能上支持于返回的数据高亮显示

restclient

2.1 安装环境
  • 安装火狐浏览器
  • 安装接口插件工具RestClient(RestClient安装包)
  • 安装方式(在线)
2.2 RESTClient安装步骤
  • 1). 安装火狐浏览器

  • 2). 打开浏览器-附加组件

    • about:addons
    • Ctrl+Shift+A
    • 工具菜单->附加组件
  • 3). 搜索RESTClinet 2.0.5

安装restclient

  • 4). 安装

安装restclient

安装restclient

2.3 RESTClient演示
  • 请求方法(GET)
  • 请求URL:http://www.weather.com.cn/data/sk/101010100.html
2.4 结果
  • 查看响应状态码
  • 查看响应数据

3 总结

接口测试常用工具很多,我们讲解的是比较常用的postman、restclient以及后续重点学习的jmeter.

STClient安装步骤**

  • 1). 安装火狐浏览器

  • 2). 打开浏览器-附加组件

    • about:addons
    • Ctrl+Shift+A
    • 工具菜单->附加组件
  • 3). 搜索RESTClinet 2.0.5

[外链图片转存中…(img-ANfMkTu5-1706593926557)]

  • 4). 安装

[外链图片转存中…(img-x3lN6S0c-1706593926557)]

[外链图片转存中…(img-KJ34Kf1E-1706593926557)]

2.3 RESTClient演示
  • 请求方法(GET)
  • 请求URL:http://www.weather.com.cn/data/sk/101010100.html
2.4 结果
  • 查看响应状态码
  • 查看响应数据

3 总结

接口测试常用工具很多,我们讲解的是比较常用的postman、restclient以及后续重点学习的jmeter.

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【粉丝答疑(1)】使用LDRA Testbed(TBrun)进行单元测试编译时报自定义的数据类型错误_问题排查及解决

前言 最近有粉丝在后台提问,咨询使用Testbed(TBrun)进行单元动态测试时报错的问题。这个问题比较常见,于是想着写下本篇文章,希望对遇到类似问题的朋友有所帮助。 问题描述 事情的经过大概是这样子的: …

GC8838取代DRV8838直流电机驱动芯片,可应用在摄像机,玩具等产品上

GC8838 一款 12V 直流电机驱动芯片,为摄像机、消费类产品、玩具和其他低压或者电池供电的运动控制类应用提供了集成的电机驱动解决方案。芯片一般用了驱动一个直流电机或者使用两颗来驱动步进电机。 可以工作在 0~12V 的电源电压上,能提供高达 1.5A 持续…

智慧文旅:未来旅游业的数字化转型

随着科技的快速发展,数字化转型已经成为各行各业的必然趋势。旅游业作为全球经济的重要组成部分,也正经历着前所未有的变革。智慧文旅作为数字化转型的重要领域,正逐渐改变着旅游业的传统模式,为游客带来更加便捷、个性化的旅游体…

小项目:使用MQTT上传温湿度到Onenet服务器

前言 我们之前分别编写了 DHT11、ESP8266 和 MQTT 的代码,现在我们将它们仨整合在一起,来做一个温湿度检测小项目。这个项目可以实时地将 DHT11 传感器获取到的温湿度数据上传到 OneNET 平台。通过登录 OneNET,我们随时随地可以查看温湿度数…

macOS与Linux相互投屏的方法

很多人面对跨系统投屏都望而却步。其实只要找对方法,两台不同系统的电脑也可以相互投屏。 今天就来看看Linux系统和macOS系统如何相互投屏! 第一步,将Linux系统电脑和macOS系统电脑连接同一网络。假设是macOS系统投屏到Linux系统,…

javaweb项目,springboot幼儿园健康管理系统,界面美观,增删改查。

javaweb项目,幼儿园健康管理系统,界面美观,增删改查。 管理员,老师,学生三个角色。 功能:权限管理,咨询列表,教师列表,班级列表,健康档案列表,评…

使用QT实现播放gstreamer的命令(二)

一、前言 上一篇文章写到了,如何快速使用C来执行gstreamer的命令,如何在QT中显示gstreamer的画面,原文如下: https://blog.csdn.net/Alon1787/article/details/135107958 二、近期的其他发现: 1.gstreamer的画面显示在…

代码训练营Day.48 | 198. 打家劫舍、213. 打家劫舍II、337. 打家劫舍III

198. 打家劫舍 1. LeetCode链接 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 2. 题目描述 3. 解法 可以看作一个01背包问题。背包容量为所有房子中存储的金钱总数。 1. dp数组含义:dp[i][j]表示前i个房子在背包容量为j的情况下可以…

Arrays.asList()方法调用add()或remove()抛出java.lang.UnsupportedOperationException问题

在使用Arrays.asList方法将以,分割的字符串转为list集合时,调用add和remove等方法时会抛出java.lang.UnsupportedOperationException。以下为原因和解决方法。 原因: Arrays.asList()方法返回了一个Arrays类的一个继承了AbstractList的ArrayList内部类…

Python面向对象-类专题

在Python中,if __name__ __main__: 这一句是一个常见的模式,用于判断当前的模块是被直接运行还是被导入到其他模块中。 当Python文件被直接运行时,其内置的__name__变量被设置为__main__。但如果这个文件被其他文件导入,__name__…

面向云服务的GaussDB全密态数据库

前言 全密态数据库,顾名思义与大家所理解的流数据库、图数据库一样,就是专门处理密文数据的数据库系统。数据以加密形态存储在数据库服务器中,数据库支持对密文数据的检索与计算,而与查询任务相关的词法解析、语法解析、执行计划生…

海外云手机为什么吸引用户?

近年来,随着全球化的飞速发展,海外云手机逐渐成为各行各业关注的焦点。那么,究竟是什么让海外云手机如此吸引用户呢?本文将深入探讨海外云手机的三大吸引力,揭示海外云手机的优势所在。 1. 高效的社交媒体运营 海外云…

盒子模型的内容总结

知识引入 1.认识盒子模型 在浏览网站时我们会发现内容都是按照区域划分的。这使得网页很工整、美观。在页面中,每一块区域分别承载不同的内容,使得网页的内容虽然零散,但是在版式排列上依然清晰有条理。如图1 图1 *承载内容的区域称为盒子…

Windows系统安装OpenSSH+VS Code结合内网穿透实现远程开发

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…

【Lazy ORM 整合druid 实现mysql监控】

Lazy ORM 整合druid 实现mysql监控 JDK 17 Lazy ORM框架地址 up、up欢迎start、issues 当前项目案例地址 框架版本描述spring-boot3.0.7springboot框架wu-framework-web1.2.2-JDK17-SNAPSHOTweb容器Lazy -ORM1.2.2-JDK17-SNAPSHOTORMmysql-connector-j8.0.33mysql驱动druid-…

【人工智能课程】计算机科学博士作业二

使用TensorFlow1.x版本来实现手势识别任务中,并用图像增强的方式改进,基准训练准确率0.92,测试准确率0.77,改进后,训练准确率0.97,测试准确率0.88。 1 导入包 import math import warnings warnings.filt…

七、内存管理单元(MMU)

前言 在多任务的处理器上,往往运行着许多的用户进程,这些进程之间相互隔离,它们都有自己的虚拟存储空间。要实现这样的虚拟存储空间,需要可以进行地址重分配以及虚拟地址到物理地址的转换。 MMU就是实现这种功能的硬件部件&…

哨兵1号回波数据(L0级)提取与SAR成像(全网首发)

本专栏目录:全球SAR卫星大盘点与回波数据处理专栏目录 本文先展示提取出的回波结果,然后使用RD算法进行成像,展示成像结果,最后附上哨兵1号回波提取的MATLAB代码。 1. 回波提取 回波提取得到二维复矩阵数据,对其求模值后绘图如下(横轴为距离向采样点,纵轴为方位向采样…

如何高效复制加密狗:一篇加密狗复制的常见方法全面指南

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通Golang》…

C++实现通讯录管理系统

目录 1、系统需求 2、创建项目 2.1 创建项目 3、菜单功能 4、退出功能 5、添加联系人 5.1 设计联系人结构体 5.2 设计通讯录结构体 5.3 main函数中创建通讯录 5.4 封装联系人函数 5.5 测试添加联系人功能 6、显示联系人 6.1 封装显示联系人函数 7、删除联系人 7.1…