接口测试总结

一:接口测试思想

接口测试:通过向服务器端发送请求,获取响应与预期结果做对比的一种服务端黑盒测试过程。

解释:接口就是将浏览器,客户端,手机端,或者服务器调用另一个服务器的请求抽离出来测试,模拟这些请求来测试服务器的过程。

目的:找到服务端与接口文档不符的请求处理或返回响应;找到服务端对不同情况下参数的处理情况,异常处理情况;

测试思路(以下测试思想可根据实际接口服务的重要性来进行使用):

(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,接口测试流程的更多相关文章

  1. jmeter接口测试实战-创建用户

    jmeter接口测试实战-创建用户 相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建 ...

  2. JMeter接口测试实战-动态数据验证

    JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...

  3. Jmeter接口测试-断言

    JMeter接口测试-断言  对应qq群号:616961231 一个http请求发出,怎么判断执行的是否正确呢? 通过检查服务器响应数据,是否符合预期的数据, 如果是,任务成功,  如果否, 任务失败 ...

  4. JMeter 接口测试-if控制器

    JMeter 接口测试-if控制器 ​ 使用场景: 当业务场景是用户登录才能支付操作, 不登录点击支付, 页面会跳转到登录页面. 对于接口也是这样, 一个接口需要执行前, 需要有前提条件, 比如0状态 ...

  5. Jmeter接口测试实战-数据传递

    Jmeter接口测试实战-数据传递 接口与接口之间没有关联的测试是缺乏意义和没有灵魂的,只有数据在不同接口之间传递才能勾画出业务场景重要的链路. 我们用较为通用的http/https协议,接口普遍返回 ...

  6. Jmeter 接口测试实战-有趣的cookie

    Jmeter 接口测试实战-有趣的cookie 场景: 接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都 ...

  7. JMeter 接口测试(一)

    之前的篇幅介绍了soapUI测试接口, 因为功能丰富, 操作简单, 可以参数化而深受测试小伙伴的喜欢, 今天再给大家介绍一款利器, Jmeter是Apache组织下的免费工具, 我使用的是Mac 系统 ...

  8. Jmeter接口测试与数据驱动

    一. 背景 数据驱动Data Driven Testing(DDT),是一种用于创建自动化测试的方法,或者说是一种架构, 本质是输入数据和用这些数据获取测试结果, 使测试逻辑和测试数据分离. DDT的 ...

  9. 全网最全最细的jmeter接口测试教程以及接口测试流程详解

    一.Jmeter简介 ​ Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试. Jmeter具备高移植性,可以实现跨平台运行. Jmeter可以实 ...

  10. Jmeter接口测试流程详解(中科软测认证中心)

    1.jmeter简介 Jmeter是由Apache公司开发的java开源项目,所以想要使用它必须基于java环境才可以: Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同 ...

随机推荐

  1. 201521123031《Java程序设计》 第2周学习总结

    1. 本周学习总结 (1)能够更加熟练地使用码云 (2)学习了Arrys和String的用法和一些运用 (3)懂得如何查询函数的源代码,通过查看源代码,能够更深入的了解函数适用情况以及利弊 2. 书面 ...

  2. 201521123044 《Java程序设计》第01周学习总结

    1.本章学习总结 你对于本章知识的学习总结 1.了解了Java的发展史. 2.学习了什么是JVM,区分JRE与JDK,下载JDK. 3.从C语言的.c 到C++的 .cpp再到Java的.java,每 ...

  3. logback:用slf4j+logback实现多功能日志解决方案

    slf4j是原来log4j的作者写的一个新的日志组件,意思是简单日志门面接口,可以跟其他日志组件配合使用,常用的配合是slf4j+logback,无论从功能上还是从性能上都较之log4j有了很大的提升 ...

  4. 从instr中截取第一个delimiter之前的内容放到outstr中,返回第一个delimiter之后的位置

    从instr中截取第一个delimiter之前的内容放到outstr中,返回第一个delimiter之后的位置 char *msstrtok(char *instr, char *outstr, ch ...

  5. Q:哪里可以注册hk域名?A:这里!这里!(小白绢挥手)

    注意!前方有一条比你妈手中的竹板还硬的推文出没······ 咳咳,清清喉咙,预备唱! (请自动代入甜蜜蜜的曲调) 甜蜜蜜你笑的甜蜜蜜  好像花儿开在春风里  开在春风里 在哪里在哪里见过你  .HK域 ...

  6. 纳税服务系统【用户模块之使用POI导入excel、导出excel】

    前言 再次回到我们的用户模块上,我们发现还有两个功能没有完成: 对于将网页中的数据导入或导出到excel文件中,我们是完全没有学习过的.但是呢,在Java中操作excel是相对常用的,因此也有组件供我 ...

  7. MyEclipse用Java语言连接Oracle数据库

    在MyEclipse下Java连接Oracle数据库 第一步:新建Java项目. 填写项目名,其它设置默认,点击完成即可. 新建java类,填写包名和类名,勾选public static void m ...

  8. Linux 虚拟机安装后的配置和一些命令符笔记

    一.安装后的配置 1.设在终端的字体为等宽字体 比如:DejaVu Sans Mono 2.将当前的普通用户加入到sudo用户组adduser en sudochmod +w /etc/sudoers ...

  9. 自己把jar包添加到maven仓库中

    定制库到Maven本地资源库 这里有2个案例,需要手动发出Maven命令包括一个 jar 到 Maven 的本地资源库. 要使用的 jar 不存在于 Maven 的中心储存库中. 您创建了一个自定义的 ...

  10. 轻松把你的项目升级到PWA

    什么是PWA PWA(Progressive Web Apps,渐进式网页应用)是Google在2015年推出的项目,致力于通过web app获得类似native app体验的网站. 优点 1.无需客 ...