自动接口测试原理(自动接口测试原理图)

网友投稿 214 2023-01-08


本篇文章给大家谈谈自动接口测试原理,以及自动接口测试原理图对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享自动接口测试原理的知识,其中也会对自动接口测试原理图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

接口测试原理是什么?

接口测试的原理主要是模拟客户端向服务端发送请求,服务器接收请求后进行相应的业务处理,并向客户端返回响应数据,检查响应数据是否符合预期。
黑马程序员的公开课上次把接口测试相关都讲清楚了。

接口自动化测试

接口 :外部系统与本系统之间以及系统内部的各个子系统间,以约定标准提供的服务,包括对外提供的接口/对内提供的接口。

在这块我们举一个比较生活化的例子,我们平常使用的笔记本,在笔记本的两端有很多小插口,最常见的就是USB插口,我们可以把鼠标连接在USB插口上,也可以把键盘、U盘连接在USB插口上,为什么同一个USB接口可以连接这么多设备呢,其实这个接口,他就有一个统一对外的连接标准。
在我们开发当中,也有一个对外暴露的接口,因为他们服务的协议都是统一的,最常见的就是hhtp协议,我们规定好一种格式,让客户端来调用我们。
这里面键盘鼠标属于调用方,插到笔记本的USB上,就可以连接设备,就可以进行操作了。对外暴露的一个统一的一个规范,这样去理解接口,更形象一些。

在了解完什么是接口之后,我们来说一下什么是接口测试。
接口测试 测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等,保证对外提供接口的正确性和健壮性。
我们在具体测试过程中,我们不用关心接口调用方和接收方的实现逻辑,我们只需要知道传入什么数据,返回什么的结果是否达到我们的预期。接口测试其实也是黑盒测试,他与UI测试的区别就是没有界面交互,是不可视化的。

测试前置 :我们不能等到整个系统全部开发完成才能进行测试,我们可以通过调用接口来进行测试,把问题拦截在前期,降低问题修复成本。
Bug更容易定位 :因为我们按接口进行测试,出现问题后在被测接口中排查就可以了,它比系统集成之后,发现问题更容易定位,系统集成之后有各种模块的调用,出现bug之后再排查,排查的链路非常的长。另外从机制上更接近出问题的地方更容易命中问题。
前后端分离结构 :现在很多系统都采用前后端分离架构,各服务之间更多的是通过接口来实现信息互通,对接口进行直接测试,可以更全面的覆盖各类测试场景。
自动化测试落地性价比高 :比UI自动化测试更稳定,我们上面已经说了UI层的元素时常发生变化,有时改一个简单的元素,都有可能导致我们的自动化测试走不下去,写一套自动化测试脚本比较容易的,但是维护起来,会耗费很大的时间精力,相对来说,接口就比较稳定,一个项目没有大的改造,入参和出参就是固定的,变化的概率比较小,这样维护起来也比较方便。
减少安全隐患 :比如我们在平常的测试过程中,测试用户名和密码,密码格式要求不能输入特殊字符,前端做了校验,而后端没有处理,这样我们只测试页面,这条case就默认通过了,但一些黑客可能通过抓包的方式进行登录,这样安全隐患就比较大了。我们对接口进行安全测试,可以避免安全隐患。

借助工具 : Postman、Jmeter、jsf平台、jsf测试工具、easytest
编写测试脚本 :Java+TestNG

请关注下一篇如何使用Java+TestNG进行接口自动化测试

什么是接口测试?

1接口测试的定义与分类,以下就是接口测试
接口测试是测试系统组件间接口的一种测试。
主要用于检测外部系统与系统之间以及系统内部各个子系统之间的交互点。
重点测试数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等等。
这要求对业务逻辑有一定程度上的理解,对数据流向有较好的定位。
接口测试般会用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。
接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。
接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。
接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比。
接口测试天生为高复杂性的平台带来高效的缺陷监测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。
接口测试的目的是测试接口,尤其是那些与系统相关联的外部接口,测试的重点是要检查数据的交换、传递和控制管理过程,还包括处理的次数。外部接口测试一般是作为系统测试来看待的。
不是所有的团队都可以在一个隔离的测试环境中进行测试工作的,因此使得对外部接口的测试显得困难。
我们应该确保较早地与相关的组织协调好并确定进行外部接口测试的方案。
有时候相关的组织只是人工的静态的审阅一次数据而并不真正的用这些数据来测试,这些都增加了实际测试执行中遇到的风险,但有些时候是可以避免的。
接口测试有的公司是归纳在集成测试里面,也有的公司会放在系统测试阶段,不过这个都没有什么区别,本质上接口测试就是通过某个功能模块对外暴露的一个接口地址传参进行测试。
一般来说接口分为如下三类:
A. 系统与系统之间的调用(如我们一般常见的分享内容到朋友圈或者是微信朋友时,微信会提供接口给这些需要用到分享的应用)上层服务对下层服务的调用(这个理解难度稍微有点大,在我们程序中功能是分层的,那么属于上层对底层服务的调用,以后能够有机会接触到代码或者更加稍微复杂点的接口测试就能够理解。举个例子,我们的程序框架分为三层,分别是web层:提供给用户请求的层次;feb迁至层:作为信息传递的中转站;service层:作为程序应用的核心,处理所有的请求
C.服务之间的调用(如添加一条数据时,会先调用数据查询的服务,查询该数据是否是重复数据)
不同类型的接口测试方法可能不一致,但总体来说不管是哪种类型,被测接口即为服务,测试手段为客服方,接口测试的目的就是:通过我们的测试手段,去验证满足其申明提供的功能。
2如何做接口测试
接口测试的原理:通过测试程序模拟客服端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一过程(reques-response)。
接口测试的流程与功能测试有什么区别呢?从原则上以及流程上讲,是没有啥区别的,都同一套软件测试流程:需求讨论-评审需求-确定需求-产出接口定义-根据需求文档及接口定义设计测试用例(测试用例主要从业务场景,功能以及异常测试几个方面考虑)-评审用例-执行测试。
接口测试采用的最基本的就是黑盒测试,在这个测试过程中我们最需要关注的是,如何来设计测试用例,设计测试用例所采用的方法也是我们常所用的几大方法:等价类、边界值以及错误推测法、场景法。在设计测试用例之前,我们先来看看常见的接口文档形式。
这就是上图是一种比较规范的接口文档说明,包含了如下内容模块:接口的类型说明、接口地址、http请求方式、输入参数和请求接口后返回的响应结果。
接口测试编写测试用例,主要关注点是输入参数、输出结果以及内部业务逻辑是否正常‘,所以我梦设计用例也要从这几方面出发考虑:
a)输入参数测试:针对输入参数进行的测试,也可以说是假定接口参数的不正确性 进行的测试,确保接口对任意类型的输入都做了相应的处理:输入参数合法(不合法),输入参数为空,为null,输入参数超长等等;
b)接口是否满足了所提供的功能,相当正常情况测试,如果一个接口功能复杂时推荐对接口用例进行结构划分,这样子用例就有更好的可读性和可维护性;
c)逻辑测试:逻辑测试严格讲应为单元测试,单元测试应保持内部逻辑的正确性,可单元测试和接口测试的界限并不是那么清晰,所以我们也可以从给出的设计文档中考虑内部逻辑错误的分支情况和异常;
d)异常情况接口测试:接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何异常都进行处理;
针对上面的注册接口,我们利用测试用例设计方法来编写测试用例,如下所示:
3接口测试的工具选择
可以进行接口测试的工具有很多,这里简单介绍几个:
loadrunner :一款商业性能测试工具,用来做接口测试,很好很强大。
jmeter :一款开源的性能测试工具,操作简单方便,既有jdbc request 操作数据库数据,也有http request 和 soap request 应对测试;
httprequester :火狐浏览器自带接口测试工具,插件中安装即可,界面简单明了,容易上手。
postman :谷歌浏览器的扩展工具,界面简洁,开发者比较常用的一款插件工具。
soapui : 开源测试工具,通过soap/http 来检查、调用、实现web service的功能/负载/符合性测试。
我们将在后面的教学中,重点讲解Jmeter这款综合性比较高的工具;

接口自动化测试怎么做的

了解了接口测试是什么之后,怎么做接口测试呢?接口测试的流程其实和功能测试流程类似:接口测试计划-接口测试用例-接口测试执行-接口测试报告。测试用例设计的依赖对象主要是需求说明书和接口文档。
接口测试因其不是针对普通用户,而是针对的另外一个系统组件,所以不能直接测试,需要使用工具测试,比如服务端http接口测试,常用的工具有jmeter、postman、httpclient等。用工具测试,所以目标就是准备要测试数据测试脚本后直接执行即可, 在进行测试执行编写时,有如下的原则:
1.不同的接口参数覆盖不同的业务场景;
2.在后台构造合适的数据来满足接口的测试用例;
3.根据接口的返回值,断言其是否返回期望结果,并查看数据库验证;
4.测试用例涉及多个步骤的,应对涉及的步骤都验证;
5.删除测试过程中产生的结果,确保每个用例执行前都是一个清洁的环境

如何做接口测试?

对于接口测试,首先测试人员要懂代码,你只需要知道接口的作用是什么就可以了,其次,自己去读开发的代码。

然后,根据该接口功能及代码写测试用例:根据该接口参数,构造不同的用例,测试接口在参数合法及非法情况下能否达到预期效果,根据该接口中的逻辑,测试该接口实现代码的逻辑,进行容错及健壮性测试,静态检测代码,看是否有内存泄露、或永远走不到的分支、代码规范及逻辑是否合理,对于一些接口,需要进行多线程测试。

接口测试一般会用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统。

主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。接口测试在淘宝的应用是一个自下而上的发展过程。

如何进行接口自动化测试

曾经有一段时间,人们习惯于在MSExcel里面编写单元测试用例,然后开发人员就按照单元测试用例一步一步的来实现用例。这通常是很耗时的漫长的过程,尤其是如果应用很大或者UI很复杂的话。这一套单元测试的执行过程常常成为瓶颈,因为任何代码修改都会带来手工执行大量单元测试,以确保新的修改没有破坏原有功能。如今是个快节奏时代,人们希望工作能够无需人工介入、自动化的快速完成。每个人都喜欢执行一个命令就能把工作搞定,而且在执行期间不需要人工介入。需要做的仅仅是检查一下最终的输出结果。当这个世界正在迈向自动化时,自动化测试也不甘落后,不论是在功能测试方面还是UI测试方面。每天我们都能听说自动化测试方面涌现出的新软件。本文提供了一些信息给那些想用CodedUI自动测试框架来进行应用界面自动化的.Net开发者。什么是CodedUI?最近我一直在寻找一个自动化的用户接口测试的解决方案。用户接口测试需要用户多次进行手工输入操作,这是一个既枯燥又费时的过程。因此,我想寻找一种更智能的自动化UI测试的方案,这种UI测试在不需要人工干预下,能够被保存,记录并提供支持,快速测试代码的改变。CodedUI采用用户接口来驱动应用的进行自动化测试。这些测试包括UI控制的功能性测试。他们使你可以验证整个应用的功能是否正确,其中包括了用户接口。CodedUI尤其适合用于用户接口中存在校验或者其它的登录方式的测试,比如网页。CodedUI也可以用于人工测试用例的自动化。CodedUI测试帮助用户测试应用程序的用户接口。这些测试允许用户验证应用程序的功能。CodedUI多数时间用于帮助验证在UI层本身的有效逻辑。它能够验证值对用户接口的控制的正确性。其它方案市场有许多自动化用户接口的方案,比如HP的QuickTestProfessional,IBMRationalFunctionalTester.其它著名的,易于使用的开源工具解决用户接口自动化问题的有Selenium,也能够记录测试,需要的时候回放。市场上还有来自Microsoft的也能不需要太多努力做同样的事。用VisualStudioMicrosoft还有CodedUI的方案用于单元测试。CodedUI适合在哪儿用?大多数安装了VisualStudio的开发者都喜欢在VisualStudio的环境里进行单元测试,而不是使用第三方工具。由微软提供的CodedUI,在VisualStudio环境里可谓上手即用。在开发者的机器上无需另外安装任何东西。一旦你安装了VisualStudio的Premium版或者Ultimate版,你就同时也安装好了CodedUI。CodedUI可用性为了使用CodedUI,需要安装VisualStudio2010/2012/2013的Premium版或者Ultimate版。CodedUI测试的组成CodedUI测试的组成容易理解。它可分成下列文件:UIMap.uitest这个文件是UIMap类的XML表示。UIMap类包括视窗,控件,属性,方法,断言和动作。UIMap.cs对UIMap的自定义部分都存在这文件里。如果修改直接存在UIMap.designer.vb文件的话,那些修改都会在记录结束后丢失,因为这个文件重新创建了。给每个在测应用程序中的每个模块创建一个独立的UIMap文件。UIMap.Designer.cs这是部分类表达各种类。这各种类是给多样的控件和他们的范围,属性,方法的类。提示:不要直接修改UIMap.Designer.cs。加入你这样做,这个修改会被覆盖掉。CodedUITest.cs这类表示的实际的CodeUI测试类,方法调用,和断言调用,所有的方法和断言默认都是从UIMap.Designer.cs文件调用的。这类有具有【codedUITest]属性TestClass和包含具有【TestMethod]属性的多种方法。CodedUI的特性/好处进行用户界面测试的同时进行校验.生成VB.Net/C#代码.测试用例可以被记录和重放.集成了ALMStory能够作为每日构建的一部分来运行.根据需要进行高级扩展.和VisualStudio集成在一起,所以无需单独购买许可.CodedUI对Web和Windows应用同样适用.著名的Microsoft支持.创建CodedUI测试CodedUI测试可以用下列方式创建使用MTM进行快速自动构建从现有的记录(从手动测试中记录下来的操作)中创建CodedUI在CodedUITestBuilder创建的底稿的基础上创建一个新的CodedUI测试.自己写CodedUI.这个白皮书的范围仅限于“在CodedUITestBuilder创建的底稿之上创建一个新的CodedUI测试”。小贴士:尽量使用CodedUITestBuilder。CodedUITestBuilder每一个CodedUI测试的生成都需要遵从下列步骤.记录/停止/暂停编辑记录下来的步骤添加断言生成代码创建CodedUI测试创建新的CodedUI项目要开始使用CodedUI,首先我们需要创建一个测试项目,用来保存所有CodedUI测试。创建一个新的CodedUI项目包含下列步骤打开VisualStudio2012选择FileNewProject选择需要的语言模板(C#orVB.Net).我们选择了C#.选择CodedUIProject输入一个名字点击OK按钮添加CodedUI测试VisualStudio默认配置为创建CodedUI测试使用"GenerateanewCodedUITestfromscratchusingCodedUITestBuilder"提示:在测试的应用程序中,当你创建UI控件时尽量使用有意义的名称,从而对于自动生成的控件显得更加有意义和可用。一旦CodedUI测试工程创建完成,将会自动打开生成CodedUI测试代码的对话框,请给出以下选项的设置。记录操作,编辑UI地图或添加断言使用一个已经存在的操作记录默认情况下选择记录操作,编辑UI地图或添加断言,无需做任何操作,然后点击"ok"CodedUITestBuilder选择了上述选项后,CodedUITestBuilder就会被打开,同时VisualStudio窗口被最小化。这意味着我们已经为记录操作做好了准备。正如之前描述的,CodedUITestBuilder基于下列4个操作来做记录RecordStepsUpdateorDeleteStepsVerifyResults(AddAssertions)GenerateCode小贴士:如果用户界面(UI)变化了,就重新记录测试方法或断言方法,或者重新记录一个既有测试方法中受影响的部分。记录一个序列的操作.记录一个操作主要需要下列几步.StartRecording,通过选择Record按钮即可.PauseRecording,用来处理记录过程中的其它操作,即GenerateCode.Edit/Delete操作,以防错误的操作被记录。Generatecode为记录下来的操作创建编号。会给每一个记录下来的操作都生成编号。AddAssertions用来校验结果。小贴士:创建断言最好使用CodedUITestBuilder,因为它会在UIMap.Designer.cs文件中自动添加一个断言方法。为记录动作做计划任何事情的成功都取决于它计划得有多好。较好地计划最大限度保证了任务成功完成。这样总是比较好,在开始记录动作之前,我们计划好所有的所有要计划的步骤。这里我们将要使用应用程序Windows计算器来记录步骤。我们要自动地加和减两个数字。在记录加和减两个数字的时候,下面的步骤将会用到。。点击“开始记录”控件。到开始,点击执行。在执行窗口,输入”calc"。停止记录,看记录的步骤。删除错误的步骤(存在的话)。产生代码;提供和动作相匹配的名字。比如,打开计算器。提示:当你产生一个方法时候,使用一个有意义的方法的名字,代替默认名字。有意义的名字帮助识别方法的木的。。重新记录,提供第一个数字,暂停记录产生代码。重新记录,提供操作(加或者减),暂停记录,产生代码。重新记录,提供第二个数字,暂停记录,产生代码。。加断言提示:产生你的测试作为一系列记录的方法提示:可以的时候,限制每个方法小于10个动作。这模块化的方法让UI改变时候容易替换方法。我们已经看到了CodedUI可以使开发者的生活变得多么轻松,尤其是遇到每次都需要进行很多输入的复杂页面的时候。这时,测试用例只需要被记录一次,就可以按照需要执行任意多次。使用CodedUI比使用其它工具的好处是,它能自动适配Web页面和Windows窗口应用。CodedUI测试可以用VisualStudio2010来运行,也可以用任何版本的VS来运行,它们的功能正变得越来越强大。无需多说,CodedUI是一个由技术领导者提供的强大工具,想要体验CodedUI测试的强大,我们应该开始在项目中使用它看看它能带来多少ROI,我确信CodedUI不会让你失望。 关于自动接口测试原理和自动接口测试原理图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 自动接口测试原理的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于自动接口测试原理图、自动接口测试原理的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:加密接口自动化框架源码(源码加密工具)
下一篇:Java中invokedynamic字节码指令问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~