接口测试

接口测试基础学习笔记

穿精又带淫゛_ 提交于 2019-12-26 00:23:23
一、什么是接口 1.概念 接口分为程序对内接口和程序对外接口,内部接口一般为开发自测,测试测的是程序对外的接口。 接口其实就是各种数据库操作。 2.分类 (1) webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。(老系统中用到) (2) http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式 3.前端和后端 (1) 前段(客户端):网页(html、css)应用(andriod、Object-C) (2) 后端(服务器端):负责业务逻辑(java、python)、server端测试一般是测接口 (3) 前后端交互:接口返回的数据都是json(Key-Value),通用的数据类型:json 二、什么是接口测试 1.概念 接口测试就是功能测试 2.接口测试的必要性 (1) 可以发现很多在页面上操作发现不了的bug,例如通过接口修改订单的价格或数量。 (2) 检查系统的异常处理能力 (3) 检查系统的安全性、稳定性 (4) 前端随便变,接口测好了,后端不用变 3.接口测试的流程 (1) 需求评审,熟悉业务和需求 (2) 开发提供接口文档 (3) 编写接口测试用例 (4)

WEB接口测试之Jmeter接口测试自动化 (四)(持续构建)

余生颓废 提交于 2019-12-25 00:30:38
转载http://www.cnblogs.com/chengtch/p/6145867.html Jmeter是压力测试、接口测试工具,Ant是基于Java的构建工具,具有跨平台的作用,jenkins是持续集成工具。将这三者结合起来可以搭建一套webservice接口测试的持续构建环境。 1、安装JDK,配置java环境变量 (略过) 2、安装Jmeter,这里用到的版本是2.12 (安装过程略过) 3、安装 ANT 3.1 下载安装 下载地址 http://ant.apache.org/bindownload.cgi,下载后解压到指定位置即可, 比如:D:/program files/apache-ant-1.9.0 3.2 配置环境变量 3.3 安装验证 验证安装结果,命令行输入ant -v ,出现版本信息则安装成功 4、ANT中配置Jmeter 4.1、配置库文件 将jmeter extras目录下的ant-jmeter-1.1.1.jar 文件拷贝到ant安装目录下的lib文件夹中 copy from: paste to: 4.2 配置ANT与Jmeter的配置文件 4.2.1 配置ant 编译文件 build.xml 拷贝下面的内容与新建的txt文件中,并将此文件改名为:build.xml View Code 如下按实际情况修改build.xml文件 4.2.2

接口自动化测试框架 -- reudom

雨燕双飞 提交于 2019-12-24 23:08:39
reudom Automated testing framework based on requests and unittest interface. 基于 Unittest 和 Requests 的 接口自动化测试框架 介绍 基于Unittest/Requests的接口自动化测试库 提供脚手架,快速生成接口自动化测试项目。 自动生成HTML测试报告。 支持用例参数化。 支持用例失败重跑 对原生Requests库API无损 目录架构 myreudom/ ├── test_case/ │ ├── test_sample.py ├── reports/ └── run.py test_dir/ 目录实现用例编写。 reports/ 目录存放生成的测试报告。 run.py 文件运行测试用例。 安装教程 > pip install reudom If you want to keep up with the latest version, you can install with github repository url: > pip install -U git+https://github.com/SeldomQA/reudom.git@master 创建项目 >reudom --project myreudom 运行项目: > reudom -r run.py Python 3

接口测试-笔记3

安稳与你 提交于 2019-12-24 18:55:20
1,请求正文:数据内容 四种格式: a,application/x-www-form-urlencoded   对数据进行序列号处理,以键值对形式   key1=value1&key2=value2的方式发送到服务器 b,multipart/form-data   将表单中数据全部上传,包括文件 c,字符串文本格式:raw text/plain 纯文本,浏览器不解析 text/html html,浏览器自动解析 text/xml 或 application/xml 后者可制定编码格式 application/json,消息主题是系列化后的JSON字符串 4,二进制格式:binary 2,为什么做接口测试 a,弥补传统UI测试的不足 很多系统没有界面,只提供接口功能,无法通过界面的方式进行测试 你只测了前端页面可以测试的功能,服务端的功能你又覆盖了多少? > 服务费多有的功能接口都正常吗? > 每个接口返回的每个字段是否正确 > 绕过前端的校验,接口是否有必要的异常处理(长度、非空) 当APP的代码不更新,而服务端代码更新时,直接通过接口自动化测试就能快速知道是否影响APP的功能 b,安全方面 1‘OR ’ 1 ‘=’1 接口返回的字段中,是否包含多余信息(比如用户id,token等敏感字段) 用户密码、其他用户隐私信息传输时都需要进行加密后传输 接口是否存在防刷机制 3

使用Postman做接口测试

冷暖自知 提交于 2019-12-24 12:01:59
Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性。 它主要是用来模拟各种HTTP请求的(如:get/post/delete/put..等等),Postman与浏览器的区别在于, 有的浏览器不能输出Json格式,而Postman更直观接口返回的结果,下面介绍下Postman的安装和使用方法: 一.安装Postman 直接百度搜索“postman”,进入postman官网,找到Download即可,等待下载成功,下载成功后,一路安装即可。https://www.getpostman.com/ 这是百度介绍postman入门,很详细:https://jingyan.baidu.com/article/0f5fb09907e3046d8334ea2f.html 二、进行接口测试 打开postman 输入开发人员给的接口地址,选择Http请求,点击“send”按钮,即可查看返回结果 这里可以看到结果返回错误,提示用户未登录: 正确返回结果如下: 注意看datalist是否有返回值 三、如何查看该接口是get请求还是post请求

慢慢渗透Spring AOP概念(一)

南笙酒味 提交于 2019-12-23 08:33:19
慢慢渗透Spring AOP概念(一) 冷静 小白书生 今天 我们在理解Spring AOP概念的时候我们首先要知道什么是面向切面编程? 1:什么是面向切面编程(AOP)呢? 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 --来自《百度百科》 个人理解: 将那些与业务无关,却为业务模块所共同调用的逻辑进行的区分,比如在项目中我们用到的权限认证,日志记录,事务处理等等 AOP 是一种编程范式,不是编程语言,AOP只能解决特定问题不是解决所有问题,他是OOPd补充而不是替代。 AOP 初衷:1:DRY原则(代码重复性问题)2:Soc原则(关注点分离): 水平分离(展示层->服务层->持久层)/垂直分离(订单-库存的分离)/切面分离(分离功能性需求和非功能性需求) 好了废话不多说开始进行我们今天对于Spring AOP的理解吧! 2 :Spring AOP 的使用方式 本文主要讲解关于注解方式的使用

学习总结——接口测试中抓包工具的使用

血红的双手。 提交于 2019-12-23 05:26:26
在被测接口并没有明确的接口文档给出时,我们需要借助抓包工具来帮助测试,利用抓包工具我们几乎可以获得接口文档中能给你的一切。常见的抓包工具有Charles和Fiddler, Fiddler只能用在Windows平台, 而Charles可用于Windows, Mac, IOS和Android多平台。下面就总结一下Charles的用法。 Web 抓取: Charles配合PC平台的抓取很简单,打开Charles确定它已经开启了录制的状态,随便在浏览器上面操作你的网页所访问到的接口就都会被Charles抓到,想哪个,打开看即可,Request,Response,Headers,Cookies等应有尽有。 修改请求或返回值: 有时候我们需要修改请求或返回值来配合测试,Charles可以方便地帮你实现。在请求中,Charles可以做中间的编辑工作,原理如: 操作如下: 右击需要被修改请求,选择Breakpoints; 再次执行该请求时请求被发出后中断,你可以在Edit Request窗口对请求做你想要的修改,然后点击Execute继续发送请求,如果不需要改Request只想改Response的话可以在此直接点击Execute按钮; 请求发出,服务器处理后返回Response,这时服务器返回的Response被中断;你可以在Edit Response窗口做你想要的修改

测试流程注意事项

不问归期 提交于 2019-12-22 02:00:56
一 需求分析阶段 二 设计分析阶段 三 开发联调自测阶段 四 提测阶段 五 测试执行 六 上线阶段 七 运营阶段 一 需求分析阶段 1.业务修改 现有业务修改是否清晰 核心逻辑是否遗漏 有无业务冲突 2.用户体验和影响 交互是否合理 会不会拉长交易流程 干扰用户选择 下单和支付响应时长 3.周边业务线的影响 是否清晰描述上下游系统的影响 4.安全 黑白名单 反作弊 开关 规则和阈值 5.旧数据兼容 二 设计分析阶段 系统结构: 针对项目需求,结合业务现状来评估RD设计的系统修改点是否合理 模块、系统间使用了什么接口、中间件进行通讯(http、dubbo、mq、缓存、数据库、定时任务等),是否合理,例如dubbo循环依赖等 - 画出当前的系统结构图 - 标注出系统结构的改动点 数据流: 能不能拿到自己想要的数据,做出的修改是否会对现有系统造成负面影响,例如数据结构不兼容,缓存结构不兼容等 - 接口和接口字段的CUD(增、改、删) - 数据存储的变化(表、字段) 三 开发联调自测阶段 1.根据需求和设计文档进行case设计和评审(后续自动化case同步进行?) 2.测试环境准备 分支 sql ng 权限配置等 3.跨团队项目的上下游沟通 测试计划沟通 和上下游模块沟通各自负责的测试计划安排、测试范围、测试重要场景、跨团队 测试数据的构造、配合的方式,把团队间的影响降到最低。 环境对接

接口测试jmeter篇01

淺唱寂寞╮ 提交于 2019-12-21 23:50:21
性能测试 :测试内在属性,比如响应时间 压力测试 :测试外在属性,比如负载 线程: 指程序运行中的调度单位。 属性:1、轻型实体。2、独立调度和分派的基本单位,线程的切换非常迅速且开销小。3、可并发执行:在一个进程中的多个线程之间,可以并发执行。4、共享进程资源:在同一个进程中的各个线程,都可以共享该进程所拥有的资源。此外,线程还可以访问进程所拥有的已打开文件,定时器等。 线程的周期:新建、就绪、运行、阻塞、死亡 进程: 正在进行的程序的抽象。他是操作系统执行的基本单元。程序是一个没有生命的实体,只有处理器赋予程序生命时,他才能成为一个活动的实体,我们称其为进程。 特征:1、动态性。2、并发性:任何进程都可以和其他进程并发执行。3、独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位。4、异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的,不可预知的速度向前推进。状态:就绪、运行、阻塞。同一程序可以对应多个进程。 线程与进程 :线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间。多线程主要是为了节约CPU时间,发挥利用根据具体情况而定。线程的运行中需要使用计算机的内存资源和CPU。通常在一个进程中可以包含若干个线程,他们可以利用线程所拥有的资源。在引入线程的操作系统中