和面试官面对面—常见接口测试面试题汇总(附参考答案)

01 什么是API?

API是(Application Programming Interface)首字母缩略词,即应用程序编程接口。API是一组用于构建软件应用程序的规程,协议和工具。API充当软件应用程序之间的接口,并允许两个软件应用程序相互通信。API是一组软件功能,可以由其他软件执行。

02 什么是API测试?

API测试是一种软件测试,涉及直接测试API,也是集成测试的一部分,用于检查API是否满足应用程序的功能,可靠性,性能和安全性方面的期望。在API测试中,我们主要关注软件架构的业务逻辑层。可以在包含多个API的任何软件系统上执行API测试。

03 常见的API测试类型有哪些?

API测试通常涉及以下实践:

单元测试

功能测试

负载测试

运行时/错误检测

安全测试

UI测试

互操作性和WS一致性测试

渗透测试

模糊测试

04 列举API测试中使用的一些常用协议?

thrift

HTTP

REST

SOAP

JMS

UDDI

dubbo

05 API和Web服务之间的区别?

Web服务:

所有Web服务都是API

所有Web服务都需要通过Web(HTTP)公开

Web服务只有三种使用方式:SOAP,REST和XML-RPC进行通信

API:

API有很多并不基于HTTP

API使用多种方式进行通信,例如C / C ++中的DLL文件,java中的Jar文件/ RMI,Linux内核API中的中断等。

06 什么是Soap?

SOAP代表简单对象访问协议(Simple Object Access Protocol)。它是一种基于XML的消息传递协议。虽说名字带了简单,但是协议比较罗嗦,已经远没有后来居上的JSON使用广泛。

07 什么是Rest API?

REST即Representational State Transfer。它是一组帮助开发人员执行请求和接收响应的函数。通过REST API中的HTTP协议进行交互。

08 SOAP和REST的区别?

SOAP:

通过共享XML文档进行通信

仅支持XML格式

不支持缓存

SOAP比REST慢

SOAP就像自定义桌面应用程序,紧密连接到服务器

SOAP基于HTTP进行封装

REST:

基于网络的软件架构的服务架构和设

支持不同的数据格式

支持缓存

比SOAP更快

REST客户端就像浏览器并使用应用程序必须适合的标准方法

REST使用HTTP标头来保存元信息

09 API常见测试有哪些?

我们在API上执行的一些常见测试如下。

验证不同输入条件的返回。

验证不同数据结构

验证API是否触发其他事件或请求其他API

在没有返回值时验证API的行为

10 API测试有哪些优势?

更快及更高的测试覆盖率。

API测试有助于我们降低测试成本。通过API测试,我们可以在GUI测试之前找到小错误。在GUI测试期间,这些小错误将变得更大。因此,在API测试中发现这些错误将对公司具有成本效益。

API测试与语言无关。

API测试在测试核心功能方面非常有用。我们可以在没有用户界面的情况下测试API。在GUI测试中,我们需要等到应用程序可用于测试核心功能。

API测试有助于我们降低风险。

11 API测试中究竟需要验证哪些内容?

数据准确性

HTTP或其他协议状态代码

响应时间

API返回任何错误时的错误代码

授权检查

非功能测试,如性能测试,安全测试

12 列举一些用于API测试的工具?

用于API测试的一些工具如下:

Curl

httpie

Requests: HTTP for Humans

https://pypi.org/project/thrift/

Postman

Katalon Studio

SoapUI

Assertible

Tricentis Tosca

Apigee

JMeter

Rest-Assured

Karate DSL

API Fortress

Parasoft

HP QTP(UFT)

vREST

Airborne

API Science

APIary Inspector

Citrus Framework

Hippie-Swagger

HttpMaster Express

Mockbin

Ping API

Pyresttest

Rest Console

RoboHydra Server

SOAP Sonar

Unirest

WebInject

python是目前接口测试使用最广的语言,python测试框架及python 抓包工具(Hardware)都可参考。

13 列出一些最常用的API文档模板?

一些API文档模板如下。

Swagger

FlatDoc

RestDoc

API blueprint

Slate

Miredot

Web服务API规范。

14 列举一些非常受欢迎的API。

Google Maps API

YouTube的

推特Twitter

亚马逊广告API

微博认证API

钉钉开放接口

15 API测试和单元测试之间的区别?

单元测试:

多由开发团队进行

白盒测试

构建中的过程之前

涉及源代码

测试范围有限,只考虑基本功能

API测试

多由QA团队进行

多为黑盒测试

在构建部署后进行

大多不涉及源代码API测试

测试范围很广

16 API测试面临的主要挑战是什么?

适当的参数及其组合

正确分类参数

顺序

验证输出

由于缺少GUI,提供输入值较困难

17 执行API测试时我们面临的BUG类型是什么?

压力,性能和安全问题

功能重复或缺失

可靠性问题

消息不当

不兼容的错误处理机制

多线程问题

不合适的错误

18 UI测试与API测试有何不同?

UI(用户界面)测试是测试应用程序的图形界面部分。它的主要重点是测试应用程序的外观和感觉。API测试支持两个不同软件系统之间的通信。它的主要重点是应用程序的业务层。

19 列举一些最常用的HTTP方法?

GET:从服务器检索数据

POST:将数据添加到服务器中的现有文件或资源

PUT:它允许您替换服务器中的现有文件或资源

DELETE:它允许您从服务器中删除数据

PATCH:用于对资源进行部分修改
选项:用于描述目标资源的通信选项

HEAD:它要求响应与GET请求相同,但没有响应正文

20 可以使用GET请求而不是PUT来创建资源吗?

不,GET请求仅允许只读权限。它使您可以从服务器检索数据,但不能创建资源。应使用PUT或POST方法来创建资源。

21 PUT和POST方法有什么区别?

POST用于在服务器上创建新对象,PUT请求用于在替换对象。当客户端将页面发送到服务器,然后服务器让客户端知道它放在何处时,应该使用POST。当客户端指定页面的位置时,应使用PUT。

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值