zoukankan      html  css  js  c++  java
  • 什么是API测试

    什么是API

    API是Application Programming Interface的简写。

    实现了两个或多个独立系统或模块间的通信和数据交换能力。

    什么是API测试

    一篇文章让你入门API测试

    图片.png

    API测试是不同于UI级自动化测试,其主要关注在系统架构的业务逻辑层,所以其主要关注不在于UI操作或用户感观上,更重调用逻辑关系。

    与UI级自动化测试通过控制键盘输入和鼠标等操作不同的是:API测试,我们是通过工具或代码方式去调用特定的API,获取输出,并记录系统的响应。

    API测试需要与应用程序的API进行交互,为了测试这些API,我们可以:

    • 使用测试工具来进行测试

    • 自己写代码的方式进行测试

    API测试准备工作

    首先你得获取目标测试系统的API相关文档,例如API对应的参数格式、期望返回结果等(一由开发提供文档,二自己抓包分析)

    就我们所处国内的实际情况,在大部分情况下,开发都没有成型的文档。所以作为测试人员,你应该具备以下技能:

    • 优先去推动开发生成一份合适的API说明文档

    • 掌握抓包分析工具,能够自己去抓包分析形成API文档

    • 至少把http协议掌握,了解其报文结构

    • 对用户业务熟悉,能把API级业务逻辑和用户业务结合起来

    API主要测试什么

    API级测试至少应该覆盖以下测试要点:

    • 验证API所暴露的资源是否恰当的列出、创建、修改、和删除

    • 验证API是否功能可用以及用户友好,是否便于与其他平台集成

    • 安全测试,验证API是否包含了必要的认证以及敏感数据是否做了脱敏处理,是否支持加密或明码的http访问

    • 自动化测试,将API高度业务场景化,实现自动化测试

    • 文档,形成足够的文档,确保API质量的可维护行

    API测试要注意什么

    在API测试过程中要重点关注什么呢?

    • API测试用例要进行分类分组

    • 每个API测试用例都应该参数化

    • 在测试执行时,优先执行API测试

    • 测试用例应该尽可能做到可独立执行

    • 为了确保覆盖率,应该为API的所有可能输入进行测试数据规划

    API测试能发现什么bug

    在API测试时,一般会发现哪类型的bug呢?

    • 无法正确处理错误的深入条件

    • 缺少或重复功能

    • 可靠性问题

    • 安全问题

    • 多线程问题

    • 性能问题

    • 响应数据结构不规范问题

    • 有效参数值不能正确处理

    API测试有哪些工具

    • SoapUI

    • JMeter

    • PostMan

    • 自己写代码

    其他工具不推荐了,笔者首推SoapUI或自己写代码

    API测试你可能遭遇哪些大坑

    • 无效的测试数据规划,导致你的参数穷举组合

    • 因为没有界面,开发又不提供文档的情况下,大部分人无从下手,会一脸懵逼

    • 平时测试大都关注正常的情况,但要注意异常处理API必须进行测试,你懂的

    • 起码你要会点代码,会点HTTP协议,不然没法沟通交流

    总结

    把日常接口测试工作进行了大概的总结,希望对入门接口测试的朋友们有点效果,没效果那也没办法了,只能这样了。

  • 相关阅读:
    分布式全局ID生成器设计
    对volatile不具有原子性的理解
    理解单链表的反转(java实现)
    Spring Boot 自定义kafka 消费者配置 ContainerFactory最佳实践
    Java 重载方法的匹配规则-含有变长参数方法的匹配
    为什么会产生jar包冲突,如何排查jar包冲突?
    SpringBoot 整合mongoDB并自定义连接池
    Java使用Optional与Stream来取代if判空逻辑(JDK8以上)
    多级树的深度优先遍历与广度优先遍历(Java实现)
    Maven pom.xml 全配置(一)常用配置
  • 原文地址:https://www.cnblogs.com/111testing/p/6880851.html
Copyright © 2011-2022 走看看