但一个东西没有的时候,你能做出来你就赢了,但是在大家都能做出来的时候,你如果不能做得更好,那你挂掉。所以软件的质量要求越来越高,对测试的要求也就越高。
第二,人工智能的威胁。
人工智能的威力绝不可小觑,在进行大量重复繁琐的工作的时候,人可能会出错,但机器不会。所以未来的某天人工智能取代部分人工岗位是必然发生的事情,就像目前手动测试只有“点点点”的部分工作份额未来会越来越少。
AlphaGo击败李世石的时候,李世石回忆道“围棋有很多不确定的因素,机器的局限性是很多的,在下棋过程中也会出现漏洞,因此之前观看阿尔法狗跟樊麾的比赛让我以为计算机达不到围棋选手的最高水平。结果大家都知道:我输了。”
以目前人工智能的机器学习能力,掌握不断执行行为树找到可能发生错误的执行步骤顺序已经不是问题,如果在未来大规模应用,至少一大批初级测试会失去饭碗。
总结,不断拓展技能树,提升自己的能力才是正道。
测试的前景一定是光明的,岗位也会越来越多,但绝不意味着滥竽充数。所以更多的学习,更多地思考才是未来不被淘汰的关键。测试需要保障的不仅仅是代码,而是产品。一个产品,从需求、技术方案、编码到用户反馈,都是测试的范畴。
一位优秀的测试人员,肯定是不断的努力学习,技能是随时年龄的增长而不断提高的,而得过且过这中年危机!
2、软件测试工程师三点基本素质
1)描述问题的能力
程序是人写的难免会出Bug,但是也是因为是某个程序员写的,他对于内在的逻辑、可能发生问题的地方会有一个大致的判断。
测试工程师的工作就是,告诉他发生问题数据的ID、发生问题的场景、当时的测试数据是怎样的等等。而不是,把一个截图甩给程序员,说:“这地方出错了啊。”
2)基础代码能力
如何增强对逻辑思维的锻炼?
写代码啊,又学一门手艺又得到了大脑的锻炼,岂不是美滋滋?
貌似很多测试工程师都喜欢去学Python这门语言,确实这是一门对于代码入门者非常友好的语言,但是测试小哥都有一个困惑:学了Python能干嘛?
我的建议是从写爬虫开始,学习爬虫的编写可以接触到网络请求的基本知识、可以学习到正则表达式,需要爬取大量数据时,还可以顺便学习一下数据库的使用。
当然了,对于爬虫来说,学习一下非关系型数据库就可以了。这一方面是为自己学习自动化测试铺路,一方面也可以为以后转岗提供换一个后路:不做测试了我干脆去写代码好了。
3)乐观的心态
测试工程师每天面对的是程序中的“错误”,而程序员每天都在创造代码。起码我作为一个垃圾代码的创造者,是很讨厌去排错的。因此就我而言,测试时你很难保证心态的平和,因为你不知道什么时候会出一个莫名奇妙的错误。
假设这么一个场景,你测试出了一个bug,但是程序员自测之后发现无法复现,你的反应不应该是脱口而出:“不可能!”而应该是比对两个人的测试用例,发现可能存在的问题。
一个合格的测试人员具备四心:责任心、细心、耐心、恒心!
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |