先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
正文
前言
1、自动化测试的出现会不会导致点工岗位直接消失?
答:不会!
首先要相信,互联网行业仍然是当下以及至少未来十年的热门行业,互联网的高速发展必然带来更多的机遇,但随着大量的应届生和转行的人员进行到这个行业,从当初的低门槛到现在自动化的发展阶段,进入这个行业的门槛越来越高
目前很多人唱衰测试的主要论调主要有两种。
1)第一,“牛逼的代码不需要测试”
有这样一个故事,有一个原本做硬件的转行去做软件,他写的代码从来没有bug,别人都很好奇,问他为什么?
他非常惊讶的问:“怎么?还可以有bug?”
硬件人员为什么认为不能有bug?因为一个bug可能导致整个芯片废掉,损失都是百万计,bug代价太大,所以做硬件的人员都很谨慎。
但是软件不一样,它的代价相对硬件要低得多,甚至没有,比如你用百度搜索,本身就是免费给你用的,出bug你可以提,不提你就忍着,就是这么个道理。所以软件开发人员的bug低代价性就决定bug不可避免地存在。
何况,并不是所有人都可以像那个做硬件的老哥一样做到所有代码没有bug。
所以测试必不可少。
2)第二,“测试的工作开发做”
这是比较主流的一种不认同测试工作价值的看法。
开发是否能测试自己的产品?
答案是可以的。但是开发人员的水平参差不齐,好的开发人员确实是可以做到零bug的,但是在项目压力的情况下,零bug很难做到。
开发和测试是两种思维,简单地说,开发是构造,测试是破坏,一个人能够同时拥有两种思维模式,并且非常客观地测试自己的产品,还是很难得的。
我们不能预期每一个人都是最好的开发。而一个人如果写的代码比较差的话,也很难预期这个人能发现自己的代码错误。
一些小公司为了节省成本,一个产品上线只要能用就行,所以开发来做测试无可厚非。但是一般上规模的公司都会有专门的测试,所谓术业有专攻,专职测试人员的经验和敏锐嗅觉可以极大提升测试的效率和质量,比起让开发做测试其实是更节约成本的。
但是,测试行业的岗位会变多,但不代表门槛会降低
第一,软件质量要求的不断提升是用户需求倒逼对测试要求不断升级。
这一点很简单,十年前你做的网站、软件再简陋都有人用,为什么?因为这玩意能给他提供价值,另外这在当时还是很新奇的东西。但是这一套已经不管用了,不信看看微信公众号和普通网站新闻那个浏览量高?
但一个东西没有的时候,你能做出来你就赢了,但是在大家都能做出来的时候,你如果不能做得更好,那你挂掉。所以软件的质量要求越来越高,对测试的要求也就越高。
第二,人工智能的威胁。
人工智能的威力绝不可小觑,在进行大量重复繁琐的工作的时候,人可能会出错,但机器不会。所以未来的某天人工智能取代部分人工岗位是必然发生的事情,就像目前手动测试只有“点点点”的部分工作份额未来会越来越少。
AlphaGo击败李世石的时候,李世石回忆道“围棋有很多不确定的因素,机器的局限性是很多的,在下棋过程中也会出现漏洞,因此之前观看阿尔法狗跟樊麾的比赛让我以为计算机达不到围棋选手的最高水平。结果大家都知道:我输了。”
以目前人工智能的机器学习能力,掌握不断执行行为树找到可能发生错误的执行步骤顺序已经不是问题,如果在未来大规模应用,至少一大批初级测试会失去饭碗。
总结,不断拓展技能树,提升自己的能力才是正道。
测试的前景一定是光明的,岗位也会越来越多,但绝不意味着滥竽充数。所以更多的学习,更多地思考才是未来不被淘汰的关键。测试需要保障的不仅仅是代码,而是产品。一个产品,从需求、技术方案、编码到用户反馈,都是测试的范畴。
一位优秀的测试人员,肯定是不断的努力学习,技能是随时年龄的增长而不断提高的,而得过且过这中年危机!
2、软件测试工程师三点基本素质
1)描述问题的能力
程序是人写的难免会出Bug,但是也是因为是某个程序员写的,他对于内在的逻辑、可能发生问题的地方会有一个大致的判断。
测试工程师的工作就是,告诉他发生问题数据的ID、发生问题的场景、当时的测试数据是怎样的等等。而不是,把一个截图甩给程序员,说:“这地方出错了啊。”
2)基础代码能力
如何增强对逻辑思维的锻炼?
写代码啊,又学一门手艺又得到了大脑的锻炼,岂不是美滋滋?
貌似很多测试工程师都喜欢去学Python这门语言,确实这是一门对于代码入门者非常友好的语言,但是测试小哥都有一个困惑:学了Python能干嘛?
我的建议是从写爬虫开始,学习爬虫的编写可以接触到网络请求的基本知识、可以学习到正则表达式,需要爬取大量数据时,还可以顺便学习一下数据库的使用。
当然了,对于爬虫来说,学习一下非关系型数据库就可以了。这一方面是为自己学习自动化测试铺路,一方面也可以为以后转岗提供换一个后路:不做测试了我干脆去写代码好了。
3)乐观的心态
测试工程师每天面对的是程序中的“错误”,而程序员每天都在创造代码。起码我作为一个垃圾代码的创造者,是很讨厌去排错的。因此就我而言,测试时你很难保证心态的平和,因为你不知道什么时候会出一个莫名奇妙的错误。
假设这么一个场景,你测试出了一个bug,但是程序员自测之后发现无法复现,你的反应不应该是脱口而出:“不可能!”而应该是比对两个人的测试用例,发现可能存在的问题。
一个合格的测试人员具备四心:责任心、细心、耐心、恒心!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
p1024b (备注软件测试)**
[外链图片转存中…(img-iskmSF7q-1713182201294)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!