接口自动化测试(接口自动化测试流程)

网友投稿 290 2023-01-23


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

本文目录一览:

接口自动化测试工具有哪些?

接口自动化工具有以下:

1、QTP。是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。

2、WinRunner。是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

3、AdventNetQEngine。是一个应用广泛且独立于平台的自动化软件测试工具,可用于Web功能测试、web性能测试、Java应用功能测试、Java API测试、SOAP测试、回归测试和Java应用性能测试。

自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测、信息处理、分析判断、操纵控制,实现预期的目标的过程。

自动化技术广泛用于工业、农业、军事、科学研究、交通运输、商业、医疗、服务和家庭等方面。采用自动化技术不仅可以把人从繁重的体力劳动、部分脑力劳动以及恶劣、危险的工作环境中解放出来,而且能扩展人的器官功能,极大地提高劳动生产率,增强人类认识世界和改造世界的能力。

接口自动化测试

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

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

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

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

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

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

接口自动化测试之Mock




Mock介绍









1.找到要替换的对象:我们需要测试的是visit_ustack这个函数接口自动化测试,那么我们需要替换掉send_request这个函数。


2.实例化Mock类得到一个mock对象,并且设置这个mock对象的行为。在成功测试中,我们设置mock对象的返回值为字符串“200”,在失败测试中,我们设置mock对象的返回值为字符串"404"。


3.使用这个mock对象替换掉我们想替换的对象。我们替换掉接口自动化测试了client.send_request


4.写测试代码。我们调用client.visit_ustack(),并且期望它的返回值和我们预设的一样。


上面这个就是使用mock对象的基本步骤接口自动化测试了。在上面的例子中我们替换了自己写的模块的对象,其实也可以替换标准库和第三方模块的对象,方法是一样的:先import进来,然后替换掉指定的对象就可以了。



Mockrunner用在J2EE环境中进行应用程序的模拟测试。它不仅支持Struts actions,servlets,过滤器和标签类,还包括一个JDBC和一个JMS测试框架,可以用于测试基于EJB的应用程序。


Mockrunner扩展了JUnit并模拟了必要的行为,而无需调用实际的基础结构。它不需要正在运行的应用程序服务器或数据库。此外,它不会调用web容器或Struts ActionServlet。它非常快速,使用户可以在测试的所有步骤中操纵所有涉及的类和模拟对象。它可以用于为基于J2EE的应用程序编写非常复杂的单元测试,而不会产生任何开销。Mockrunner不支持任何类型的容器内测试。


Mockrunner不会读取任何配置文件,例如web.xml或struts-config.xml。您可以使用Mockrunner API指定所有参数。因此,可以将servlet,过滤器,标签和Struts动作作为可重用组件进行测试,而不管您在一个或另一个应用程序中使用的设置如何。无法测试配置文件中的定义。如果要这样做,可以将StrutsTestCase用于基于Struts的应用程序或Cactus。


Mockrunner支持Java版本从1.3到1.6以及J2EE 1.3,J2EE 1.4和JavaEE5。尚不支持EJB 3.0。Mockrunner支持Struts版本1.1、1.2和1.3。


下载地址:Mockrunner download | SourceForge.net





最后:【可能给接口自动化测试你带来帮助的教程】软件测试最新自学教程

接口自动化测试流程是什么?

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

我眼中的接口测试和接口自动化测试

接口测试的目的是为了增加测试覆盖度、深入度 ,对接口的各个参数做实际场景中很难遇到的异常场景的测试,保证接口的稳定性。如果在这个前提下接口测试还是没有发现 bug,那么可以 review 下历次迭代中是不是业务测试发现的所有 bug 都是前端的。如果是,那么说明你们的后端开发工程师能力实在很强,应该恭喜你们遇到了这么给力的队友。在测试压力很大的情况下就可以酌情考虑不做接口测试,前端测试完成就上线了。

如果不是那就应该 review 你们的接口测试用例了。是不是用例设计的还不如业务测试全面?是不是用例设计的时候默认按照正常的取值范围?按照正常的业务逻辑进行的用例设计导致用例的覆盖还不如业务直接黑盒测出来的覆盖全。

自动化测试的主要目的不是发现多少 bug ,而是为了快速对接口做回归、做线上监控等,避免接口出现了低级问题、阻碍问题但是大家不能第一时间知道,等过了很长时间线上出了强反馈或者在错误接口的基础上又做了很多开发才被大家发现。当然,在接口自动化的基础上再做压力测试、稳定性测试等也会更方便。在这个前提下再评估接口自动化测试是否有必要,思路就会清楚一些。

整体上测试是为了保证业务中的 bug 能够在有限的资源下最大量、最快速的发现,业务实际情况不同、测试团队规模不同、测试与业务的合作模式、测试团队成员的技术能力等等都会影响测试方案的制定。

个人觉得如果团队有专人做接口测试,这种情况下接口测试定位到用来发现更多 bug 是没有问题的,如果没有发现 bug 那就需要仔细找找接口测试用例设计的问题。接口测试的目的不是取代业务测试,而是减少业务测试遇到阻碍问题的概率以及减轻业务测试模拟异常场景的工作量。接口自动化测试的目的是在回归场景节约业务测试的工作量,在新业务测试中实际反倒会占用更多的测试资源。

以上是作者拉拉肥对接口测试以及接口自动化测试的理解。你怎么看?欢迎点击 原文链接 在原帖共同讨论。

北大青鸟设计培训:接口自动化测试文档架构分析?

自动化测试是互联网软件开发行业发展之后的新的产物,而今天我们就一起来了解一下,关于接口的自动化测试都需要包含哪些内容以及接口测试的文档架构。
接口都有那些部分组成呢?接口文档应该包含以下内容:1、接口说明2、调用url3、请求方法(get\post)4、请求参数、参数类型、请求参数说明5、返回参数说明如果是测http接口,你需要至少需要调用一个发送http请求的库,例如httpclient来发送不同类型的请求给到待测的接口,如GET,POST,PUT,DELETE,带上你的请求头header和请求体body,然后通过xml库来解析感兴趣的返回值的字段,与期望值做比较,从而判断用例成功还是失败。
接口自动化整体思路说简单的接口自动化大致三个步骤:a-发送请求;b-解析结果;c-验证结果为了方便起见,你应该自定义三个和业务相关的测试类:1.一个用来封装httpclient,用来发送请求的类,合肥java课程http://www.kmbdqn.cn/建议用于发送各类测试请求。
2.一个解析结果xml的类,用来获取感兴趣的结果值。
3.一个用于比较测试结果和期望值的类,用于验证。
当然这是简单的一个http借口测试框架,如果你愿意还可以做的更强大,比如自动生成测试数据,生成自定义格式的测试报告,自动发送测试报告,检查服务端数据内容是否正确等等。

关于接口自动化测试和接口自动化测试流程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 接口自动化测试的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口自动化测试流程、接口自动化测试的信息别忘了在本站进行查找喔。

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

上一篇:共享文件系统(windows10共享文件夹)
下一篇:SpringCloud实现Redis在各个微服务的Session共享问题
相关文章

 发表评论

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