接口测试

接口测试

妖精的绣舞 提交于 2019-11-26 21:09:49
接口理念 不要过度迷信工具,首先还是解决原理问题 接口测试就是用两个工具调用一下然后结果就出来了 接口是指系统模块与模块或系统与系统间进行交互,一般我们用的多的是HTTP协议的接口,WebService协议的接口,还有RPC(Remote Procedure Call Protocol)---远程过程调用协议的接口 不管哪种接口,其本质就是发送一个request,然后服务器响应后返回一个response,然后我们队response进行分析,这即是接口测试 1.接口测试做好要覆盖业务 2.接口测试做好要覆盖代码 MC/DC 为什么要做接口测试 随着系统越来越多,以及复杂性越来越高,为了保证系统的独立性,也为了使业务更加的独立,系统间的交互,越来越多的使用接口这时候,为了保证数据的传输的准确性,接口测试也应运而生了,数据的错误,有可能引起系统的重大bug,所以,为了持续性的检查接口数据的准确性,接口测试的重要性也就不言而喻了 接口测试的目的及方法 核心:保证系统的稳定 方式:持续集成 目的:提高测试效率,保证数据的准确性 文档:接口的数据类型是需要事先定义好的,所以,要形成文档的习惯,以方便查阅,尽量减少团队与团队间的沟通成本,同理,我们在接口测试中,也需要根据文档,整理出我们的接口测试数据,整理出我们的断言字段,也方便其他人去审核我们接口测试的成果 常见接口测试工具 SoapUI

接口测试理论 01

纵然是瞬间 提交于 2019-11-26 21:09:05
1、什么是接口测试 1)接口的分类:http-post、get、delete、put。 接口post和接口get的 区别 :【请求数据大小不同,安全性不同】 post 后面跟了只有一个接口,其请求数据放在webform里面,以 表单 形式提交;比较 安全 。 get 后面很多字符串(所有的数据都拼接在地址栏里面),通过地址栏提交,提交的数据是要小一些的,因为地址栏提交的大小有上限,从而安全性也较差。 2、接口测试流程 需求讨论->需求评审->场景设计->用例设计->数据准备->执行 2-1. 为什么要设计测试用例: 理清思路,避免漏测 提高测试效率 跟进测试进度 告诉领导做过 跟进重复性工作 2-2. 接口测试用例四个方向:功能、逻辑业务、异常、安全 功能用例: 功能是否正常(是否能正常返回数据); 功能是否按照接口文档来实现(字段名字、字段值含义) 逻辑用例 是否依赖业务(下单是否登录?) 异常测试 : 参数异常 & 数据异常 参数异常 a. 关键字参数(参数名字错误) b. 参数为空(参数名为空,只有参数值) c. 参数多、少(多出一个参数或少一个参数) d. 错误错误(参数名字错误) 数据异常 a. 关键字数据(参数值为NULL) b. 数据为空(参数值为空) c. 参数值长度不一致(大于数据库字段长度) 4)错误数据(不存在的数据) 安全测试 a. cookie

Python接口测试实战1(上)- 接口测试理论

一世执手 提交于 2019-11-26 21:08:46
如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战2 - 使用Python发送请求 Python接口测试实战3(上)- Python操作数据库 Python接口测试实战3(下)- unittest测试框架 Python接口测试实战4(上) - 接口测试框架实战 Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例 Python接口测试实战5(上) - Git及Jenkins持续集成 Python接口测试实战5(下) - RESTful、Web Service及Mock Server 更多学习资料请加QQ群: 822601020获取 本节内容 接口及接口测试 网络基础知识:IP,域名, DNS及端口 网络基础知识:OSI七层模型及TCP协议 HTTP协议 接口及接口测试 这里插播一个段子 上图中,程序员口中提到的接口是什么意思呢? 手机壳有没有颜色这个属性(功能)? — 有 手机壳有没有提供让程序获取它颜色的途径? — 没有,这个途径就是接口 接口的概念 接口又称API(Application Programming Interface,应用程序编程接口),是一些预先定义的函数

接口测试--了解一下

对着背影说爱祢 提交于 2019-11-26 21:06:05
首先,什么是接口呢? 接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口。 系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的,比如说咱们用的app、网址这些它在进行数据处理的时候都是通过接口来进行调用的。 程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,要发帖就得登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。 一、常见接口: 1、webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有SoapUI、jmeter、loadrunner等; 2、http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。可以使用的工具有postman、RESTClient、jmeter、loadrunner等; 二、前端和后端: 在说接口测试之前,我们先来搞清楚这两个概念,前端和后端。 前端是什么呢

接口测试中GET和POST两种基本HTTP请求方法的区别

早过忘川 提交于 2019-11-26 19:12:51
面试时,可以回答(一般答前4条就行): GET参数通过url传递,POST放在request body中 GET请求在url中传递的参数是有长度限制的,而POST没有 GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息 GET请求参数会给完整保留在浏览器历史记录里,而POST的参数不会被保留 GET请求只能进行url编码,而POST支持多种编码方式 GET请求被浏览器主动cache,而POST不会,除非手动设置 GET产生的url地址可以被bookmark,而POST不可以 GET在浏览器回退时是无害的,而POST会再次提交请求 深入: GET和POST本质上没有区别 GET和POST是什么? 答:HTTP协议中的两种发送请求的方法,本质是TCP连接 HTTP是什么? 答:超文本传输协议。HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。 举例说明: TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。 但是如果路上跑的全是看起来一模一样的汽车,那这个世界看起来是一团混乱,送急件的汽车可能被前面满载货物的汽车拦堵在路上,整个交通系统一定会瘫痪。 为了避免这种情况发生,交通规则HTTP诞生了。HTTP给汽车运输设定了好几个服务类别,有GET, POST, PUT, DELETE等等, HTTP规定

Postman&Jmeter&SoapUI

别来无恙 提交于 2019-11-26 18:47:21
一 简介 1、 Postman 是一款功能超级强大的用于发送 HTTP 请求的软件 。 1)创建和发送任何的HTTP请求,请求可以保存到历史中再次执行 2)使用Postman Collections可以更有效的测试及集成工作流管理和组织APIs 3)可以依据你创建的Clollections自动生成API文档,并将其发布成规范的格式 4)通过同步连接你的team和你的api,以及权限控制 2、下载安装postman 3、设置环境变量 有时需要在不同的环境下跑相同的测试,此时可以通过设置环境变量来动态选择。点击右上角的设置按钮: 填写该环境的名称:如测试环境,并在key和value中填写需要的键值 使用这些键值的时候只需要加上两个花括号引用key,如{{base_url}}/username,创建好所有环境后,在跑用例的时候在右上角下拉列表选择需要的环境就好 二、请求 HTTP请求的4部分:URL,请求的method,headers,body。 2.1Method 2.2 URL 首先需要设置的就是URL 2.3 Authorization 如果访问的服务需要验证,这里可以设置验证方式+填写验证所需的信息,比如用户名密码。 参考: Authentication helpers postman有一个helpers可以帮助我们简化一些重复和复杂的任务

接口测试之——Charles抓包及常见问题解决

夙愿已清 提交于 2019-11-26 16:12:36
简介 Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用, 安装Charles的时候要先装好Java环境 。 Charles 是在 常用的网络封包截取工具,在做 移动开发 时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 HTTP协议 。 Charles 是收费软件,可以免费试用 30 天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过 30 分钟,并且启动时将会有 10 秒种的延时。因此,该付费方案对广大用户还是相当友好的,即使你长期不付费,也能使用完整的软件功能。只是当你需要长时间进行封包调试时,会因为 Charles 强制关闭而遇到影响。(可以自行网上查找破解版软件) Charles 主要的功能包括: 截取 Http 和 Https 网络封包。 支持重发网络请求,方便后端调试。 支持修改网络请求参数。 支持网络请求的截获并动态修改。

接口导读

♀尐吖头ヾ 提交于 2019-11-26 07:51:57
一、接口导读 1.接口测试: 更容易实现持续集成 2.持续集成: 大型系统复杂,系统间模块很多,接口测试使bug更容易定位,提高效率 技能树: 开发语言:Java 测试框架:testng,httpclient mock技术:前后端分离,集成 数据持久层框架(MYBatis) 持续集成(jekins) http协议 来源: https://www.cnblogs.com/huanlfu/p/11317033.html

testlink+jenkins+python api接口测试环境搭建

给你一囗甜甜゛ 提交于 2019-11-26 07:33:17
前提: 1、安装Testlink 2、安装Jenkins 3、安装python 获取testlink个人密钥 Testlink相关配置与用例管理 为了批量设置接口ip,端口(主要是这两个),协议信息(仅用于展示),需要对项目,计划,套件等必要的配置,以及客户端环境变量配置 a)API相关配置 如下,登陆Testlink,进入用户管理-查看用户,如下 点击目标用户(例中为admin),打开如下界面 点击生成新的密钥,如下 或者是点击“编辑用户按钮”按钮进入界面 在运行python脚本端进行环境变量的配置,如下: 1、新建系统环境变量“TESTLINK_API_PYTHON_DEVKEY”,变量值为上述秘钥 2、新建“TESTLINK_API_PYTHON_SERVER_URL”系统环境变量,变量值为“ http://{host}/testlink/lib/api/xmlrpc/v1/xmlrpc.php”,其中host为testlink的访问地址 测试是否生效: C:\Users\laiyu>python Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 tel)] on win32 Type "help", "copyright", "credits" or "license" for

it专业测试-解析

人走茶凉 提交于 2019-11-26 01:34:41
目录 1.继承thread类必须实现哪个方法 2.关于ArrayList 和LinkedList的说法错误的是 3.MySQL中语句的%和 _ 表达正确的是 4.下面那个关于接口的表述是错误的 5.下面哪项不是数据库的四大特征之一 6.以下对封装的描述正确的是 7.以下代码输出运行输出的是 8.下面那个HTTP的状态码表示数据永久重定向 9.下面哪项不是合法的bean的scope属性值 10.下面那个是线程安全的 11.关于变量的命名规范,说法正确的是 12.下面哪个命令用于测试网络连通性的 13.可以是用哪个工具查看java线程状态 14.java如何创建多线程 15.下面哪个关键词与AOP无关 16.在Java语言中,下列关于类的继承的描述哪个是正确的 17.Java类中静态integer变量的默认值是什么 18.下面哪种情况,不会影响普通索引生效 19.欲构造ArrayList类得出一个实例,继承List接口,下列哪个方法是正确的 20.OutOfMemory错误的常见原因不是下面哪个 21.类的构造函数是否可以被override?是否可以被overload? 22.下面哪个关键词可以防止类被override? 23.在Java中,下面对于构造函数的描述正确的是 24.Java接口修饰符可以为 25.下面哪项不是spring注入bean的方式 26