接口测试思路,jmeter,接口测试流程
接口测试总结
一:接口测试思想
接口测试:通过向服务器端发送请求,获取响应与预期结果做对比的一种服务端黑盒测试过程。
解释:接口就是将浏览器,客户端,手机端,或者服务器调用另一个服务器的请求抽离出来测试,模拟这些请求来测试服务器的过程。
目的:找到服务端与接口文档不符的请求处理或返回响应;找到服务端对不同情况下参数的处理情况,异常处理情况;
测试思路(以下测试思想可根据实际接口服务的重要性来进行使用):
(1):根据测试文档,发送请求,得到预期响应(关注必填与非必填选项的测试,当选填是选填时测试未填写时候响应是否合理)。
(2):测试接口通过参数的多种调用方式,查看返回结果是否一致。
(3):对请求参数做边界值测试和错误推断,测试服务端能否正常处理或处理相应的异常。
(4):若接口为底层核心服务,测试徐覆盖每种返回的情况。根据接口文档定义的响应返回code,做覆盖性测试。
(5):核心的增删改操作需要查看数据库去验证,或者使用查询接口进行验证。
二:接口测试工具选择
根据接口协议选择合适的接口,调试确认正向用例跑通。
2.1:Jmeter总结归纳
1.注意熟悉接口协议类型,选择合适的sampler, 若接口具有某些特殊的信息相应的设置jmeter的选项。
2.对于web项目http请求,cookie管理器和合适的信息头管理器很重要,
3.正则提取器:

注意:正则表达式的设计,转义的使用,注意模板的使用$1$$1$,和匹配数字的使用0为随机,1为第一个,-1为全部提取。当选择-1时 需用变量_1,变量_2,等来表示第一个第二个,同时要注意变量_g0,变量_g1的含义和区别。这些适合用debugsampler去调试。
4.函数的使用:合适的使用表达式对参数进行构造,比如时间戳,比如大小写转换,随机数等等,可以为jmeter添加常用函数。
5.当没有对应的函数,可以自己使用beanshell来处理,思想,使用Java脚本对变量进行处理。可以调用外部的java 文件,class文件和jar包文件。注意两点
这两点博客上大都没有提出来,甚至是错误的。
(1):beanshell 不支持\\和\,所以路径需写成source(“d:/abc.java”)
(2)vars.put(“name”,”${username}”);${username}外边需加上双引号。
6 https请求的实现
首先需要确认访问的网站pc浏览器端是否需要证书。若不需要证明证书在服务端。此时只需要

若需要证书,将证书导入jmeter,具体方法详细百度。
文件上传的http post请求需勾选
三:推荐的测试流程
1.熟悉接口文档,了解测试范围,测试点,设计测试用例。
2.使用Linux,unix ,mac自带的curl命令确认接口正向(冒烟测试)通过,若不通过直接返回开发人员。(不能用工具做这件事由于工具的选项太多很难判断是脚本不正确还是接口本身不正确。)
如:Curl -F name=value http://host:port/road
详细curl命令:http://www.cnblogs.com/duhuo/p/5695256.html
3.确认接口可以跑通后,将接口录制到jmeter,注意jmeter的选项是否正确。进行测试分析归档。有利于回归测试和测试结果及报告的生成。
4.测试完成过,修改脚本添加断言,方便回归测试。这里会用到参数化。
5.测试完成生成测试报告。
6.将需要做性能的脚本简化提取,添加相关性能组件,为可能的压力测试做准备。
接口测试思路,jmeter,接口测试流程的更多相关文章
- jmeter接口测试实战-创建用户
jmeter接口测试实战-创建用户 相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建 ...
- JMeter接口测试实战-动态数据验证
JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...
- Jmeter接口测试-断言
JMeter接口测试-断言 对应qq群号:616961231 一个http请求发出,怎么判断执行的是否正确呢? 通过检查服务器响应数据,是否符合预期的数据, 如果是,任务成功, 如果否, 任务失败 ...
- JMeter 接口测试-if控制器
JMeter 接口测试-if控制器 使用场景: 当业务场景是用户登录才能支付操作, 不登录点击支付, 页面会跳转到登录页面. 对于接口也是这样, 一个接口需要执行前, 需要有前提条件, 比如0状态 ...
- Jmeter接口测试实战-数据传递
Jmeter接口测试实战-数据传递 接口与接口之间没有关联的测试是缺乏意义和没有灵魂的,只有数据在不同接口之间传递才能勾画出业务场景重要的链路. 我们用较为通用的http/https协议,接口普遍返回 ...
- Jmeter 接口测试实战-有趣的cookie
Jmeter 接口测试实战-有趣的cookie 场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都 ...
- JMeter 接口测试(一)
之前的篇幅介绍了soapUI测试接口, 因为功能丰富, 操作简单, 可以参数化而深受测试小伙伴的喜欢, 今天再给大家介绍一款利器, Jmeter是Apache组织下的免费工具, 我使用的是Mac 系统 ...
- Jmeter接口测试与数据驱动
一. 背景 数据驱动Data Driven Testing(DDT),是一种用于创建自动化测试的方法,或者说是一种架构, 本质是输入数据和用这些数据获取测试结果, 使测试逻辑和测试数据分离. DDT的 ...
- 全网最全最细的jmeter接口测试教程以及接口测试流程详解
一.Jmeter简介 Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试. Jmeter具备高移植性,可以实现跨平台运行. Jmeter可以实 ...
- Jmeter接口测试流程详解(中科软测认证中心)
1.jmeter简介 Jmeter是由Apache公司开发的java开源项目,所以想要使用它必须基于java环境才可以: Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同 ...
随机推荐
- 201521123077 《Java程序设计》第9周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 异常分为uncheckedException和checkedException checkedException 继 ...
- 201521123113《Java程序设计》第13周学习总结
1. 本周学习总结 2. 书面作业 Q1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 返回的结果 ...
- Java课程设计 ————五子棋 (个人博客)
JAVA课程设计 五子棋(博客个人版) •团队课程设计博客链接 http://www.cnblogs.com/mz201521044152/p/7065575.html •个人负责模块或任务说明 1. ...
- 201521123020《java程序设计》第十周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 finally 题目4-2 1.1 截图你的提交结果(出现学 ...
- 201521123020 《Java程序设计》第9周学习总结
1.本周学习总结 2. 书面作业 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 答:数组越界:不需要 ...
- 理解G1垃圾回收日志
本篇文章主要介绍在-XX:+PrintGCDetails选项的情况下G1 GC log打印的信息.(注:本文假设读者对G1算法的基本原理已经有所了解) 下面是一段G1垃圾收集器相关的log信息 0.5 ...
- [python学习笔记] pyqt5下载与安装
下载 命令安装 pip3 install PyQt5 但是我这里老安装失败 失败问题 host='pypi.python.org', port=443): Read timed out 方案1:加大命 ...
- 再起航,我的学习笔记之JavaScript设计模式25(迭代器模式)
迭代器模式 概念介绍 迭代器模式(Iterator): 在不暴露对象内部结构的同时,可以顺序地访问聚合对象内部的元素. 迭代器 程序中的循环是一种利器,循环语句也使我们程序开发更简洁高效,但是有时一遍 ...
- Maven(六)之依赖管理
前面讲了maven一些关于Maven的简单知识,今天我给大家分享一些Maven的依赖管理.我相信用过maven的人都知道,它很重要的功能就是通过依赖来添加jar包. 让我们领略一下Maven是怎么管理 ...
- 用 Python 撸一个区块链
本文翻译自 Daniel van Flymen 的文章 Learn Blockchains by Building One 略有删改.原文地址:https://hackernoon.com/learn ...