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

news/2025/2/10 8:42:29/

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来说,接口测试的性价比更高。

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

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

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

如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......


END配套学习资源分享

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

加入我的软件测试交流qq群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

全套资料获取方式:


http://www.ppmy.cn/news/280670.html

相关文章

Docker超详细基础使用(带图)

目录 安装ubuntu 基本使用命令 docker run 容器名 延伸命令 启动ubuntu 查看所有正在运行的容器 指定容器别名启动 doker ps 延伸命令 退出容器 重新进入正在运行的容器 启动容器 删除已停止的容器 强制删除容器 查看容器日志 查看容器内部运行的进程 ​编辑 查看容…

[游戏代码] L4D求生之路部分代码用法

获取开火的武器代码 public Action Event_WeaponFire(Event event, const char[] name, bool dontBroadcast) {char sWeapon[32];GetEdictClassname(GetPlayerWeaponSlot(client, 0), sWeapon, 32);PrintToChatAll("武器代码:%s ,sWeapon); }

[游戏代码]求生之路:ent_fire用法

ent_fire <classname or targetname> <input name> <optional parameter> <optional delay> <classname or targetname> !self //只对自己工作 !picker //通过瞄准选择的玩家 player //该服务器上的所有玩家地图事件调用方法: 例子解释(地图编辑…

[游戏代码]求生之路插件:人物获得武器

#include <sourcemod> #include <sdktools> #pragma semicolon 1public Plugin:myinfo {name "[紫冰] 武器给予",author "紫冰",description "输入指令获得武器",version "1.0",url "https://blog.csdn.net/Z…

求生之路2升级补丁及完整版下载

各低版本升级包&#xff1a;&#xff08;按自己版本情况选择下载&#xff09; 资源免责申明&#xff1a;本人提供的所有资源&#xff0c;均为互联网收集转载&#xff01;请在下载24小时内删除&#xff01;为尊重版权&#xff0c;谢谢&#xff01; 各低版本升级包&#xff1a;&a…

求生之路2linux服务器,《求生之路2》正式开放Linux版

开发商Valve已经完成了在Linux系统上的完成了对Steampipe系统的支持和EMS系统(传说中很牛叉的进阶突变系统&#xff0c;存在于突变模式中)的研发与测试。 所谓的Steampipe系统&#xff0c;就是能给予开发者在内容存储服务器上的编码分支和管理测试访问权的灵活性。以及代码也变…

[教程] 求生之路联机方法

生之路联机才是该游戏的乐趣所在&#xff0c;联机请检查双方 游戏版本 是否一致&#xff0c;不同版本 无法联机 。 求生之路ip直连方法&#xff1a; 1.使用MAP命令建立主机&#xff0c;单人战役模式建立的游戏 无法联机 。 PS&#xff1a;路由器用户建主需开启端口映射 按…

Left 4 Dead 2(求生之路2) 游戏打不开 游戏闪退 的一种可能性以及解决方法

放假了想和朋友们一起打求生2,于是在搞游侠准备联机。可问题出现了,其他人的游侠能够正常启动游戏,我的却启动不了。 显示游戏已经正常启动,在资源管理器里也看到有了进程left4dead2.exe,但过了一会进程就没了。完全没有错误信息,令人头大.jpg。 在网上查找如何解决游戏…