接口测试总结

一:接口测试思想

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

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

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

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

(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. 201521123038 《Java程序设计》 第一周学习总结

    201521123038 <Java程序设计> 第一周学习总结 1.本章学习总结 本周已掌握Java配置,初步认识Java运行软件和基本语法. Java语言语法和C语言基本类似,部分不同. ...

  2. 201521123005 《Java程序设计》 第十二周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...

  3. 201521123011《Java程序设计》第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. MySql数据库简单操作 1.启动与退出(quit或exit ) 操作 显示所有数据库: show databa ...

  4. Java:实现对象的比较 comparable接口和comparator接口

    在实际应用中,我们往往有需要比较两个自定义对象大小的地方.而这些自定义对象的比较,就不像简单的整型数据那么简单,它们往往包含有许多的属性,我们一般都是根据这些属性对自定义对象进行比较的.所以Java中 ...

  5. Java多线程高并发学习笔记(一)——Thread&Runnable

    进程与线程 首先来看百度百科关于进程的介绍: 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动.它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体.它不只是程序的代码,还包括当前的 ...

  6. Javascript-正则表达式-开发中的使用.

    -- "(-1~99)之间 -1表示无限次!" pattern="^((-1)|([0-9]{0,2}))$" -- "(0~99.99)之间 的金额 ...

  7. XML-为XML添加DTD-Schema方法

    以后都按照如下方式为XML添加dtd或者schema 1,一般从源码jar包里找dtd文件,拷贝到自己的本地目录中: 比如mybatis在如下目录中有dtd :~/ mybatis-3.2.2-sou ...

  8. STS安装

    在eclipse中安装spring tool Suite插件需要根据eclipse版本找到对应的spring tool Suite安装包. spring tool Suite 官网地址:http:// ...

  9. [Troubleshooting] Inter VT 主板已开启,但测试工具显示未开启.

    一周前给神船Z7SL3重装了Win10的系统,但安装VMware时遇到了比较诡异的事 主板确定开启了VT  但是VMware显示不支持64位 用工具Securable和Intel(R) Process ...

  10. 西邮linux兴趣小组2014纳新免试题(一)

    [第一关] 题目 0101001001100001011100100010000100011010000001110000000011001111100100000111001100000000000 ...