醒悟的日子,我是怎么一步一步走向软件测试的道路
Posted TEST_二 黑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了醒悟的日子,我是怎么一步一步走向软件测试的道路相关的知识,希望对你有一定的参考价值。
转行测试是在发小的推荐下,她已经在这行干的风生水起,我想着反正已经跳槽这么多次了,也抱着试试的心态,就是这一试,我的“钱”景之路就开始了…
才发现完全不懂it的我,学起来也不会太困难。反正该学习的渠道我都试了个遍,比如:在网上找资源、加不少相关的技术交流群、报培训班… 通过几个月的学习,对自己充满信心,我的第一份测试工作就这样在华为外包开启…
但是一提及外包测试,大部分人的第一印象就是:工作强度大,技术含量低,没有归属感!
在华为做了2年外包。总体感受就是:
- 这份工作缺乏归属感,心里总有一种落差,进步空间不大,
- 接触不到核心技术,公司没有针对你的技术培训与探究,
- 工作简单,业务重复,通常是工具人的存在。
- 薪资不高,虽然有加班费,但是还是不高
- 在深思过后,我还是准备提升自己。
在一次偶然机会下开始初步接触了自动化测试,也学习了 Jenkins 操作以及 Linux 命令行等相关基础技能。
不是在学习,就是在学习的路上,后来尝试着接触一些代码和一些框架,把自己所学的知识融入到你自己的项目中去。把自己的项目整理出一个测试框架去学selenium,网站的架构,代码知识,知识,网络瓶颈,系统优化,优化脚本,去设计场景,去获取目标用户量,去执行,去分析压力结果。
当时由于公司的规模和产品的局限性,导致自动化测试始终未能应用到公司实战项目中。我觉得外面的世界有更多机会,自动化已经流行而且越来越普及,我想要突破自己的测试技术瓶颈,我毅然决然的跳槽一家公司专职做自动化测试的工作。
后来的机缘巧合,我跳槽到了字节做测试开发,负责开发公司定制化的测试质量平台。
这对于我来说是一个挑战,新的领域,测试开发在一线城市非常吃香。当时的待遇比初、中级开发工程师要高。
到岗后就是顶住压力,不断的系统学习测试开发技能,而且学以致用。技术架构采用的是前后端分享,包括Python的后端开发框架Flask,前端框架vue,elementUI组件等
坚持做了几年的测试开发,真实的体会到测试开发等于测试全周期的工作,包括产品功能业务熟悉,测试平台的需求设计,平台前后端研发,平台的自测,给到测试部门几十号人的推广、培训产品使用、运营。
所以测试开发的大前提是功能测试经验丰富,接口自动化,UI自动化非常熟练,不然很难以开展测试开发工作。
如果你也在往自动化测试开发方向发展
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
测试开发三年,我如何积累经验?
(1)善于利用碎片时间,学习提升自我
从初级测试员升到测试开发,没有别的捷径可走,从始至终我都奉信:进步得靠学习,学习得靠时间堆砌。现在互联网行业基本上都是996趋势,程序员加班情况更为明显,所以利用碎片时间来学习,才是提升自己最合适的方式。
先算算我个人的学习时间账(可参考,可借鉴):
- 每天早上起床后,大概30min(上厕所,吃早餐,通勤等)
- 每天上班时,利用别人划水的时间搜一些技术资料,逛逛技术博客,约30min。
- 晚上通勤、吃饭(这个阶段我一般会休息+娱乐来调整自己状态,刷刷微博、朋友- 圈)
- 晚上到家后,不管再累都会抽出1~2个小时来学习,看书+看视频。
- 这样计算下来,一天大概平均在2~3小时,一周5天至少10个小时,不包括周末。
(2)多多参与项目
其实,在很多面试攻略和分享中,我们都能get到一个信息:参与过项目的面试者往往更吃香,更容易获得offer。
(3)提升自己的软实力,让自己更专业
按照我个人的理解来说,初级测试员更像学生,而高级测试员则需要拥有“独当一面”的能力,而这个过渡是需要时间的,也是我前两年来努力的方向之一。
提升自己的软实力,成为更专业的测试员:
- 要学会积极主动沟通;
- 协调(扯皮)的能力:工作方面积极主动协调部门;
- 学会合作,一起完成一个任务或目标。
(4)对技术要掌握一定的广度和深度
既然是技术岗,那么企业对于技术掌握的广度和深度是有自己相应的要求的,学历在技术面前都显得没那么重要了,因此努力提升自己的技术水平是程序员的首要目标。
那么,技术要掌握到什么程度呢?特梳理了一下技术路线,如下图谱:
1、必备基础知识
对于测试新手来说,我们初期需要掌握和熟练使用的测试技术,主要包括下面这些内容:
其中,linux作为越来越多使用的服务器搭配的系统,成为了不管是测试还是运维还是开发,都需要会的内容。通过一系列常规的Linux系统的使用和操作,强化该系统的实战操作,未测试功底打下坚实的基础。
而mysql作为最具有代表性的数据库之一,掌握一系列测试所需要的数据库知识不管是功能测试,性能测试,都是必要的技能。
2、自动化技术
对于测试新手来说,尤其是近两年刚刚进入这一行业的新手来说,选择将自动化测试作为自己进入职场的第一份工作,或者作为自己3-5年内的职业规划,都是非常好的选择。如果你有观察过招聘市场就不难发现,近几年,招聘自动化测试的需求逐年增加,岗位待遇也比功能测试待遇更高。
当然,更高的待遇就意味着更专业的技术知识。想要走这一方向的新人,可以先将代码学起来,并将思维导图里提到的内容慢慢掌握吃透。这样,后面进阶就会更加容易一些。
3、接口测试技术
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。对于测试新手来说,既是我们需要掌握的一门技术,也是后期可以作为我们进阶方向的选择之一。
测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系。接口测试作为目前最火的技术之一,且内容满足行业当前甚至几年内的需求,是新人从初级攀升至高级测试的必经之路。
4、性能测试技术
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
对于新人来说,刚入行能应聘到这个岗位的,应该是寥寥无几。这是因为性能测试的难度相较于功能测试、自动化测试都更难一些。但是,从另一个角度说,如果后期朝着性能测试发展,薪资待遇的选择空间,就非常大了。
5、TestOps架构技术
对于新手来说,想要揭开TestOps的神秘面纱,就需要我们将持续集成的Jenkins框架烂熟于心。
如果能将测试,自动化测试融入到整个开发,运维的整体流水线中,达到完整的过程自动化构建,部署并快速得到测试验证结果,那么这将是完美的测试形态。
写在最后
想要成为优秀的测试架构师,首先你得从人群中冒出来。要想冒出来,你就必须做到与众不同;要做到与众不同,你就要会得更多!
无论是哪行哪业,想要成为大牛,都注定会比别人付出的更多,花费更多时间和经历,掌握别人不具备的知识点和技术经验。学习是无止境的,机遇也是自己创造的,但前提是你是否真的了解软件测试是什么,你是否真的感兴趣并且能坚持刻苦。
上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系,完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。
这些资料,还很多录制的视频教程,对于做软件测试的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….
虽然学无止境,但只要功夫下的深,特棒磨成绣花针。共勉~
以上是关于醒悟的日子,我是怎么一步一步走向软件测试的道路的主要内容,如果未能解决你的问题,请参考以下文章
自学总结:非科班转行前端拿到字节跳动 offer?看我是如何一步一步做到的?