众所周知,如今无论是大厂还是中小厂,自动化测试基本是标配了,毕竟像双 11、618 这种活动中庞大繁杂的系统,以及多端发布、多版本、机型发布等需求,但只会“写一些自动化脚本”很难胜任。这一点在招聘要求中就能看出来。
然而,现实却很难招到一个成熟的自动化测试工程师。最近我面试了不少来自大厂的测试工程师:华为、沃尔玛、腾讯、字节……等等,每次都以为稳了,寻思在大厂应该都参加过自动化测试吧,实际却是很多工作 10 年的测试工程师,仍然在做功能测试,或是以功能测试为主。
为什么自动化测试人才稀缺?我归纳了 3 点:
- 对自动化测试领域局限在工具和框架的使用,缺乏整体认知;
- 对于自动化测试设计理解不深入,一些方法、套路停留在概念理解,无法灵活运用;
- 测试工作的价值被低估,长期发展受限,被迫和开发人员一起内卷技术工具。
做性价比最高的自动化测试
先思考下,我们自动化测试的“终点或价值”是什么?
- 是自动化跑起来吗?这个要求太初级了;
- 是领导满意吗?有时因为换了一个领导,项目就半道中卒;
- 是 100% 自动化吗?高度自动化也并不一定会带来高质量;
好像一时半会很难说清,自动化测试的价值是什么。直到我看到了下面这张图,完全颠覆了我的认知 ——自动化测试项目的最终交付价值是它产生的效益,也就是投入回报率比 ROI。
乍一听,有点难理解,但仔细一想,可不就是这么回事吗。
打个比方,在年终述职报告中,用 ROI 的方式表达业绩:“老板,我做的自动化测试案例,去年一年被 n 个场景使用,重复运行 x 次,发现 bug y 个,节省手工工作量 z 人月”。
是不是很直观?要想成为高手,就必须要看到并解决更有价值的问题,对更高的结果负责。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛分享他们的经验,还会分享很多直播讲座和技术沙龙可以免费学习!划重点!开源的!!!qq群号:110685036
成为自动化测试高手
这个方法来自「原甲骨文高级开发经理」柳胜的专栏《自动化测试高手》,比起 80% 的测试工程师熟知的从“代码能力→工具能力→架构能力”的认知路线,这种新的模型,一下子打穿了测试高手工作的本质 —— 要懂业务、懂技术、懂架构,而不是局限在工具和框架上。
比起市面上只聊工具与框架、代码等像操作说明书一样的资料不同,专栏最吸引我的,是作者独创了很多「自动化测试」在业内第一次出现的方法论(下面详细说),带你跳出工具和框架的层面,重新审视自动化测试设计。
像专栏中老师和一位同学所探讨的:现在很多测试人员都学习应用层上面的工具,很少从底层和架构上面思考问题就导致只能写一些自动化脚本跑,但是无法了解问题本身的原因,特别是性能问题,很多测试人员都只知道加压跑起来,却不知道系统,网络,应用之间的关系。
专栏中涉及度量数据分析、代码逻辑和 Job 建模,也对应着软件开发里的数据、算法和建模,他还在 GitHub 上创建了一个 repo 放入专栏所讲到的整体代码和相关文件,方便大家动手运行。
当然,虽然80%的内容在于「认知」上的拔高,但他也会列出业界主流工具和框架,以及选择策略和落地实践,并附上全栈自动化测试工具列表。但这部分只占 20% ,毕竟这些东西网上都能搜得到。
绵薄之力
做为一名自动化软件测试,接下来我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名高级测试者需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到黑的朋友!
下面分享我整理的这份2023年可能是最全的软件测试工程师发展方向知识架构体系图。
一、Linux必备知识
Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。
二、Shell脚本
掌握shell脚本,包括shell基础与应用、shell逻辑控制、shell逻辑函数等。
三、互联网程序原理
自动化必由之路:前端开发基础知识以及互联网网络必备知识。
四、Mysql数据库
软件测试工程师必备Mysql数据库知识,不仅仅停留在基本的“增删改查”。
五、抓包工具
Fiddler、Wireshark、Sniffer、Tcpdump各种抓包工具适用于各种项目,总有一款适合你。
六、接口测试工具
接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman。
七、Web自动化测试Java&Pyhton
了解自动化的目的,熟练掌握testng&unittest自动化框架,以及断言与日志处理。
八、接口与手机自动化
专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用。
九、敏捷测试&TestOps构建
揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心。
十、性能测试&安全测试
软件测试的彼岸:性能测试和安全测试,选对方向,努力爬坑吧!
上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4个月完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
看完这篇内容后,相信以下两件事,也会对你的个人提升有所帮助:
1、 点赞,让更多人能看到这篇文章,同时你的认可也会鼓励我创作更多优质内容。
2、 让自己变得更强:想一想,如果你想在测试这个行业一直做下去,你的经验和测试技术是远远不够的,你需要进阶,你需要丰富你的技术栈!还等什么!
最后,为方便大家提升测试技能,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。