HTTP API接口测试利器PostMan介绍

一、什么是API接口测试?API接口有多种,个人将其划分为三类。第一种是函数级别的,测试需要对接口的各个参数进行测试,如:IntgetResult(Stringkey,StringID,Intticket)。第二种是对象级别的,开发在使用API接口时,先引入包名,在使用之前声明一个对象,之后可以使用对象提供的方法,而测试时,需要测试的是API的功能及对数据输入的正确性。第二种和第一种的差别是,我们只需关注提供给用户使用的接口就可以了,不用关心接口调用其他函数情况,相对于第一种来说,测试的粒度要大一些,范围小一些。第三种是http协议的接口,App客户端和后端服务连接,一般采用的都是http协议,客户端通过get和post的方法从后端服务获取数据。第三种相对于第二种来说,粒度更大,我们关注的接口更少,但是这些接口都是核心功能。二、为什么要测试API接口?App后端服务,在出现功能异常时,或者吐出异常数据时,可能会导致客户端功能异常,甚至出现崩溃的现象。而客户端由于数据的问题而崩溃,如果容错不到位,可能导致App永远无法启动。这种伤害,对用户,对公司来说,都是巨大的。因此有必要进行API接...

基于Python的接口自动化测试框架

公司内部的软件采用B/S架构,目的是进行实验室的数据存储、分析、管理。大部分是数据的增删改查,但是由于还在开发阶段,所以UI的变化非常快,难以针对UI进行自动化测试,那样会消耗大量的精力与时间维护自动化脚本,对于小团队来说就得不偿失了。  针对此种情况,选用接口测试较为有效。  针对接口测试的自动化工具也很多,例如SoupUI、Postman、robotframework,甚至jmeter这样的性能测试工具都可以进行接口测试。  robotframework测试框架有很多的第三方库可以使用,采用的是填表的方式进行,较容易上手,但是无法深入底层的了解客户端与服务器的交互过程。jmeter这样的专注性能测试的工具,进行接口测试,有点大材小用的感觉而且无法生成测试报告。但是这些工具灵活性不够,也不完全适用于被测系统。  综上考虑,决定自己开发一个简单的框架,优点是足够灵活,可以随时根据需求进行变更,后台使用的是python+flask进行开发,此次选用python2.7.11进行框架的开发,python开发的速度很快,且容易上手,丰富的第三方库,大大加快了开发速度和难度。  由于是框架,所以...

浅析接口测试

接口测试是一种测试类型,又是一种测试方法,它是很多个领域测试工作的一部分,同时它又可以通过不同方式来执行;功能测试功能测试即我们常说的黑盒测试,传统意义上的黑盒测试即验证开发出来的产品是否满足产品提出的产品需求说明书,而接口实际上也是产品需求的一部分; 例如: 产品需求:客户端输入一个词,点击按钮,即按时间倒叙展示这个词相关的新闻; 功能实现:客户端将用户输入的词拼成http请求,发往服务端接口接口查找了这个词有关的新闻,并且按时间倒叙拼接成json,回复给客户端,客户端按顺序展示。 这个例子里,中心需求≈接口功能安全测试经常听说的安全测试很大程度上也属于接口测试的一部分,因为接口相当于内部服务器和外界的桥梁,如果桥上没有警卫,那任何人都可以进到内部服务器,这里说的警卫其实就是接口的安全校验; 举个已经烂了的例子: 接口功能:接收用户输入的词,到数据库查询这个词的解释; 这里涉及到将用户输入的词拼成sql的过程,接口要做的不仅仅只拼接sql并执行,更重要的是过滤用户输入的异常字符串;自动化测试传统意义上...
IT猿 IT猿·2020-03-25

接口测试之JMeter初探

1、JMeter安装配置1)登录 http://jmeter.apache.org/download_jmeter.cgi ,下载与自己的平台相对应文件;2)安装JDK(1.6以上),配置环境变量JAVA_HOME(C:ProgramFilesJavajdk1.7.0_17)Path(%JAVA_HOME%in;%JAVA_HOME%jrein)CLASSPATH(.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libools.jar),通过javac和java-version验证开发环境是否配置成功;3)将下载Jmeter文件解压,双击/bin/jmeter.bat运行Jmeter。 2、使用JMeter建立接口测试【需求】某组机器是Android和iOS输入法接口服务器,有很多重要的接口,例如:升级,网络开关,热词等。现在有3台机器过保要下线,新申请了3台机器,需要验证一下这3台机器接口的正确性。【测试步骤】1)确认接口首先从开发人员那里获取接口文档,接口文档应该包括完整的功能接口接口请求方式、接口请求URL、接口请求参数、接...

服务端测试之接口测试工具——postman

今天跟大家分享一个非常常见大家也非常熟悉的测试工具——postman。1.安装postmanpostman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。打开chrome浏览器,在浏览器中访问 https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop ,点击“添加至CHROME”,安装该插件,如图。 安装完毕后,访问chrome应用(chrome://apps/)即可看到该插件。在该插件上右击,并在弹出菜单上点击“创建快捷方式”,可以在任务栏、桌面、开始里创建该插件启动的快捷方式,这样便于我们使用。2.postman使用(1)postman工具结构 打开postman,左侧的导航栏有两类:History和Collections。History是用来记录postman曾发出的http请求,Collections则对测试集或测试用例集进行管理。postma...

服务端测试之接口测试初探

  提起服务端测试,第一反应想到的可能就是http协议、socket连接、post/get发送请求等等。回想起小编当时初次接触服务端测试,真可谓一脸懵逼,不知道要干什么也不知道从哪儿开始做。服务端测试往往呈现给大家的是一个很大很宽泛的任务,我们知道要做服务端测试但却不知道怎么做,流程是啥,用什么工具去做,要达到什么样的效果。今天小编就结合最近自己做的一些服务端测试的任务,和大家聊聊服务端测试中的一个常见方法——接口测试。一、什么是接口测试 先来看看接口测试的定义:接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。如今的软件系统通常采用前后端分离的模式进行设计与实现,即一个系统分为前端(客户端)和后端(服务端)两部分。通常服务端以接口的形式给客户端提供服务,实际上接口和客户端的功能之间是关联的:每个接口都对应着客户端一个或多个功能点;而客户端同服务端的交互,一般也是以接口作为基础,客户端根据不同的需要请求不同的接口...

白盒测试——私有接口测试

起因:白盒测试过程中,经常会遇到被测接口是私有接口,不能通过直接访问接口进行测试,那么对于这样的接口我们怎么进行路径覆盖呢?想到的办法:1.通过访问上层接口构造相应数据来测试私有接口;2.通过走查私有接口,设计用例通过黑盒的方式覆盖代码逻辑;3.在私有接口中期望关注的位置上设置断点,构造相应数据,观察运行过程中断点位置的数据变化是否符合预期;4.将私有成员定义为公有成员;5.声明测试类为被测试类的友元类。几种测试方法的对比:Ø前三种办法覆盖度不高,复用率较低,但单位时间获得的测试覆盖度较大;Ø第四种方法通过#defineprivatepublic的方式可以在外部访问类的私有变量,但这时所有的外部类都可访问这个类的私有成员,较危险;Ø第五种方法通过在A类中声明B类为其友元类,这样B类中就可以访问A类中的所有私有成员和保护成员了,其他类依然没有权限访问A类的私有成员和保护成员,较为安全。怎么使用友元类进行测试呢? 第一步:在被测函数中声明测试函数为其友元类; 第二步:新建头文件B.h,引用被测试类的头文件,并声明该类,在我们自己...

服务端的性能测试(一)

说起性能测试,许多移动端测试的人员可能会比较陌生,性能测试不是涉及到APP的启动时间、流量、大小、耗电量等的相关指标么。本文所讲的是一个与APP的性能测试完全不同的领域:服务端的性能测试。我们会针对服务端有一些不同的指标。   那么究竟什么是服务端的性能测试?   我们从最基本的功能测试说起吧。比如,我们要测试一个接口的返回,那么我们测试的时候,会有一个输入的参数,服务端接收到了后会返回一些数据,然后客户端会利用这些数据展示一些相应的结果,如果符合最开始的预期则功能正确。     那么,我们如何对该接口进行性能测试呢?    我们会模拟多个人同时进行访问这个接口,在保证返回数据正确的前提下,去监管服务端的程序下的各项性能指标和该服务器处理这些请求的时候服务器的硬件使用情况。   好吧,这个比喻比较粗犷,但是涵盖了性能测试的基本注意点:   1.功能首先要保证接口处理数据的正确性&...
IT猿 IT猿·2020-03-25

使用loadrunner进行压力测试遇到的问题总结

本人整理了一个LR使用过程中遇到的各种问题的总结文档,有需要可以加QQ群169974486下载。一、无法生成虚拟用户,运行报错:CCIcompilationerror-vuser_init.c问题出现情景是:loadrunner当天可以正常运行,保存好后,脚本和参数化也保持一致,第二天再次打开不能使用。在controller中,脚本运行,提示错误:LR8.1Error:CCIcompilationerror-vuser_init.c 直接在loadrunnergenerator打开之前保存的脚本,点击运行无法执行,在回放日志栏提示:vuser_init.c:Nosuchfileordirectory 分析其原因是,缺少文件 解决办法:拷贝一个init.c文件放在测试脚本目录下或者重建一个文件;二、Error:Failedtosenddatabychannels-postmessagefailed寻找解决办法,多数测试人员给出解答如下:出现这个问题,目前判断是因为lr和测试机环境或者测试服务的兼容性出现了问题,而且一般的这个问题只是在测试大数据访问的时候才会...

服务端的性能测试(二)

通过上一篇的讲解,我们已经了解了一些性能测试的指标了,也知道性能测试的主要手段是通过发生出一些模拟真实业务的请求来造成压力对被测系统进行不停的加压,在这同时监控被测服务器的各项性能指标,分析被测服务器在不同压力测试下的表现,找出其可以突破的性能瓶颈。      那么,如何对系统进行性能测试,又如何对服务器的各种指标数据进行监控呢?这里,就不得不提到性能测试工具了。     在这之前,我们可以尝试着先试想下在没有性能测试工具的前提下,如何对一个系统进行一次压力测试      假设现在我们要对一个接口进行一次性能测试,模拟在15个用户在线使用这个接口返回的数据是否可以在一个可接受的时间内返回正确的数据。      理所当然的,我们可以想到测试的必要条件有如下几点:15个线程同时并发运行,产生访问压力1个线程协调程序,对15个线程的协调控制,实现并发操作1个数据记...
IT猿 IT猿·2020-03-25

H5前端性能测试总结

测试关注指标Http请求个数同一个域名不同浏览器内核、不同版本浏览器,大部分并发请求数是6个;优化方案:a.雪碧图:即CSSSprite,也称CSS精灵,是一种CSS图像合并技术,该方法是将小图标和背景图像合并到一张图片上,然后利用CSS的背景定位来显示需要显示的图片部分。b.图片地图:是一种小图合并大图的范式,和雪碧图相似,区别仅在实现原理上有不同,雪碧图仅仅是通过CSS的方式来呈现图片的某个局部,而图片地图是从html代码的方式来控制显示区域。c.JS&CSS合并:将多个小的js、CSS合并成一个大的js、CSS文件,间接达到减少http请求的目的。组件是否压缩压缩方法:在http请求中设置所接受到压缩方式,在Server端对Response资源进行压缩再传给浏览器。一般使用GZIP设置content-Encoding字段压缩对象:图片音乐不需要再压缩;Js,CSS通过去掉空格和回车来压缩,再经过GZIP压缩;图片格式和大小是否合适图片格式:JPG性价比最高;图片尺寸:常用规格为480×800、600×1024、720×1280,800&...

测试实施方法论

01前言也是以前做质量管理时整理的表。虽然最后因为各种各样的原因没有延续下去,不过最初的想法还是好的。这个表当初的目的也是希望提高项目管理成熟度,希望项目里的每个人在做事情时有一个更清晰的指导。有一次一个客户看到这张表,很是惊讶,佩服我们做事情的专业这个表,对于测试经理培养测试新手还是有一定帮助的。 02图片简介有一些工作,后面插入了文档模板,但不知道为什么经常会出错,导致文档模板打不开。对培养测试新手来说,讲一讲标准的项目生命周期还是很有帮助的。正如书法家练习草书之前会先练楷书一样,有了一些标准项目实施的经验,再遇到各种各样的实际情况,就会更加游刃有余了。看一下sheet,我分了几个阶段,这个是大同小异的。每个sheet中具体的工作内容,当时整理的时候限于水平,还有很多不成熟的地方。大家可以根据自己的实际情况去完善、补充。 ...

一个比较实用的测试方法

前几天有人在群里问,“正交测试法”在工作中用不用的到。借此说一下我的看法。正文在测试工作中,多数系统都需要设计我称之为“竞争条件测试”的用例。何为“竞争条件测试”,即多个进程或线程操作统一资源,比如两个用户,一个在删除一条订单,另一个同时在编辑该订单。我们需要确认这种情况下,系统是否进行了正确的处理。我通常会设计一些正交表格来分析这种情况,以保证没有遗漏。比如下图: 还有这种:用黑盒测试法怎么进行测试呢?比如两个用户同时操作一个订单的情况。具体做法是开两个浏览器,一个打开订单修改页面,这时在另一个浏览器将订单删除;第一个浏览器在不刷新页面的情况下,进行保存。 有些情况下,处理多线程争抢同一资源会利用下面提到的锁机制(当然也会有其他处理方式)。 锁业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个cut-off时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时,数据再发生变化。此时,我们就需要通过一些机制来保证这...

用soapUI测试xml格式的HTTP接口

有些HTTP接口是直接传递parameter的,有些HTTP请求是将parameter转换为xml串进行传递的。现在要分享的就是如何用soapUI实现xml串的HTTP接口测试。 soapUI 1新建soapUI工程:右击左侧导航面板中的工作空间节点“Project”,选择“NewsoapUIProject”,输入工程名称,点击OK2新建TestSuite:右击工程名,选择“NewTestsuite” 新建TestCase 添加数据源:DataSource 添加HTTP请求:HTTPTestRequest 添加循环:DataSourceLoop 添加数据沉淀:DataSink 添加数据源数据 .添加HTTP请求数据:此处最关键:将xml串设置为一个字符串写在一个参数para里,并将xml串里对应的信息参数化,最后勾选传输请求串。 传输xml串里的信息内容  Loop:数据源和HTTP请求关联&nb...

APP接口自动化测试JAVA+TestNG(三)之HTTP接口测试实例

转载自:http://www.cnblogs.com/findyou/p/5388853.html说明,本文为学习参考,将于一段时间后删除。前言   前两篇普及相关基础知识后,本篇主要对举例对国家气象局接口自动化测试进行讲解(Get请求及结果断言),以达到自动化测试入门目的,除了前两篇的一些了解外,需要有一定的JAVA知识(HTTP相关)。 目录3.1HTTP接口(GET)测试实例3.1.1待测接口说明3.1.2新建JAVA工程1.工程目录说明2.Common.java源码3.getCityWeathe.java源码4.URLConnection.java源码3.1.3编写测试用例1.测试用例2.简化后的用例3.1.4执行测试用例 以下实例均为本次总结再次编写,,如转载还请保留出处与作者姓名Findyou,谢谢!  例:北京市天气 接口的址:http://www.weather.com.cn/data/cityinfo/101010100.html请求方式:GET请求结果:{  &nbs...
首页上一页...104105106107108下一页尾页