当前位置: 首页 > news >正文

接口测试 —— 接口测试的意义

1、接口测试的意义(优势)

(1)更早的发现问题:

不少的测试资料中强调,测试应该更早的介入到项目开发中,因为越早的发现bug,修复的成本越低。

然而功能测试必须要等到系统提供可测试的界面才能对系统进行测试。

而接口测试可以在功能界面开发出来之前对系统进行测试。

系统接口是上层功能的基础,接口测试可以更早更低成本的发现和解决问题。

然而,在实际的开发过程中,开发人员并没有充足的时间去编写单元测试,并且他们往往对自己编写的代码有足够的信心,不愿意将“浪费”时间在编写单元测试上面。

这个时候接口测试的作用就会变得更加重要。

(2)缩短产品研发周期:

对于产品研发周期来说,如果将所有测试工作都集中在功能测试阶段,那么测试的问题和修复周期就会变长。

因为测试可以更早的介入产品开发中,所以可以有效的控制功能测试阶段bug的数量,从而有效的缩短产品开发周期。

(3)发现更底层的问题:

系统的有些底层逻辑是在UI功能测试中不太容易触发的,那么这些逻辑可能会存在问题。接口测试可以更容易更全面的测试到这些底层的逻辑。

(4)检查服务器的异常处理能力:

我们通常把前端的验证称为弱验证,因为它很容易被绕过,这个时候如果只站在功能的层面进行测试,就很难发现一些安全的问题。

而不以功能为入口的接口测试就会很容易的验证这些异常情况。

  1. 比如订单接口是不允许重复提交的。
  2. 有些接口还要考虑性能问题。
  3. 比如购物车里有多个商品,全部勾选后去支付, 会判断商品库存,这时候能提交成功吗,处理逻辑又是什么?
  4. 安全性测试:
    服务端提供API, 接口调用方在客户端,之间的通讯暴露在公网上,如果有不善意的用户抓包获取了支付接口,用1元价格购买到了100元商品,这是非常危险的,这就是安全性测试的一个方面。
    SQL注入等也属于这类。

2、UI测试与接口测试对比

(1)UI测试特点:

一般互联网公司,最大的特点就是快,产品需要不停的迭代,迭代时间基本在15天左右。

UI自动化测试的优点是,能够实际模拟真实用户的行为,直接验证软件的商业价值,缺点是用例的维护和执行代价很大。

另外,UI自动化测试的稳定性问题,是长期以来阻碍UI测试发展的重要原因。

在快速迭代的情况下(如不停的更新活动界面),页面的改动可能会很频繁,而UI自动化测试本身基于页面元素,前端小小的改动可能需要测试的非常大的改动。

所以总结如下:

  1. web应用和APP迭代速度非常快。
  2. 页面更新频繁。
  3. 测试成本高于效益。
  4. 可交付于第三方进行测试(云测、众测)。

(2)接口测试特点:

针对服务端后台测试,接口规则一旦确定,后期的变化非常的小。

相对于变化频繁的UI来说,接口测试的性价比更高。

这就成为了企业内重点测试的对象,我们都知道服务端中保存着用户数据、业务数据、交易数据等。倘若任何一个接口实现有问题,都会影响所有用户。

正是由于服务端数据和业务逻辑关系着企业的命脉,所以极少会有企业把接口交于第三方测试。

作为测试人员,我们需要验证的是接口间数据传递的正确性和完整性。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!     

http://www.lryc.cn/news/251141.html

相关文章:

  • 一些常见的爬虫库
  • 2023.12.2 做一个后台管理网页(左侧边栏实现手风琴和隐藏/出现效果)
  • 【EMFace】《EMface: Detecting Hard Faces by Exploring Receptive Field Pyramids》
  • 详细学习Pyqt5的20种输入控件(Input Widgets)
  • 【JavaEE初阶】Thread 类及常见方法、线程的状态
  • 0 NLP: 数据获取与EDA
  • 159.库存管理(TOPk问题!)
  • 【开源】基于Vue+SpringBoot的康复中心管理系统
  • 设计模式总览
  • 数据链路层之VLAN基本概念和基本原理
  • UVA11729 Commando War
  • 【数据库】数据库基于封锁机制的调度器,使冲突可串行化,保障事务和调度一致性
  • 大文件分片上传、分片进度以及整体进度、断点续传(一)
  • Pytest 的小例子
  • 大数据(十一):概率统计基础
  • web前端之TypeScript
  • 计网Lesson6 - IP 地址分类管理
  • Nat. Mach. Intell. | 预测人工智能的未来:在指数级增长的知识网络中使用基于机器学习的链接预测
  • MySQL海量数据配置优化教程
  • Mac-idea快捷键操作
  • HarmonyOS脚手架:UI组件之文本和图片
  • 详细学习Pyqt5中的6种按钮
  • 【工具】Zotero|使用Zotero向Word中插入引用文献(2023年)
  • 利用Python爬虫爬取豆瓣电影排名信息
  • 灯光开不了了,是不是NVIDIA的问题
  • 线性可分SVM摘记
  • LabVIEW在调用image.cpp或drawmgr.cpp因为DAbort而崩溃
  • nodejs微信小程序+python+PHP贵州旅游系统的设计与实现-计算机毕业设计推荐MySQL
  • WebUI自动化学习(Selenium+Python+Pytest框架)003
  • python+Appium自动化:python多线程多并发启动appium服务