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。


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

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

  1. ibm java英语面试_IBMJava英文面试题(附参考答案)

    IBMJava英文面试题(附参考答案) IBMJava英文面试题(附参考答案). 1.what is oracle.what is major differenece oracle8i and ora ...

  2. security面试_17道APP测试面试题分享带参考答案

    1.Android四大组件 Android四大基本组件:Activity.BroadcastReceiver广播接收器.ContentProvider内容提供者.Service服务. Activity ...

  3. 【机器学习】经典的机器学习200道面试题(附参考答案)

    来  源: https://blog.csdn.net/sinat_35512245/article/details/78796328 本文总结了往年BAT机器学习面试题,干货满满,值得收藏. 想要入 ...

  4. 经典的机器学习200道面试题(附参考答案)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 来  源: https://blog.csdn.net/sinat ...

  5. 接口测试面试题汇总(含答案)

    目录 1.什么是接口? 2.接口组成的要素是什么? 3.你对requests了解多少 4.如何使用requests 5.requests.get作用 6.requests.get语法形式 7.requ ...

  6. java实习生面试被问的较多的面试题(附参考答案)

    1.集合有哪些子类?各自的数据结构?有什么区别? 注:HashSet底层采用HashMap实现,TreeSet底层采用TreeMap实现 2.Hashmap如何解决哈希冲突?与HashTable有何不 ...

  7. 深浅克隆面试题汇总——附详细答案

    在开始学习深克隆和浅克隆之前,我们先来看下面代码,有什么问题? class CloneTest {public static void main(String[] args) throws Clone ...

  8. oracle上机题库_Oracle笔试题库附参考答案

    1.  下列不属于ORACLE的逻辑结构的是(C)区 段 数据文件 表空间 2. 下面哪个用户不是ORACLE缺省安装后就存在的用户(A) A . SYSDBA B. SYSTEM C. SCOTT ...

  9. php在文本框中输入一个年份_判断其生肖_并输出在文本框旁边.代码,PHP开发工程师面试真题之Web网页设计(附参考答案)_PHP教程...

    一.Form表单 真题1:简述POST和GET传输的最大容量分别是多少? 参考答案: GET方法传递数据,控制在1MB之内(因为URL的长度限制在1MB字符以内):POST方法传输数据没有大小的限制. ...

  10. “约见”面试官系列之常见面试题第三十六篇之CSS常见兼容性问题及解决方案(建议收藏)

    CSS常见兼容性问题及解决方案: 1. 上下margin重合问题: 问题描述:相邻的margin-left和margin-right是不会重合的,但是相邻的块级元素margin-top 和margin ...

最新文章

  1. gRPC异步处理应答
  2. 虚拟打印的实现-DDK部分
  3. websocket 携带请求头_WebSocket与Nginx的小秘密
  4. python中面向对象编程简称为_Python基础-面向对象编程
  5. Diango博客--17.统计各个分类和标签下的文章数
  6. 乘“峰”而上,聚生态之力共创软件产业新未来
  7. iOS 播放音频的几种方法
  8. 02.环境准备-idea配置maven
  9. 生物化学-第二章-氨基酸
  10. 计算机专业需不需要英语翻译,谈计算机专业英语翻译的方法.doc
  11. Android自定义星星评分控件
  12. 中望3D 2021 插入基准面 - 三点法
  13. 7-6 查询水果价格
  14. Python神笔马良案例集简介
  15. SPSS如何将具体年龄分为不同年龄段
  16. Java的c标签的使用
  17. mtk dts文件的配置
  18. 新版整理MT3换皮梦幻/久久西游源码+安卓苹果双端
  19. fis3 php cgi,FIS3
  20. 丰田研究院:自监督单目图像深度估计,数据和代码已开源

热门文章

  1. retrofit 解析百度地图api 返回数据_基于百度地图API的城市数据采集方式
  2. 淘宝API-天天特价
  3. 药明康德2020年营业收入165.35亿元,同比增长28.5%
  4. Wooboo第四批(暨6月7日)上传程序送百元现金活动获奖公告
  5. 【洛谷P4826】Superbull S【最大生成树】
  6. 乒乓球十一分制比赛规则_乒乓球赛制 乒乓球十一分制比赛规则
  7. 山东理工ACM【1532】矩阵输出
  8. 推荐个边玩边学编程的游戏
  9. VS Code环境下编辑、编译、下载Keil工程代码
  10. 104. 史上最全的数据库面试题,面试前刷一刷