接口自动化不是救命稻草

简介: 接口自动化不是救命稻草

接口自动化的内容写了很多了,本来以为没什么东西再聊。这两天和两个不同团队的测试负责人交流,发现大家对于接口自动化的落地还是很多疑问,接口自动化到底能不能在短期内帮助到团队呢?

01

它不是救命稻草

 

自动化并不是提升效率的万能药。很多团队开展接口自动化的初衷或者说期待是降本增效,这是没错的,但都忽略了一件事,那就是接口自动化的前期投入。接口自动化的效率提升,是需要在更长时间维度上体现的(个人认为这个接口自动化要能真实地产生效益,至少要有3个月的前期投入)。

 

如果你的团队现状是时间紧、任务重,但是项目的周期只有几个月,或者半年,那就堆人吧,搞什么自动化。引入接口自动化,所产生的效益在前期基本上是看不到的。你还要花费额外的人力去做场景梳理和脚本维护。

 

所以,接口自动化并不是紧急项目的救命稻草,特别是没有规范化的接口管理之前。

02

接口自动化的前期投入

 

对于想要开展接口自动化的团队,在真正落地到工具上之前,至少需要完成以下几个步骤:场景梳理、接口核对、用例编写、执行验证、扩大范围。

 

场景梳理:首先要花时间和精力去梳理哪些场景适合做接口自动化,核心场景、高频场景还是利益相关的场景,需要有人去梳理出完整的业务流程。在存量系统中,做单接口的测试意义不大,必须以场景用例为主。

 

接口核对:根据梳理出来的场景,和开发确认涉及的接口和参数。这是工作量最大、难度最高的投入。如果有规范化的接口文档,还好些,如果没有这类规范化的基础,仅通过抓包来分析,那投入的时间就更大了。

 

用例编写:基于前面两步,选择合适的工具反而是最简单的事了,现在不论是工具还是平台,对于接口测试的支持都非常友好,可供选择的范围也很多。

 

执行验证:先选1~2个场景,把脚本写好(前期可以不考虑过多的封装和规范),然后Run起来,看看场景和数据是否能够跑顺,跑通,数据是否真实落到系统当中去,当系统异常时,是否能发现问题。最常见的做法是:收回某些用户权限,或者删除某些关键数据,用例要能正常发现这些问题(所谓的用例有效性验证,只有这样,用例才是有效的。没有合适断言的自动化用例,没有任何意义)。

 

扩大范围:当前面的步骤都完成并验证可行后(看看这些前期的投入),再分场景或者模块给不同的人,把量补上来。

 

这里面的核心,还是对接口本身的了解程度,哪些场景会涉及哪些接口?这些接口参数的意义和来源是什么,要梳理清楚。而大部分团队其实是没有这部分能力的。盲目地开展接口自动化,只会流于形式。

03

作为团队的管理者,需要对接口自动化的投入成本和效果有比较好的认知,知道开展接口自动化需要准备些什么,能有什么收益。如果只是跟风开展,盲目追求覆盖率,认为有了接口自动化就能在短期内提升效率,那么大概率是做不好的。

 

技术没有捷径,技术也有成本。

 

那么,在接口自动化的前期投入中,如何向上汇报成果呢?个人认为,最有价值的一点,就是通过梳理场景和接口,你会对业务和被测系统有更深入的了解,能够发现很多功能用例没有覆盖到的场景,以及,在分析接口的过程中,发现哪些不合理的接口设计,非常好玩,相信我。

 

共勉。

相关文章
|
5月前
|
数据采集 JSON 前端开发
GraphQL接口采集:自动化发现和提取隐藏数据字段
本文围绕GraphQL接口采集展开,详解如何通过`requests`+`Session`自动化提取隐藏数据字段,结合爬虫代理、Cookie与User-Agent设置实现精准抓取。内容涵盖错误示例(传统HTML解析弊端)、正确姿势(GraphQL请求构造)、原因解释(效率优势)、陷阱提示(反爬机制)及模板推荐(可复用代码)。掌握全文技巧,助你高效采集Yelp商家信息,避免常见误区,快速上手中高级爬虫开发。
GraphQL接口采集:自动化发现和提取隐藏数据字段
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
161 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
127 1
|
8月前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
578 15
|
12月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
470 3
快速上手|HTTP 接口功能自动化测试
|
IDE 测试技术 开发工具
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
本文介绍了Python中的文件操作方法,包括使用open()打开文件、close()关闭文件、read()读取内容、readline()读取单行、readlines()读取多行、write()写入内容以及writelines()写入多行的方法。同时,探讨了文件操作模式和编码问题,并扩展了上下文管理器with...as的使用,以及对图片和音频文件操作的思考和练习。
104 1
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
|
测试技术 索引 Python
Python接口自动化测试框架(基础篇)-- 函数与内置函数
本文详细介绍了Python中的函数概念,包括自定义函数、参数传递、局部与全局变量,以及内置函数的使用,还扩展了匿名函数、return和yield、exec()、vars()、iter()、map()、zip()、reversed()和sorted()等高级函数和概念。
139 1
Python接口自动化测试框架(基础篇)-- 函数与内置函数
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
Python中的流程控制语句if条件控制,涵盖了比较运算符、成员运算符、身份运算符、逻辑运算符的使用,if语句的嵌套,以及如何使用input和print函数进行交互式编程练习。
103 1
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
|
存储 测试技术 数据库
Python接口自动化测试框架(练习篇)-- 函数编程(一)
本文通过实际的编程练习,讲解了面向过程编程的概念和应用,包括如何定义函数、处理文件读写以及实现用户注册功能,最终将这些过程封装成函数,体现了Python作为脚本语言的面向过程编程特性。
107 2
|
测试技术 Python
Python接口自动化测试框架(练习篇)-- 函数编程(二)
本文通过具体的编程练习,深入探讨了Python中的函数编程,包括如何定义函数、使用参数和返回值,以及函数式编程的技巧和应用,如使用lambda表达式和递归函数解决实际问题。
100 1

热门文章

最新文章