进入测试行业前明白个道理:程序员解决的问题,大多不是程序问题

Posted TEST_二 黑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进入测试行业前明白个道理:程序员解决的问题,大多不是程序问题相关的知识,希望对你有一定的参考价值。

对于软件测试员来说,7 年太长,往往 3 年就是一个坎儿。

很多人都说,程序员很辛苦,与这个角色联系在一起的词儿,通常是忙碌、加班、熬夜等。作为程序员,我们将其看作一个值得全情投入的职业,希望能够把精力放在设计算法、改进设计、优化系统这些具有创造性与成就感的本职工作上。

但现实情况却是,许多人因为一些“意外”,陷入了无休止的忙碌,比如:

  • 你辛辛苦苦写的代码还没上线,产品经理就告诉你需求变了;
  • 你拼命加班只因错估了工作量,自己造的“孽”,含着泪也要搞定;
  • 你累死累活做出来的东西和要求不符,只能从头再来;
  • 你大面积地修改代码只是因为设计糟糕,无法适应新的需求变化;
    ……

诸如此类,不胜枚举。我们很辛苦,但耗费我们大量时间和精力去应付的工作,并不是技术工作,反而是这些看似很“不值当”的事儿。


简单来说,本质复杂度就是解决一个问题时,无论怎么做都必须要做的事,而偶然复杂度是因为选用的做事方法不当,而导致要多做的事。

比如你要做一个网站,网站的内容是你无论如何都要写的,这就是“本质复杂度”。而如果今天你还在用汇编写一个网站,效率是不可能高起来的,因为你选错了工具。这类选错方法或工具而引发的问题就是“偶然复杂度”。

这以至于我意识到一个事实:大部分程序员忙碌解决的问题,都不是程序问题,而是由偶然复杂度导致的问题。 换句话说,只要选择了正确的做事方法,减少偶然复杂度带来的工作量,就算是软件测试行业可以有条不紊进行的。

职业规划的思考

确定方向

做职业规划的目的是避免迷茫,而避免迷茫最有效的方式就是确定明确的方向和目标。

对于任何一个技术岗位,都有固定的两个方向:技术和管理。

管理:

测试方面的管理岗位主要是测试组长,测试经理(主管),测试总监。
  
对应的主要职能:

  • 测试组长(2年左右):测试计划的制定和执行,带新员工。
  • 测试经理(主管)(4,5年左右):测试计划的指定和执行,对产品质量进行评估,对产品发布给出建议。(signoff)
  • 测试总监(10年以上):理解产品的商业目标,对整个产品线负责。负责资源的计划和分配,人员的招聘和更新。测试的技术和架构的选择,测试团队的发展,团队测试能力的提升。

技术:

  • 功能测试:测试执行(大部分外包的小伙伴的阶段)->UI自动化测试。在这个阶段的小伙伴是体量最大的,也是最容易被替代的,所以大家都很有学习UI自动化的热情,感觉好像会自动化竞争力就有了很大的提升。很多公司招聘的时候也会要求,会UI自动化,会selenium或者QTP。而事实是,大部分情况下API自动化比UI自动化投入产出比高,很多公司招聘的时候写了要求会UI自动化,实际上招你进去还是点点点。这个要求只是公司为了提高测试门槛,找个稍微会点代码的。
  • 性能测试:性能测试有点像C语言程序员,做的人相对功能测试少很多,市场需求也少很多,但是真正会的人还是很受欢迎的,待遇也普遍高于功能测试。
    接口测试:测试执行->API自动化测试。接口测试很多是从功能测试转过来的,手动的有,自动化的也有。跟功能测试和性能测试都有很大的交叉部分,是大部分测试人员应该了解的一个部分。
  • 安全测试(渗透测试):门槛较高,收入目前是最高的吧,市场需求量在慢慢增大。是有不错的技术基础的小伙伴可以考虑的方向。之前大部分公司都是交给了第三方专业的公司和评审工具,现在开始越来越多公司做自己的安全测试了。
  • 测试开发:开发测试工具,偏开发类工作,我觉得性价比挺高,对代码质量要求没开发高,收入水平不比开发低。
  • TestOps:这是最近圈里的测试大大们在推的(主要是云层大大),类比devops,我粗浅的理解是把测试和运维的工作结合起来,让测试流程更顺畅和高效。我没有学习过这个课程,总之不明觉厉,但是又有点像之前TDD的理论啥的,高大上,但是落地的少,有些公司里甚难推动。毕竟测试人员话语权弱,地位低不是一天两天了。

总结:

相信你如果掌握了上图上面所有的知识技能,并且能够灵活的运用的话,月薪20k以上并不会是什么问题。

最后也为大家准备了一份配套的自动化学习资源,你可以在公众号:豆子熊,获取上方网盘资源完整版及自动化资源详细解析。

以及一份216页软件测试工程师面试宝典文档资料。相对应的视频学习教程免费分享!,其中资料包括了有基础知识、Linux必备、Shell、互联网程序原理、mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

祝大家都能拿到心动的offer~~

以上是关于进入测试行业前明白个道理:程序员解决的问题,大多不是程序问题的主要内容,如果未能解决你的问题,请参考以下文章

进入后端Java行业前明白个道理:程序员解决的问题,大多不是程序问题

转行或实习生参加前端面试前要明白个道理:程序员解决的问题,大多不是程序问题...

软件测试行业展望

据说黑白红客大多是出身测试行业,那么前戏如何做好呢?戳下

为什么程序员大多不写测试?

测试的道理