1、接口测试的意义(优势)
(1)更早的发现问题:
不少的测试资料中强调,测试应该更早的介入到项目开发中,因为越早的发现bug,修复的成本越低。
然而功能测试必须要等到系统提供可测试的界面才能对系统进行测试。
而接口测试可以在功能界面开发出来之前对系统进行测试。
系统接口是上层功能的基础,接口测试可以更早更低成本的发现和解决问题。
然而,在实际的开发过程中,开发人员并没有充足的时间去编写单元测试,并且他们往往对自己编写的代码有足够的信心,不愿意将“浪费”时间在编写单元测试上面。
这个时候接口测试的作用就会变得更加重要。
(2)缩短产品研发周期:
对于产品研发周期来说,如果将所有测试工作都集中在功能测试阶段,那么测试的问题和修复周期就会变长。
因为测试可以更早的介入产品开发中,所以可以有效的控制功能测试阶段bug的数量,从而有效的缩短产品开发周期。
(3)发现更底层的问题:
系统的有些底层逻辑是在UI功能测试中不太容易触发的,那么这些逻辑可能会存在问题。接口测试可以更容易更全面的测试到这些底层的逻辑。
(4)检查服务器的异常处理能力:
我们通常把前端的验证称为弱验证,因为它很容易被绕过,这个时候如果只站在功能的层面进行测试,就很难发现一些安全的问题。
而不以功能为入口的接口测试就会很容易的验证这些异常情况。
-
比如订单接口是不允许重复提交的。
-
有些接口还要考虑性能问题。
-
比如购物车里有多个商品,全部勾选后去支付, 会判断商品库存,这时候能提交成功吗,处理逻辑又是什么?
-
安全性测试:
服务端提供API, 接口调用方在客户端,之间的通讯暴露在公网上,如果有不善意的用户抓包获取了支付接口,用1元价格购买到了100元商品,这是非常危险的,这就是安全性测试的一个方面。
SQL注入等也属于这类。
2、UI测试与接口测试对比
(1)UI测试特点:
一般互联网公司,最大的特点就是快,产品需要不停的迭代,迭代时间基本在15天左右。
UI自动化测试的优点是,能够实际模拟真实用户的行为,直接验证软件的商业价值,缺点是用例的维护和执行代价很大。
另外,UI自动化测试的稳定性问题,是长期以来阻碍UI测试发展的重要原因。
在快速迭代的情况下(如不停的更新活动界面),页面的改动可能会很频繁,而UI自动化测试本身基于页面元素,前端小小的改动可能需要测试的非常大的改动。
所以总结如下:
-
web应用和APP迭代速度非常快。
-
页面更新频繁。
-
测试成本高于效益。
-
可交付于第三方进行测试(云测、众测)。
(2)接口测试特点:
针对服务端后台测试,接口规则一旦确定,后期的变化非常的小。
相对于变化频繁的UI来说,接口测试的性价比更高。
这就成为了企业内重点测试的对象,我们都知道服务端中保存着用户数据、业务数据、交易数据等。倘若任何一个接口实现有问题,都会影响所有用户。
正是由于服务端数据和业务逻辑关系着企业的命脉,所以极少会有企业把接口交于第三方测试。
作为测试人员,我们需要验证的是接口间数据传递的正确性和完整性。
如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......
END配套学习资源分享
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
加入我的软件测试交流qq群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
全套资料获取方式: