接口自动化不是救命稻草

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

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

01

它不是救命稻草

 

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

 

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

 

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

02

接口自动化的前期投入

 

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

 

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

 

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

 

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

 

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

 

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

 

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

03

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

 

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

 

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

 

共勉。

相关文章
|
3月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
52 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
3月前
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
47 1
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
255 3
快速上手|HTTP 接口功能自动化测试
|
3月前
|
IDE 测试技术 开发工具
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
本文介绍了Python中的文件操作方法,包括使用open()打开文件、close()关闭文件、read()读取内容、readline()读取单行、readlines()读取多行、write()写入内容以及writelines()写入多行的方法。同时,探讨了文件操作模式和编码问题,并扩展了上下文管理器with...as的使用,以及对图片和音频文件操作的思考和练习。
32 1
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
|
3月前
|
测试技术 索引 Python
Python接口自动化测试框架(基础篇)-- 函数与内置函数
本文详细介绍了Python中的函数概念,包括自定义函数、参数传递、局部与全局变量,以及内置函数的使用,还扩展了匿名函数、return和yield、exec()、vars()、iter()、map()、zip()、reversed()和sorted()等高级函数和概念。
33 1
Python接口自动化测试框架(基础篇)-- 函数与内置函数
|
3月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
Python中的流程控制语句if条件控制,涵盖了比较运算符、成员运算符、身份运算符、逻辑运算符的使用,if语句的嵌套,以及如何使用input和print函数进行交互式编程练习。
31 1
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
|
3月前
|
存储 测试技术 数据库
Python接口自动化测试框架(练习篇)-- 函数编程(一)
本文通过实际的编程练习,讲解了面向过程编程的概念和应用,包括如何定义函数、处理文件读写以及实现用户注册功能,最终将这些过程封装成函数,体现了Python作为脚本语言的面向过程编程特性。
28 2
|
3月前
|
IDE Java 测试技术
Python接口自动化测试框架(基础篇)-- 基础语法(真的很基础)
这篇文章是关于Python编程语言的基础语法介绍,包括编码、标识符、注释、行和缩进、输入输出以及导包等基础知识点,旨在帮助初学者理解并掌握Python编程的基础。
28 2
|
3月前
|
测试技术 Python
Python接口自动化测试框架(练习篇)-- 函数编程(二)
本文通过具体的编程练习,深入探讨了Python中的函数编程,包括如何定义函数、使用参数和返回值,以及函数式编程的技巧和应用,如使用lambda表达式和递归函数解决实际问题。
29 1
|
3月前
|
测试技术 索引 Python
Python接口自动化测试框架:回顾Python3基础语法知识总览
本文是Python 3基础语法知识的全面总结,涵盖了标识符、数据类型、运算符、控制流程、函数、模块和文件操作、异常处理以及面向对象编程的各个方面,旨在为编写Python接口自动化测试框架提供必要的语法知识支持。
34 1