美文网首页
常见接口测试面试题汇总

常见接口测试面试题汇总

作者: C1R2 | 来源:发表于2020-09-22 22:27 被阅读0次

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

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

    3.常见的API测试类型有哪些?
    API测试通常涉及以下实践:
    单元测试
    功能测试
    负载测试
    运行时/错误检测
    安全测试
    UI测试
    互操作性和WS一致性测试
    渗透测试
    模糊测试

    4.列举API测试中使用的一些常用协议?
    thrift
    HTTP
    REST
    SOAP
    JMS
    UDDI
    dubbo

    5.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中的中断等。

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

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

    8.SOAP和REST的区别?
    SOAP:
    通过共享XML文档进行通信
    仅支持XML格式
    不支持缓存
    SOAP比REST慢
    SOAP就像自定义桌面应用程序,紧密连接到服务器
    SOAP基于HTTP进行封装

    REST:
    基于网络的软件架构的服务架构和设计
    支持不同的数据格式
    支持缓存
    比SOAP更快
    REST客户端就像浏览器并使用应用程序必须适合的标准方法
    REST使用HTTP标头来保存元信息

    9.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。

    参考链接如下
    https://mp.weixin.qq.com/s/XxchxB0diRq2a4A6_kqGVA

    相关文章

      网友评论

          本文标题:常见接口测试面试题汇总

          本文链接:https://www.haomeiwen.com/subject/svoluhtx.html