总结我所理解的,整理过程的点点滴滴,只为回首往事时不因虚度年华而悔恨,不因碌碌无为而羞耻。
欢迎你来我的千聊平台,我们一起颠覆你的Python接口自动化测试
【来源】:之前交流课中一位小伙伴问起接口自动化测试,原始问题是这样的:Python脚本写接口测试用例的覆盖率比通过Fiddler手动传参值高吗?,我给这个问题放大了说,大概就是说:自动化测试是不是比手工测试覆盖率高?
【分析】我觉得提出这个问题的小伙伴,可能觉得自动化很神奇,自动化能替代手工测试做测试,然而理想很丰满,现实很骨感。许多的自动化测试最终都以失败而告终,究其原因不是技术不够成熟,也不是测试人员不用心,可能是因为太想自动化了,太想把所有美好的东西都用机器去实现,到最后为了自动化而自动化,疲于应对纷繁变化的业务,疲于维护代码,最后发现这个工作量比手工测试还要大,而且随着系统复杂度的增加,运行的稳定性在降低,最终累了、皮了、乏了。自动化项目自然就推进不下去了。
【看点】回到这个问题本身,自动化测试是让机器去执行,自动化脚本是编程语言的集合,编程语言是开发者思想的体现,开发者思想是业务逻辑抽象的结果,所以自动化=业务逻辑的抽象,这么说,应该能理解指望自动化测试提高覆盖率是不现实的。因为他只是业务逻辑的一种体现方式,最多只是效率上面要高一些而已。
【反问】既然自动化不能提高覆盖率,为什么还要用自动化代替手工呢?虽说自动化没有提高覆盖率的优势,但其他方面的优势他还是有的,比如无差别化的执行(手工测试能保证每轮执行都一样吗?)、执行效率比手工高,但这些优势都是建立在一个共同的基础上的,那就是项目比较稳定,只有稳定的项目才有自动化的价值,所以现在很多人都摒弃了UI自动化测试,或者说复杂的UI自动化测试,原因就是UI变化快,维护脚本的成本太高,继而现在很多人开始追捧接口自动化测试,因为接口是连接业务和是数据的纽带,是业务逻辑的集中体现,同时接口又比较单一,其核心部件就三个(地址、入参、返回包),最重要的一点是接口的修改基本是以增量的模式,所以其稳定性很高,所以接口自动化测试的性价比高。
【追加】既然自动化测试性价比如此高,那么该做到什么层次的接口自动化测试呢?
作者简介:
1、6年软件测试经验;2、擅长接口手工测试及自动化测试,UI自动化,Django 框架;3、自编自导自演了一套基于 Python + Django + MySQL 的自动化测试平台;
想更深入的了解,欢迎来我的千聊平台,我们一起颠覆你的Python接口自动化测试