什么是API?

API是一个缩写,它代表了一个 pplication P AGC软件覆盖整个房间。API是用于构建软件应用程序的一组例程,协议和工具。API指定一个软件程序应如何与其他软件程序进行交互。

例行程序:执行特定任务的程序。例程也称为过程,函数或子例程。

协议:在两个系统之间传输数据的格式。

简单地说,API代表一个 pplication P AGC软件覆盖整个房间。API充当两个软件应用程序之间的接口,并允许两个软件应用程序相互通信。API是可以由另一个软件程序执行的软件功能的集合。

让我们以更平易近人的方式查看一些API示例。

假定API是餐厅的服务员。

在餐厅,您可以根据菜单上的可用商品下订单。餐厅的服务员写下您的订单,然后将其交付给准备餐点的厨房。饭食准备好后,服务员从厨房拿起您的食物,并在您的餐桌旁将其提供给您。

在这种情况下,服务员的角色类似于API。作为服务员,API从源接收请求,将该请求接收到数据库,从数据库中获取请求的数据,然后将响应返回给源。

现在让我们来看另一个例子。

如果您使用的是航班服务引擎,请说出Expedia,在其中搜索特定日期的航班。出发地,目的地,到达日期和返回日期等数据后,单击搜索。Expedia根据您的搜索详细信息通过API向航空公司发送请求。然后,API将航空公司对您的请求的响应发送回Expedia。

API从用户那里获取请求并给出响应,而不会暴露内部逻辑。API就像一个抽象的OOPS概念。

什么是API测试?


API测试是一种软件测试,涉及直接测试API,并且是集成测试的一部分,以检查API是否在应用程序的功能,可靠性,性能和安全性方面达到期望。在API测试中,我们的主要重点是软件体系结构的业务逻辑层。API测试可以在包含多个API的任何软件系统上执行。API测试不会专注于应用程序的外观。API测试与GUI测试完全不同。

让我们看看UI测试与API测试有何不同?

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

API测试类型?

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

  • 单元测试: 测试单个操作的功能
  • 功能测试: 通过使用一起测试的一组单元测试结果来测试更广泛场景的功能
  • 负载测试: 测试负载下的功能和性能
  • 运行时/错误检测: 监视应用程序以识别问题,例如异常和资源泄漏
  • 安全测试: 确保API的实施不受外部威胁的影响
  • UI测试: 此测试 是端到端集成测试的一部分,以确保用户界面的各个方面都能按预期运行
  • 互操作性和WS一致性测试: 互操作性和WS一致性测试是一种适用于SOAP
    API的测试类型。通过确保符合Web服务互操作性概要文件来检查SOAP API之间的互操作性。 对WS-
  • 遵从性进行了测试,以确保诸如WS-Addressing,WS-Discovery,WS-Federation,WS-Policy,WS-Security和WS-Trust等标准得到正确实施和利用
  • 渗透测试: 查找来自攻击者的应用程序漏洞
  • 模糊测试: 通过强制输入系统来测试API,以尝试强制崩溃

API的常见测试:

  1. 我们在API上执行的一些常见测试如下。
  2. 验证返回值是否基于输入条件。应根据请求验证API的响应。
  3. 在API更新任何数据结构时验证系统是否正在验证结果
  4. 验证API是触发其他事件还是请求其他API
  5. 在没有返回值的情况下验证API的行为

API测试的优势:

  • 与GUI测试相比,API测试是省时的。API测试自动化需要更少的代码,因此可以提供更快,更好的测试范围。
  • API测试可帮助我们降低测试成本。通过API测试,我们可以在GUI测试之前发现一些小错误。这些小错误将在GUI测试期间变得更大。因此,在API测试中发现这些错误对公司而言是具有成本效益的。
  • API测试是独立于语言的。
  • API测试对测试核心功能很有帮助。我们可以在没有用户界面的情况下测试API。在GUI测试中,我们需要等到应用程序可用以测试核心功能。
  • API测试可帮助我们降低风险。

API测试中到底需要验证什么?

  • 基本上,在API测试中,我们使用已知数据向API发送请求,然后分析响应。
  • 资料准确性
  • HTTP状态码
  • 响应时间
  • API返回任何错误时的错误代码
  • 授权检查
  • 非功能测试,例如性能测试,安全性测试

用于API测试的工具:

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

  • 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

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

单元测试:

  • 单元测试由开发团队进行
  • 单元测试是白盒测试的一种形式
  • 在将代码包含在构建中之前,先进行单元测试
  • 源代码涉及单元测试
  • 在单元测试中,测试范围是有限的,因此仅考虑基本功能进行测试

API测试:

  • API测试由质量检查小组进行
  • API测试是黑盒测试的一种形式
  • API测试在构建可用于测试之后进行
  • API测试中不涉及源代码
  • 在API测试中,测试的范围很广,因此要考虑所有正常运行的问题以进行测试

API测试中的挑战:

  • 在进行API测试时,我们面临的一些挑战如下
  • 选择合适的参数及其组合
  • 正确分类参数
  • 需要正确的呼叫排序,因为这可能导致测试覆盖范围不足
  • 验证和验证输出
  • 由于没有GUI,因此很难提供输入值

我们在执行API测试时会遇到的错误类型:

  • 执行API测试时观察到的问题是
  • 压力,性能和安全性问题
  • 功能重复或缺失
  • 可靠性问题
  • 消息传递不当
  • 不兼容的错误处理机制
  • 多线程问题
  • 错误的错误

API测试最佳做法:

测试预期结果

  • 发送一系列API负载测试,给系统增加压力
  • 按测试类别对API测试用例进行分组
  • 使用所有可能的输入组合创建测试案例,以完整地覆盖测试
  • 优先处理API函数调用,使其易于测试
  • 创建测试以处理无法预料的问题
  • 尽可能自动执行API测试

    上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【313782132 】,里面有各种软件测试资源和技术讨论。

    最后: 欢迎关注小编领取一份300页pdf文档的Python自动化测试工程师核心知识点总结!软件测试技术交流群:(313782132) 这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

API测试| 了解API接口测试| API接口测试指南相关推荐

  1. API测试和自动化101:基本指南

    API代表A pplication P AGC软件我覆盖整个院落. 通常,API用于通过使用任何通信方式来促进两个不同应用程序之间的交互. 在网络上使用API​​时,我们将其称为" Web服 ...

  2. API测试基础知识(基本概念、测试方法、测试工具)

    目录 什么是API? 什么是API测试 API测试的测试用例: API测试方法: 如何进行API测试 API测试的最佳做法: API测试检测到的错误类型 API测试工具 API测试的挑战 结论: 总结 ...

  3. 面对行业分析家和敏捷专家都认可的API测试,我们为什么会望而却步?

    转向微服务和API驱动的架构正在推动整个行业的重大创新,但也使企业面临隐患.人机界面(Web和移动UI)不再是主要业务风险所在.相反,最大的漏洞隐藏在API的非人机界面中. 因此,API测试已成为越来 ...

  4. Jenkins + Postman + Newman作自动化API测试

    文章目录 Jenkins + Postman + Newman作自动化API测试 用Postman作API测试 提交Postman Collection到版本控制 在Jenkins上安装`newman ...

  5. API简介,如何运用API接口获取商品数据(淘宝/天猫、1688、拼多多、京东等二十多个海内外电商平台)

    API:应用程序接口(API:Application Program Interface) 应用程序接口是一组定义.程序及协议的集合,通过 API 接口实现计算机软件之间的相互通信.API 的一个主要 ...

  6. API测试-接口测试基础

    目录 接口测试基础 1.什么是接口? 2.接口类型 3.接口本质 4.什么是接口测试? 5.为什么做接口测试? 6.怎样做接口测试? 7.接口测试的测试点是什么? 8.接口测试都要掌握哪些知识? 接口 ...

  7. API测试-接口测试基础(1)

    由于自己想学习API方面的测试,但是市面上搜不到相关的图书可以系统学习,网上的内容又零零散散,适合有点API开发基础的人去搜索.为了方面新手学习API测试,现在整理了他人的宝贵经验和自己的学习心得,尽 ...

  8. 接口测试php代码,简易 PHP API 测试

    简易 PHP API 测试 PHP代码 /* ============================================================================= ...

  9. 使用JMETER进行REST API测试(分步指南)

    我确定你在这里是因为你需要加载测试Json Rest API.这并不奇怪,因为Rest API现在越来越受欢迎. 这本指南的目的:帮助您进行负载测试一个Json的 REST API 通过一个具体的例子 ...

最新文章

  1. Apache Kafka-Spring Kafka生产消费@KafkaListener源码解析
  2. TrackFormer解读
  3. zookeeper应用之分布式锁
  4. element 表单回显验证_关于vue el-form表单报错的问题
  5. .Net Core下基于Emit的打造AOP
  6. 【BZOJ1924】【SDOI2010】所驼门王的宝藏(Tarjan,SPFA)
  7. 2021住房消费品质服务报告
  8. 064_将 Linux 系统中 UID 大于等于 1000 的普通用户都删除
  9. python的类里的属性是否可以为列表_是否有Python方法可以访问类的所有非私有和非内置属性?...
  10. 为什么Docker,Vagrant和Ansible等工具比以往更热门
  11. Java基础提高学习笔记2
  12. JS开发工具WebStorm使用快捷键
  13. NetBeans 时事通讯(刊号 # 108 - Jul 08, 2010)
  14. javascript实现文件下载
  15. 16种英语时态总结归纳
  16. excel如何去重统计户数_excel表格单一数据统计-Excel如何去重,然后统计数据?...
  17. 逻辑架构和物理架构在架构设计中的应用
  18. 中国石油大学《机械原理》第二次在线作业
  19. JS循环输出数组及数组键值
  20. ES索引创建、新增与修改字段

热门文章

  1. 基于改进Deeplabv3plus的自动驾驶场景分割系统 (源码&教程)
  2. python- cx_Freeze安装、打包exe文件
  3. 用js调用摄像头实现拍照功能兼容到ie8
  4. Talib指标公式及释义整理
  5. 永远到底有多远,在选择之后回首
  6. Java—面向对象三大特征(封装,继承)
  7. pg 9.3 新关键字 lateral 的用法.
  8. 程序员开发10余年无法突破架构师?那是因为这个环节没做对
  9. 最新信息安全毕设选题题目推荐
  10. 江西“90后”农民返乡种猕猴桃 亩产2万元成“田状元”