接口测试相关的一些笔记

接口测试

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统和系统之间以及内部各个子系统之间的交互点,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统的相互逻辑依赖关系

1. 分层的自动化测试

MartinFowler大师在测试金字塔模型的基础上提出分层自动化测试的概念,在自动化测试之前加了一个“分层”的修饰,用来区别于“传统的”自动化测试。
所谓传统的自动化测试我们可以理解为基于产品UI层的自动化测试,它是将黑盒功能测试转化为由程序或工具执行的一种自动化测试

2. 单元自动化测试

单元测试是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数、Java中单元指一个类、图形化的软件中单元可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。规范的进行单元测试需要借助单元测试框架,如java语言的Junit、TestNG,C#语言的NUnit,以及Python语言的unittest、pytest等,目前几乎所有的主流语言都会有其相应的单元测试框架。

3. 接口自动化测试

Web应用的接口测试大体分为两类:模块接口测试和Web接口测试。
(1)模块接口测试,主要测试模块之间的调用与返回。当然,我们也可以将其看作是单元测试的基础。它主要强调对一个类方法或函数的调用,并对返回结果的验证,所用到的测试工具与单元测试相同。
(2)Web接口测试又可分为两类:服务器接口测试和外部接口测试。
服务器接口测试:指测试浏览器与服务器的接口。我们知道Web开发一般分前端和后端,前端开发人员用HTML/CSS/JavaScript等技术,后端开发人员用PHP/Java/C#/Python/Ruby等各种语言。用户的操作是在前端页面上,需要后端提供服务器接口,把前端通过调用这些接口来获得需要的数据,通过HTTP协议来实现前后端的数据传递。
外部接口测试:指调用的接口由第三方系统提供。典型的例子就是第三方登录,例如新上线的产品为
了免于新用户注册账号的麻烦会提供第三方登录,那么用户在登录的时候调用的就是第三方登录的接
用户登录信息的验证由第三方完成,并返回给当前系统是否验证通过。
接口测试也有相应的类库或工具,例如测试HTTP的有HttpUnit、Postman等。

4. UI自动化测试

UI层是用户使用该产品的入口,所有功能都通过这一层提供并展示给用户,所以大多测试工作都集中在这一层进行。为了减轻这一层的测试人力和时间成本,早期的自动化测试工具主要针对该层设计。目前主流的测试工具有UFT、Watir、RobotFramework、Selenium等。

5. 什么是接口

举个现实点的例子来说,USB和电脑连接的接口就是一个接口;人与人之间交流的语言也是一个接口。接口的目的是为了方便人与人之间的协同,以提高工作效率的一套标准与规范。就软件测试来说,接口就是一套前端和后端在开发过程中都需要遵循的用以数据传输的规范与标准。

6. 接口测试是什么

接口测试就是根据接口清单,模拟客户端向服务端发送请求数据,并获取响应数据后,查看响应数据是否符合预期的过程。

整个过程可以分为三个步骤:

第一步:模拟客户端向服务端发送请求;

第二步:接受服务端返回的数据;

第三步:查看返回数据是否符合预期。

必须要明确的一点是,接口测试的依据是接口清单,接口清单的依据是API文档,API文档的依据的项目需求文档和原型图。有了接口清单后,针对于每一个接口依次执行上述三个步骤的过程就是接口测试

7.接口测试工具

fiddler之类的抓包工具、postman、Jmeter等工具。如果再涉及到接口自动化测试的话,还需要学习python、pytest、java等

8.接口测试的分类有哪些?

虽然接口测试已经是一个比较小的分类了,但是它仍旧是可以细分的。一般来说,可以分为两种:
web接口测试------>指基于BS架构的软件测试
模块接口测试------>指基于CS架构的软件测试

9. 为什么使用接口

大型项目开发中,可能需要从继承链的中间插入一个类,让它的子类具备某些功能而不影响它们的父类。
例如A->B->C->D->E,A是祖先类,如果需要为C、D、E类添加某些通用的功能,最简单的方法是让C类再继承另外一个类。但是问题来了,Java是一种单继承的语言,不能再让C继承另外一个父类了,只到移动到继承链的最顶端,让A再继承一个父类。这样一来,对C、D、E类的修改,影响到了整个继承链,不具备可插入性的设计。接口是可插入性的保证。在一个继承链中的任何一个类都可以实现一个接口,这个接口会影响到此类的

所有子类,但不会影响到此类的任何父类。此类将不得不实现这个接口所规定的方法,而子类可以从此类自动继承这些方法,这时候,这些子类具有了可插入性。
我们关心的不是哪一个具体的类,而是这个类是否实现了我们需要的接口。
接口提供了关联以及方法调用上的可插入性,软件系统的规模越大,生命周期越长,接口使得软件系统的灵活性和可扩展性,可插入性方面得到保证。接口在面向对象的Java程序设计中占有举足轻重的地位。事实上在设计阶段最重要的任务之一就是设计出各部分的接口,然后通过接口的组合,形成程序的基本框架结构。
所以简单总结其用途为:实现类的多继承,以解决Java只能单继承,不支持多继承的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值