Postman和Jmeter的简单了解
- 接口测试和Postman
- 什么是接口测试
- 接口的分类
- 接口测试的重要性
- 接口文档
- 接口测试:json
- 什么是json
- 为什么使用json
- 接口工具Postman
- Get请求
- Post请求
- 性能测试和Jmeter
- 性能测试是什么
- 性能测试类型
- 性能测试工具
- Jmeter简介
- jmeter基本概念
- 为什么使用Jmete
- Jmeter的作用
- Jmeter怎么用
- 安装JAVA环境
- Jmeter的目录结构
接口测试和Postman
什么是接口测试
接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。
一般我们用的多的是HTTP协议的接口、WebService协议的接口,还有RPC(Remote Procedure Call Protocol)——远程过程调用协议的接口
不管是哪种接口,其本质就是发送一个request,然后服务器响应后返回一个response,然后我们对response进行分析,这即是接口测试。
接口的分类
- webservice接口
webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。 - http api接口
http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。
一个URL就是一个接口:接口大致会分为一下几个部分:
请求协议:
http — 普通的http请求
https — 加密的http请求,传输数据更加安全
请求IP:就是指提供接口的系统所部署的服务器地址
请求端口:如果不填端口,默认是80,否则需要填写端口号
接口路径:指系统提供的接口在什么位置
接口参数:参数在接口路径后,用“?”来表示路径地址完了,剩下的都是参数了,用“&”来区分参数个数。
接口测试的重要性
- 越底层发现bug,它的修复成本是越低的。
- 前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。
- 检查系统的安全性、稳定性,前端传参不可信,比如京东购物,前端价格不可能传入-1元,但是通过接口可以传入-1元。
- 如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。
- 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。
- 现在很多系统前后端架构是分离的,从安全层面来说:
(1). 只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。
(2). 前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。
接口文档
我们做接口测试,需要开发提供接口文档。最重要的有一下几点:
- 被测接口的地址
- 接口参数,以及各个参数的说明
- 必要的http头与http体 ( http头是可以自定义的,可以用来校验是否是自己人访问 )
- 接口返回什么值,以及各个返回值的说明
- 接口是干什么的
接口测试:json
什么是json
Json是一种数据载体
互联网本质就是数据传输,数据传输就需要数据载体。比如:页面信息就是存储在HTML这种数据载体中
为什么使用json
Json传输数据效率更高,所以部分场景下使用HTML与XML
但是JSON语言描述不及标签语言,所以部分场景下使用HTML与XML
如果传递少量数据,使用JSON
接口工具Postman
Get请求
Post请求
性能测试和Jmeter
性能测试是什么
基于协议模拟用户发出请求,对服务器形成一定负载,来测试服务器的性能指标是否满足要求
性能指标关注点:时间性能、空间性能
性能测试与页面无关
性能测试定义:指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
性能测试类型
- 基准测试:在给系统施加较低压力时,查看系统的运行状况并记录相关数做为基础参考
- 负载测试:是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到安全临界值,例如某种资源已经达到饱和状态等 。
- 压力测试:压力测试是评估系统处于或超过预期负载时系统的运行情况,关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。
- 稳定性测试(可靠性测试):在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。24X3小时
- 并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题,
性能测试工具
Jmeter简介
jmeter基本概念
Apache JMeter是Apache组织开发的基于Java的压力测试工具。
为什么使用Jmete
开源,免费,基于Java编写,可集成到其他系统可拓展各个功能插件
支持接口测试,压力(负载和压力)测试等多种功能,支持录制回放,
入门简单相较于自己编写框架活其他开源工具,有较为完善的UI界面,便于接口调试
多平台支持,可在Linux,Windows,Mac上运行
支持多协议
Jmeter的作用
- 接口测试
- 性能测试
- 压力测试
- Web自动化测试
- 数据库测试
Jmeter怎么用
Windows下Jmeter下载安装
登录http://jmeter.apache.org/download_jmeter.cgi ,根据自己平台,下载对应文件
安装JAVA环境
安装JDK,配置环境变量(具体步骤不做介绍)
将下载Jmeter文件解压,打开/bin/jmeter.bat
Jmeter的目录结构
/bin 目录(常用文件介绍)
examples:目录下包含Jmeter使用实例
ApacheJMeter.jar:JMeter源码包
jmeter.bat:windows下启动文件
jmeter.sh:Linux下启动文件
jmeter.log:Jmeter运行日志文件
jmeter.properties:Jmeter配置文件
jmeter-server.bat:windows下启动负载生成器服务文件
jmeter-server:Linux下启动负载生成器文件
/docs目录——Jmeter帮助文档
/extras目录——提供了对Ant的支持文件,可也用于持续集成
/lib目录——存放Jmeter依赖的jar包,同时安装插件也放于此目录
/licenses目录——软件许可文件,不用管
/printable_docs目录——Jmeter用户手册