API测试面试题及其答案合集推荐

API测试面试题及其答案合集推荐

文章图片
下面列出了常见的API测试面试问题和答案。
1)什么是API?
API(应用程序编程接口)有助于两个软件系统之间的通信和数据交换。 API充当两个应用程序之间的接口, 并允许两个软件系统相互通信。 API是可以由另一个软件程序执行的功能的集合。
API用作;它从源接收请求, 将该请求接收到数据库, 从数据库中获取请求数据, 然后向源返回响应。 API会接受用户的请求并给出响应, 而不会暴露内部细节。 API充当抽象。
示例:Amazon API, Google Map API
2)什么是API测试?
API测试是一种软件测试, 涉及直接测试API。 API是集成测试的一部分, 以检查API是否在应用程序的功能, 可靠性, 性能和安全性方面达到期望。多个API系统可以执行API测试。在API测试中, 我们的主要重点是软件体系结构的业务逻辑层。
3)API测试有哪些类型?
API测试涉及以下类型的测试:
  • 单元测试
  • 功能测试
  • 负载测试
  • 运行时/错误检测
  • 安全测试
  • 洋葱测试
  • 互操作性和WS合规性测试
  • 渗透测试
  • 模糊测试
4)API测试中使用了哪些协议?
API测试中使用的协议为:
  • HTTP
  • 休息
  • 肥皂
  • JMS
  • UDDI
5)API测试使用哪些工具?
用于API测试的工具是:
  • Parasoft SOAtest
  • 邮差
  • AlertSite API监视
6)什么是API测试环境?
对于API, 测试环境是一种非常复杂的方法, 其中, 根据软件应用程序的要求完成服务器和数据库的配置。 API测试不涉及图形用户界面(GUI)。
安装后会检查API是否正常运行。
7)什么是API框架?
API框架由配置描述。该文件包含需要激活的所有API的列表, 并且已针对任何特定程序运行激活了这些API。这是必不可少的, 因为每次测试运行都不需要所有API。
8)API使用的限制是什么?
提供者设置了许多API的特定限制。因此, 尝试估计我们的使用情况, 并了解这将如何影响产品的整体成本。
9)API测试有哪些优势?
API测试的优点是:
  • 测试核心功能:API测试无需用户界面即可提供对应用程序的访问。应用程序的核心功能将在GUI测试之前进行测试。这将有助于检测在GUI测试期间可能变得更大的较小问题。
  • 有效的时间:API测试比GUI测试耗时少。特别是, API测试所需的代码更少, 因此与GUI测试自动化相比, 它可以提供更好, 更快的测试覆盖率。这将减少测试项目的成本。
  • 与语言无关:在API测试中, 使用XML或JSON交换数据。这些传输模式完全独立于语言, 允许用户在为项目采用自动化测试服务时选择任何代码语言。
  • 与GUI轻松集成:API测试提供了高度可集成的测试, 对于在GUI测试之后执行功能性GUI测试非常有用。简单的集成将允许在GUI启动之前在应用程序内创建新的用户帐户。
10)API测试设计的原则是什么?
这里是API测试设计的七个原则。
  1. 详尽的测试:不可能进行详尽的测试。相反, 我们需要基于应用程序的风险评估的最佳测试量。
  2. 缺陷聚类:缺陷聚类指出, 少数模块包含最多检测到的缺陷。在20%的模块中发现了大约80%的缺陷。根据经验, 我们可以识别出这些有风险的模块。但是这种方法有其自身的问题。如果一次又一次地重复相同的测试, 最终同一测试用例将不再找到新的错误。
  3. 农药悖论:测试人员不能依赖现有技术。他们必须不断寻找改进现有方法的方法, 以使测试更加有效。但是即使是所有这些艰苦的测试工作, 我们也永远不能声称我们的产品没有错误。为了克服这个问题, 需要定期审查和修订测试用例, 并添加新的和不同的测试用例, 以帮助发现更多的缺陷。
  4. 测试表明存在缺陷:测试原理指出-测试谈论缺陷的存在而不是缺陷的存在。软件测试降低了未发现的缺陷保留在软件中的可能性, 但是即使未发现缺陷, 也不表示其正确性。
  5. 但是, 如果我们努力工作, 请采取一切预防措施, 并使我们的软件产品无99%的错误。该软件不能满足客户端的需求。
  6. 缺少错误-谬误:这可能是99%无错误的软件仍然无法使用。如果系统针对错误的要求进行了测试, 则可能是这种情况。软件测试不是在发现缺陷, 而是要检查软件是否满足业务需求。没有错误是谬论, 即, 如果系统构建无法使用并且不能满足用户的需求, 则发现并修复缺陷无济于事。
  7. 早期测试:测试应在软件开发生命周期中尽快开始。这样就可以在需求或设计阶段的早期阶段捕获缺陷。在测试的早期阶段修复缺陷的成本较低。在定义需求的那一刻, 我们应该开始查找错误。
  8. 测试与上下文有关:测试与上下文有关, 我们测试电子商务站点将不同于我们测试商业站点的方式。所有开发的软件都不相同。我们将使用不同的方法;技术和测试类型取决于应用程序类型。
11)什么是API框架?
框架或软件框架是用于开发软件应用程序的平台。 API框架是软件开发人员可以为特定平台构建应用程序的基础。
示例:框架可以包括预定义的类和函数, 这些类和函数可用于处理输入, 管理硬件设备以及与系统软件进行交互。
框架类似于应用程序编程接口, 从技术上讲, 框架包括API。框架为编程奠定了基础, 而API提供了对框架支持的元素的访问。框架还包括在软件开发过程中使用的代码库, 编译器和其他程序。
API框架由配置文件定义, 该配置文件包含需要激活的和为特定程序运行激活的所有API的列表。
12)在API上执行哪些常见测试?
以下是在API上执行的常见测试:
  1. 应根据请求验证API的响应。我们将验证返回值是否基于请求。
  2. 当API更新任何数据结构时, 我们应验证系统是否在验证结果。
  3. 我们将验证API是触发其他事件还是请求其他API。
  4. 当没有返回值时, 我们将验证API的行为。
13)在API测试中究竟需要验证什么?
【API测试面试题及其答案合集推荐】在API测试中, 我们使用已知数据向API发送请求, 然后分析响应。
  1. 我们将验证数据的准确性。
  2. 将看到HTTP状态代码。
  3. 我们将看到响应时间。
  4. API返回任何错误时的错误代码。
  5. 授权将被检查。
  6. 非功能测试, 例如性能测试, 安全性测试。
14)API和Web服务之间有什么区别?
先生 API Web Services
API可能需要网络, 也可能不需要网络。 Web服务始终需要网络来进行操作。
API也可以通过SOAP, REST, XML-RPC和CURL调用进行通信。还可以通过多种方式公开API, 例如JAR, DLL, HTTP上的XML, HTTP上的JSON等。 Web服务可以通过SOAP, REST和RPC进行通信。
API可以执行Web服务无法执行的所有操作。 Web服务无法执行API之类的所有操作。
所有API都不是Web服务。 所有的Web服务都是API
15)什么是API文档?
任何基础都必须有一个好的文档。 API文档可作为访问库或在程序中工作的快速参考。
当我们使用任何此类文档时, 它必须由适当的计划, 内容来源, 适当的布局以及与每个功能相关的信息等组成。
有各种文档工具, 例如Doxygen和JavaDoc。这里是记录的功能, 这些功能围绕参数而变化:
  • 功能说明
  • 可能发生的错误消息的类型和语法
  • 每个参数所需的语法, 元素和顺序
  • 有关功能的链接
16)API文档最常用的模板是什么?
这里是使整个过程变得简单而容易的各种文档模板。他们是:
  • 昂首阔步
  • 米雷多
  • 石板
  • FlatDoc
  • API蓝图
  • RestDoc
  • Web服务API规范
17)在API测试期间可以发现哪些错误类型?
API测试有助于我们发现许多类型的错误, 这些错误包括:
  • 强调
  • 安全
  • 功能重复或缺失
  • 可靠性
  • 未使用的标志
  • 性能
  • 不兼容的错误处理
  • 多线程问题
  • 错误的错误
18)API测试和UI测试有什么区别?
UI(用户界面)测试是指图形用户界面的测试。 UI测试的重点在于应用程序的外观。在用户界面测试中, 主要重点是检查用户如何与应用程序元素交互, 例如图像, 字体, 布局等。
API测试允许两个软件系统之间的通信。 API测试适用于后端, 也称为后端测试。
19)什么是SOAP?
SOAP(简单对象访问控制)。它是基于XML的协议, 有助于在计算机之间交换信息。
20)什么是REST API?
REST API是一组功能, 可帮助开发人员在收到响应时执行请求。通过HTTP协议在REST API中进行交互。
REST被定义为代表性状态转移。这是API创建的有效标准。
21)SOAP和REST API有什么区别?
先生 SOAP API REST API
SOAP代表简单对象访问协议。 REST代表代表性状态转移。
SOAP是一种协议。 REST是一种架构模式。
SOAP可以使用XML格式。在SOAP中, 所有以XML格式传递的数据。 REST允许使用不同的数据格式, 例如纯文本, HTML, XML, JSON等。但是用于传输数据的最优选格式是JSON。
22)API测试期间面临哪些主要挑战?
API测试期间面临的主要挑战是:
  • 参数选择
  • 参数组合
  • 呼叫排序
  • 输出验证和确认
  • 一个主要的挑战是提供输入值, 因为GUI不可用, 所以输入值非常困难。
23)API测试和单元测试有什么区别?
API测试和单元测试之间的区别是:
先生 API Testing 单元测试
API测试是黑盒测试的一种形式。 单元测试是白盒测试的一种形式。
在测试过程中, 在项目完成之后执行API测试。 在创建项目时执行单元测试。
API测试中有广泛的测试范围。 在单元测试中, 测试范围有限, 我们只能测试基本功能。
API测试由测试人员完成。 API测试的全部目的是功能的端到端测试。 单元测试由开发人员完成。在单元测试中, 每个功能都经过单独测试。
24)什么是RESTFUL Web服务?
Web服务有两种
  1. SOAP Web服务
  2. RESTFUL Web服务
1. SOAP(简单对象访问协议)-SOAP是在Web服务中使用的基于XML的方法。
2. RESTFUL Web服务-为了实现REST体系结构的概念, 使用了HTTP方法。 RESTFUL Web服务定义URI(统一资源标识符), 并且还提供诸如JSON和一组HTTP方法的资源表示。
25)REST中的资源是什么?
REST体系结构将任何内容视为资源, 可以是文本文件, HTML页面, 图像, 视频或动态业务信息。 REST服务器提供了访问和修改资源的功能。我们可以通过URI /全局ID识别每个资源。
26)在REST中表示资源的方式是什么?
REST使用不同的表示形式来定义资源, 例如文本, JSON和XML。最流行的资源表示形式是JSON和XML。
27)RESTFUL Web服务使用什么协议?
RESTFUL Web服务使用HTTP协议。他们使用HTTP协议作为客户端和服务器之间的通信媒介。
28)REST有什么特点?
这里是REST的两个特征。
  1. REST是无状态的。通过使用REST API, 服务器没有任何状态, 尽管所有数据都已传输到服务器, 我们仍可以在两次调用之间重新启动服务器。
  2. Web服务使用POST方法执行操作, 而REST使用GET方法访问资源。
29)RESTFUL Web服务中的消息传递是什么?
RESTFUL Web服务使用HTTP协议作为客户端和服务器之间的通信工具。当客户端以HTTP请求的形式发送消息时, 服务器发送回HTTP答复(称为消息传递)的方法是这种技术。此消息包含消息数据和元数据, 即有关消息本身的信息。
30)HTTP请求的组成部分是什么?
HTTP请求包含五个组成部分。这些是:
  1. 显示HTTP方法(如GET, PUT, POST, DELETE)的操作。
  2. 统一资源标识符(URI):URI是服务器上资源的标识符。
  3. HTTP版本:指示HTTP版本, 例如HTTP V1.1。
  4. 请求标头:请求标头包含HTTP请求消息的元数据。元数据可以是客户端类型, 客户端支持的格式, 消息正文的格式, 缓存设置等。
  5. 请求正文:资源正文指示消息内容或资源表示形式。
31)REST支持什么HTTP协议?
GET:GET用于从指定资源请求数据。
GET请求可以被缓存和收藏。它保留在浏览器历史记录中, 并且具有长度限制。处理敏感数据时, 不应使用GET请求。
POST:POST用于将数据发送到服务器以创建或更新资源。
POST请求永远不会被缓存或添加书签。
PUT:PUT用请求有效负载替换目标资源的当前表示。
DELETE:DELETE删除指定的资源。
选项:选项用于描述目标资源的通信选项。
HEAD:HEAD请求与GET请求相同的响应, 但没有响应主体。
32)我们可以使用GET请求而不是PUT创建资源吗?
使用PUT或POST方法创建资源。 GET仅用于请求资源。
33)什么是URI?基于Web的服务的目的是什么?它的格式是什么?
URI代表统一资源标识符。它是一个字符串, 旨在通过URI方案明确标识资源和可扩展性。 URI的目的是在Web服务的服务器托管上找到资源。
URI格式为< 协议> :// < 服务名称> / < 资源类型> / < 资源ID>
34)什么是SOAP Web服务?
SOAP(简单对象访问协议)定义为基于XML的协议。 SOAP还因开发和设计Web服务而闻名, 并且还可以通过使用Internet上的不同编程语言来实现在不同平台上开发的应用程序之间的通信。 SOAP是平台和语言独立的。
35)什么时候可以使用SOAP API?
我们可以使用SOAP API对诸如创建, 检索, 更新或删除之类的记录执行操作。我们可以使用API??来管理密码, 执行搜索等。
工作/人力资源面试问题
jQuery面试问题
Java OOP面试问题
JSP面试问题
休眠面试问题
SQL面试题
Android面试题
MySQL面试问题
1.
2.
3.
4.
1.
2.
3.
1.
2.
3.
4.
面试技巧
JavaScript面试问题
Java基础面试问题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
SQL Server面试问题

    推荐阅读