接口测试的原理什么是接口测试?为什么要做接口测试?如何开展接口测试_第1页
接口测试的原理什么是接口测试?为什么要做接口测试?如何开展接口测试_第2页
接口测试的原理什么是接口测试?为什么要做接口测试?如何开展接口测试_第3页
接口测试的原理什么是接口测试?为什么要做接口测试?如何开展接口测试_第4页
接口测试的原理什么是接口测试?为什么要做接口测试?如何开展接口测试_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

接⼝测试的原理,什么是接⼝测试?为什么要做接⼝测试?如何开展接⼝测试?什么是接⼝?业内常说的接⼝⼀般指两种:1.API:应⽤程序编程接⼝,程序间的接⼝2.GUI:图形⽤户界⾯,⼈与程序的接⼝软件接⼝测试中的接⼝特指API接⼝接⼝测试⼜称API测试接⼝实例:系统与系统间的接⼝调⽤,作⽤:实现了两个或多个独⽴系统或模块间的通信和数据交换能⼒。常见的Web接⼝类型REST接⼝——通过HTTP的get和post⽅式得到数据,返回报⽂json格式SOAP接⼝——通过soap协议得到数据,相⽐Httpservice能处理更加复杂的数据类型,请求报⽂和返回报⽂xml格式Http接⼝的组成1.请求协议:http://2.IP:3.端⼝号:804.接⼝地址:user.php5.接⼝参数:act6.参数值:registerSOAP接⼝SOAP实际上就是HTTP+XML⽆论哪种语⾔开发的平台,只要是⽹页开发都可以通过http协议来进⾏通信,并且返回的数据想要通⽤的话,可以使⽤XML格式来编写⾯试题:什么是RESTful?RESTful是REST的全程。提供了⼀组客户端和服务器交互的规则。1.当⽤“GET”⽅式时,只⽤来获取数据,成功了返回http状态码200。2.当⽤“POST”⽅式时,只⽤来创建数据,成功了返回http状态码2013.当⽤“PUT”⽅式时,只⽤来修改更新数据,成功了返回http状态码2034.当⽤“DELETE”⽅式时,只⽤来删除数据,成功了返回http状态码204ps:GET(SELECT):从服务器取出资源(⼀项或多项)。POST(CREATE):在服务器新建⼀个资源。PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。DELETE(DELETE):从服务器删除资源。为什么要做接⼝测试?尽早进⾏系统集成测试,暴露BUG解决系统测试复杂度屏蔽UI层的不稳定性检查系统安全性,稳定性接⼝经过测试稳定了,前端页⾯随便改,减少BUG的产⽣接⼝测试的原理原理:模拟客户端向服务器发送请求报⽂,服务器接受请求报⽂后对相应的报⽂做处理并向客户端返回应答,客户端再接受应答的⼀个过程。接⼝测试是⿊盒测试。作为⿊盒测试,基本的测试思路是通过输⼊和输出判断被测系统或者对象的逻辑。接⼝测试关注点关注在系统架构的业务逻辑层,不注重UI操作或者⽤户感观检查数据的交换,传递和控制管理过程注重系统间的相互逻辑关系调⽤接⼝测试的范围按测试类型分:功能、性能、安全性按数据的输⼊输出分:1、进⼊系统的接⼝(调⽤外部系统的参数为本系统使⽤)2、数据流出系统接⼝(验证系统处理后的数据是否正常)接⼝测试和UI测试的异同点UI的操作实际上就是⽤另⼀种⽅式调⽤接⼝,那么接⼝有多少种参数组合就要求UI⽤例要构造多少种操作进⾏调⽤UI操作所需要的数据可以⽤接⼝来⽣成接⼝测试可以保证数据和逻辑的准确性,UI测试需要考虑交互和界⾯展⽰的逻辑正确性UI测试需要重视接⼝调⽤不成功或者接⼝异常情况下UI的呈现⽅式和⽤户体验UI中可能会有⼀些状态的缓存信息(这样就不需要每次频繁调⽤接⼝去获取了),⽐如鉴权信息等,需要重点关注这些缓存的更新策略接⼝测试的三种形式⼿动测试:辅助⼯具、Fiddler、Postman、HttpWath。。。⾃动化测试:⾃⼰开发的⼯具、SoapUI、RobotFramework。。。性能测试:⾃⼰开发的⼯具、Jmeter、LoadRunner。。。如何开展接⼝测试找开发或者开发主管索要接⼝说明⽂档(API⽂档)。作⽤:是开发测试脚本的依据熟悉业务,设计测试⽤例,准备测试数据根据接⼝说明⽂档开发接⼝测试脚本,执⾏脚本1.API⽂档2.测试⽂档接⼝说明,参数,返回值,是否齐全3.熟悉业务4.设计测试⽤例,准备测试数据5.开发接⼝测试脚本6.执⾏脚本,调⼊数据7.提交BUG8.写报告⼀份好的接⼝说明⽂档是什么样的?在项⽬中,⼀份完整的接⼝⽂档应该包含以下的内容:接⼝说明请求⽅式(get\post)请求地址请求参数、参数类型、请求参数说明返回参数说明返回⽰例HTTP协议——Http请求请求:Request,由客户端发送给服务器端请求分类:GET和POST请求(有什么区别?)1.GET请求主要是数据的获取2.POST请求主要是数据的提交HTTP协议——Http响应响应:Response,由服务器端返回给客户端响应包含正常的响应和异常的响应。HTTP协议通过响应的状态码来进⾏定义:1xx,2xx,3xx(正常),4xx,5xx(异常)接⼝功能测试点1.接⼝⽂档规范性2.接⼝可⽤性3.接⼝实现功能验证4.输⼊输出参数个数及命名5.输⼊参数的必填项6.输⼊参数的合法性7.输出参数内容的正确性8.接⼝传递参数的安全性——接⼝可⽤性主要测试接⼝是否可⽤、接⼝是否存在、接⼝的协议类型测试⽤例中应包括:1.依据接⼝⽂档中给定的接⼝地址和协议⽅法能够访问到该接⼝。2.使⽤错误的协议⽅法⽆法按照接⼝地址进⾏访问。3.使⽤正确的协议⽅法⽆法按照错误的接⼝地址进⾏访问。——输⼊输出参数个数及命名主要测试接⼝包含的输⼊输出参数的个数以及各个参数的命名是否正确。测试⽤例中应包括:1.依据接⼝⽂档检查输⼊参数的个数以及命名是否和⽂档⼀致。2.依据接⼝⽂档检查输出参数的个数以及命名是否和⽂档⼀致(注意检查输出的正常参数和异常参数)。3.输⼊错误的参数名,接⼝会报错,并有错误信息返回。——输出参数内容的正确性主要对输出参数的内容是否和后台真实数据⼀致进⾏检查。测试⽤例中应包括:1.考虑多种输⼊参数的组合情况,依次测试在这些组合情况下接⼝返回的数据的各字段内容是否正确,要具体检查每个字段的内容。⼀般通过与后台数据库数据⽐较来进⾏检查。2.考虑多种输⼊参数的组合情况,依次测试在这些组合情况下接⼝返回的数据中涉及输⼊参数的项,是否和最初输⼊的值⼀致。——接⼝实现功能验证主要对接⼝操作的具体功能是否正常运转进⾏检查。测试⽤例中应包括:1.输⼊正确的参数,检查接⼝对应的要实现的后台功能是否正确运转。例如:对⼀个启动接⼝发送启动的命令,接⼝对应的后台系统能够正确启动并返回正确的参数。2.输⼊错误的参数,检查接⼝对应的要实现的后台功能是否没有运转。——接⼝⽂档规范性主要对开发提供的接⼝⽂档是否规范准确进⾏检查。测试⽤例中应包括:1.接⼝⽂档中对于输⼊输出参数都有准确的命名,不存在模糊的情况。2.接⼝⽂档对于每⼀个参数都有明确的类型说明,是否可选还是必输,是否有默认值。3.接⼝⽂档对于每⼀个输⼊参数都有明确好基本的录⼊条件,⽐如长度最长多少、只能为数字还是字母、不能含有特殊字符等。4.针对⼀个接⼝如果有多种类型的输出参数组合且参数的命名或者个数有不同,这种情况,要在接⼝⽂档中罗列清晰,并明确指出出现这种类型的输出参数的条件。——接⼝传递参数的安全性接⼝传递参数的加密显⽰防⽌SQL注⼊攻击——SQL注⼊的原理定义:利⽤现有应⽤程序,将(恶意)的SQL命令注⼊到后台数据库引擎执⾏的能⼒。⽤于没有对⽤户的输⼊数据进⾏必要的合法性判断,导致了攻击者可⽤提交⼀段数据库查询代码,根据程序返回的结果,获得⼀些他想要得到的数据。举例:在⽤户名输⼊框中输⼊:’or1=1#,密码随便输⼊,这时候的合成后的SQL查询语句为:select

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论