接口测试概念

目录

一、什么是接口

1、接口的概念

2、接口的分类

3、接口协议

二、什么是接口测试

三、接口测试的作用

1、可以更早的发现bug

2、缩短项目周期 

3、可以发现更底层的问题

四、接口测试的局限性

五、如何做接口测试

1、需求分析

2、接口用例设计

3、接口脚本实现

4、接口测试执行

5、接口测试报告


一、什么是接口

1、接口的概念

    接口:接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。(取自百度百科)

    对于软件的接口,通常指的是API(Application Programming Interface,应用程序接口):是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。

2、接口的分类

    接口按照内部和外部分可分为程序内部接口和系统对外接口。

    程序内部的接口:    当我们在本地开发软件时,为了实现某个功能,我们可以把这段实现功能的程序写在一个方法里,这个方法可以被其他方法调用。在本地的方法与方法、模块与模块之间的交互就是通过程序内部调用实现。

    系统对外的接口:从别人的网站或服务器上获取资源或信息,或者把自己本地的接口提供给外部系统使用。这时,就需要把接口通过网络进行交互。接口以什么样的格式,方法等形式进行通信,就形成了协议。

3、接口协议

    接口协议(Interface protocol)指的是需要进行信息交换的接口间需要遵从的通信方式和要求。接口协议的种类非常多。接口协议不仅要规定物理层的通信,还需要规定语法层和语义层的要求。

    网络通信七层模型:开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型

不同层级通信方式或协议:

物理层以太网 · 调制解调器 · 电力线通信(PLC) · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线等

数据链路层:Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) ·ATM · DTM · 令牌环 · 以太网 ·FDDI · 帧中继 · GPRS · EVDO ·HSPA · HDLC · PPP · L2TP ·PPTP · ISDN·STP · CSMA/CD等

网络层协议:IP (IPv4 · IPv6) · ICMP· ICMPv6·IGMP ·IS-IS · IPsec · ARP · RARP · RIP等

传输层协议:TCP · UDP · TLS · DCCP · SCTP · RSVP · OSPF 等

应用层协议:DHCP ·DNS · FTP · Gopher · HTTP· IMAP4 · IRC · NNTP · XMPP ·POP3 · SIP · SMTP ·SNMP · SSH ·TELNET · RPC · RTCP · RTP ·RTSP· SDP · SOAP · GTP · STUN · NTP· SSDP · BGP 等

二、什么是接口测试

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

    比较常见的接口测试为http接口测试。

    接口测试的本质是通过发起请求获取响应值,再对特定的响应值进行断言,从而检测接口返回数据是否满足系统约定。

三、接口测试的作用

1、可以更早的发现bug

    接口测试一般在开发接口提测后就能进入测试,而不必等到前端也提测后才能测试。因此,从时间阶段上来看,接口测试介入更早,通过更早的进行接口测试可以更早的发现系统中的bug。

2、缩短项目周期 

    接口测试由于介入时间相对较早,发现bug相对较早,因此通过及早的反馈bug,留在后面系统测试阶段的bug就越少,从而缩短项目的上线时间。

3、可以发现更底层的问题

    通过构造不同测试数据和测试条件进行接口测试,使代码逻辑覆盖更全面,可测出除前端传参以外的bug,发现更多的问题。

四、接口测试的局限性

    接口测试相当于模拟客户端对服务端发起请求,获取响应结果并进行断言的过程,但在这个过程中,接口测试人员并不会对接口响应的数据在前端进行页面渲染,因此接口测试不能完成对客户端的测试,整个的页面渲染功能及逻辑需要在前端测试中进行验证。

五、如何做接口测试

接口测试步骤图:

1、需求分析

    需求分析的目的是将需求转化成测试点,需求分析可以参考两个文档,一是需求文档,而是接口文档。

    需求文档中,我们可以获取到产品需求的规则(如字符的长度,数字的大小范围等)和功能逻辑(不同场景的数据,获取到不同的数据结果)等信息,在做需求文档分析时,测试者可以思考如果是自己来实现这个接口,会需要哪些参数,响应结果中需要返回什么样的数据。

    接口文档中,我们可以获取到接口调用的路径(url,IP:port),方式(get/post),参数,header,前提条件(是否需要token,是否需要有别的接口耦合),返回值等信息,根据接口文档中的参数,测试人员可以对比自己实现的接口,来判断参数是否有遗漏、冗余,或者不合适作为参数等。根据返回的响应值,可以检查返回值的遗漏、冗余等。通过这种静态的检查过程,我们不仅可以提前发现接口的不足,以免发生重测增大工作量的情况,而且可以完善测试点,使接口测试覆盖更全面。

2、接口用例设计

    根据步骤1中的测试点,测试人员可以通过边界值,路径流,参数(类型,大小范围,长度,是否为空,默认值等),场景逻辑,数据权限(如用账号A获取账号B的数据信息)等方面对接口进行详尽的用例设计。

3、接口脚本实现

    通过步骤2的用例以及测试策略,我们可以对脚本进行开发。无论是使用postman、jmeter等接口测试工具,还是使用pytest,TestNG等测试框架,我们都需要实现接口测试脚本。

4、接口测试执行

    在步骤3的接口测试脚本实现后,测试人员就需要测试脚本运行。在测试脚本运行的过程中,需要关注测试执行的报错,分清楚脚本本身问题和接口本身实现错误。通过脚本本身问题可以对脚本进行完善,通过接口实现错误,进行bug管理。

5、接口测试报告

    在接口测试完成后,测试人员需要输出测试报告,以说明接口测试总体统计,错误接口测试详情,bug情况,是否能上线等。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值