您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

什么是接口测试?API接口测试设计

时间:2019-08-03 15:56:25  来源:  作者:

什么是接口

什么是接口测试?API接口测试设计

 

应用程序编程接口,也成为API。简单的讲,就是某 一个功能的实现或展示基于对于另一个功能的调用,那么调用与被调用之间的连接点就是接口。常见接口大致可以分为如下几种:

  • 系统与系统之间的调用,比如使用淘宝支付会调用支付宝接口。
  • 上层服务对下层服务的调用,比如应用层会调用服务层提供的接口。
  • 服务之间的调用,比如注册用户时,会先调用用户查询服务,查看该用户是否已经注册。

总体来说,不管哪种类型,只要把被测接口当做服务方,把测试工具当做客户方,我们的目的就是通过客户方验证服务方是否满足了它提供的功能。


什么是接口测试

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要验证数据的交换、传递、控制管理过程,以及系统间的相互逻辑依赖关系等。


接口测试的流程

接口测试的流程与功能测试的流程类似,如下:

  • 需求分析:需求确定后,研发会根据功能需求进行接口设计,产出接口说明文档,这个过程可以结合对用户、功能需求理解,及接口服务的应用场景给出接口设计的相关建议。
  • 测试设计:主要结合接口服务应用场景及功能需求,从功能、 可靠性、性能、安全几个方面考虑 ,可以参考本文最后一个章节。
  • 测试用例编写:注意区别接口测试用例和功能测试用例,接口用例是根据不同接口参数的组合与期望结果,对接口返回值、数据库进行校验。
  • 测试用例评审
  • 测试执行
  • 持续集成

接口测试质量评估标准

  • 业务功能覆盖是否完整
  • 业务规则覆盖是否完整
  • 参数验证是否达到要求(边界、业务规则)
  • 接口异常场景覆盖是否完整
  • 性能指标是否满足要求
  • 安全指标是否满足要求

接口测试的测试点

功能性测试

1.参数值

  • 有无null边界范围枚举特殊字
  • 参数前后的空格
  • 错误/无效数据参数
  • 默认值大小写
  • 参数顺序个数类型

2.参数属性

  • 参数顺序个数类型
  • 参数长度:null 0, max. max+1

3.参数组合

  • 必选参数缺失、完整
  • 可选参数组合
  • 响应体错误码

4. 接口内部逻辑

  • 正常分支
  • 错误分支,响应错误码
  • 异常分支,请求超时、响应超时、响应体格式错误

可靠性测试

  1. 幕等:重复提交,变量不变,结果应当一致
  2. 环境异常:网络问题、磁盘问题、数据库异常等情况请求体大
  3. 大数据量
  • 请求体大
  • 响应体大

性能测试

1.接口性能测试

  • QPS/TPS
  • 并发数
  • 响应时间
  • 吞吐量
  • 大数据量背景
  • 服务器资源使用率(CPU、内存、IO)

2.接口稳定性测试

  • 运行稳定性
  • 与其他接口/系统的交互稳定

安全测试

1.传输安全,不应暴露明文信息

  • 前后端数据传输是否加密
  • 日志信息是否加密

2.访问安全

  • Token、License认证

3.接口是否防止恶意请求

  • 接口调用次数是否做限制
  • SQL注入


Tags:接口测试   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
requests一、简介使用 python 做自动化接口测试需要用代码发送 http 请求。requests 是 Python 语言里网络请求库中最好用的,没有之一。requests 库有完善详尽的中文版官方...【详细内容】
2021-12-01  Tags: 接口测试  点击:(15)  评论:(0)  加入收藏
前言接口测试是我们在测试工作中经常见到的,我们工作中常用到的接口工具有jmeter,postman,soupUI等工具,那么在通过代码做接口测试呢?或者通过代码的方式做接口自动化呢? requests...【详细内容】
2021-07-23  Tags: 接口测试  点击:(93)  评论:(0)  加入收藏
先来个小故事:一天,你的领导丢给你几十个接口,然后希望你输出报告。你:"exm?",改改改。于是你引入了unittest单元测试框架、HTMLTestRunner等等。正打算将各个测试用例分类重新规...【详细内容】
2020-11-04  Tags: 接口测试  点击:(113)  评论:(0)  加入收藏
对于自动化测试,原来谈这方面的内容比较少,但是现在我们做DevOps支撑平台的时候,在整个持续集成和交付的过程中,有一个重要的内容就是自动化测试。自动化测试的覆盖面相当大,其...【详细内容】
2020-10-30  Tags: 接口测试  点击:(104)  评论:(0)  加入收藏
什么是 API 测试?API 测试其实是一种用程序或工具来发送数据,同时验收系统的返回值的方法。这种测试更偏向于业务实现逻辑。常见的网络协议有 TCP、Http、webservice、socket...【详细内容】
2020-10-19  Tags: 接口测试  点击:(128)  评论:(0)  加入收藏
应用场景:在API的测试中,测试某些具体数据值,比如返回的结果是否是需求的类型,文件是否是符合且具备完整的数据结构。这些都是必须且很细致的测试工作。另外,组织、运行测试场景,...【详细内容】
2020-10-19  Tags: 接口测试  点击:(244)  评论:(0)  加入收藏
JMeter是Apache组织的开放源代码项目,能做接口测试、功能测试和性能测试。它能够对HTTP和FTP服务器进行压力和性能测试,也可以对数据库进行同样的测试(通过JDBC),还能以多种形式...【详细内容】
2020-09-09  Tags: 接口测试  点击:(70)  评论:(0)  加入收藏
一、登录态是什么?在接口测试领域,登录态就是指登录状态。1 登录态的作用作用:用来维持接口的登录状态在浏览器中,我们登录后,浏览器会自动把登录状态保存下来,所以不需要我们管...【详细内容】
2020-07-19  Tags: 接口测试  点击:(138)  评论:(0)  加入收藏
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要...【详细内容】
2020-06-18  Tags: 接口测试  点击:(52)  评论:(0)  加入收藏
接口测试中的接口到底是什么?先看一道题,请找出以下可以被成为接口的选项:◆ USB◆ 水龙头◆ 用户界面UI◆ 函数◆ https://www.baidu.com◆ https://api.github.com接口的英文...【详细内容】
2020-05-03  Tags: 接口测试  点击:(74)  评论:(0)  加入收藏
▌简易百科推荐
本文分为三个等级自顶向下地分析了glibc中内存分配与回收的过程。本文不过度关注细节,因此只是分别从arena层次、bin层次、chunk层次进行图解,而不涉及有关指针的具体操作。前...【详细内容】
2021-12-28  linux技术栈    Tags:glibc   点击:(3)  评论:(0)  加入收藏
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(2)  评论:(0)  加入收藏
程序是如何被执行的  程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(10)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(20)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(25)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(25)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条