掌握编程知识同样也会帮助我们去完成白盒/单元测试这样的任务。如果我们在编程能力和测试能力双向深入发展,测试开发是一个很好(薪水也很高)的发展方向。
一个前提要说到的就是,测试工程师的编程技术门槛是比较低的。我们在学习代码编写以应用到测试工作时,一开始其实不需要多深入。
比如做为一个测试工程师去学习自动化编程,入门级级别来说,我们只用学习现有自动化工具和类库的使用,其实学习难度并没有想象的那么高。
随着学习的深入,当你有了更高的追求,再进一步去在编程领域内深造是个不错的选择。比如上文提到的去写框架,去改进框架,去引领一个机构的自动化测试。
学好了这些技术,不管是综合发展还是专项深造,我们的职业发展路线会向技术型深入。比如成为自动化测试工程师,性能测试工程师,白盒测试工程师又或者是安全测试专家等。这些职位比起测试基础岗而言,薪资水平是有着显著上升的。
第二:是行业知识
IT归根结底属于第三产业,第三产业是什么?通俗一点来讲就是服务业。IT产业是为其他基础行业服务的,最终我们要完成的事情是让传统的事务处理IT化,自动化,网络化。
这就牵扯到一个问题,不论我们做怎么样的项目、系统或软件,他的最终应用会是在另一个与计算机体系无关的领域,比如金融,比如零售,比如医疗,等等。
做为IT从业人员,除了本行的计算机应用技术以外,这些行业的知识就成为了我们需要学习掌握的第二学科。
将行业理解的透彻,是另一条IT人员必点的技能树,对于软件测试而言尤其如此。因为做为项目的测试和质量把控,我们只有非常了解软件应用的领域,才能更好的帮助我们对项目质量进行把关;而软件测试倾向的用户立场,也要求我们必须能够以专业的角度去衡量我们的产品在专有领域的适用程度。
比如在金融领域,真的要做好这一行的测试,财务领域知识、基金会计技能有的时候可能比你的测试技术更为重要。毕竟如果不精通这一领域的东西,你可能连系统到底要怎么实现用户/市场需求都把握不准,更不要提很好的把控产品的质量了。其他领域也各自都有不同程度的对行业知识的要求。
当然,有的时候测试工程师可能会有这样的经历,自己就像个雇佣兵,在数个项目之间来来回回,根本没有固定在某一个行业领域当中。客户要什么系统,我们就去测什么系统,在数个不同领域之中辗转徘徊、浅尝辄止,根本没有时间让我在某个领域中间去沉淀。
这是一种现实情况,在这种情况下,你对于某个行业的积累仍然可以帮助到你,但是你却很难成为该领域的专家。
不过如果你有机会在某个领域的测试工作中稳定下来的话,我会更推荐你去在这样的领域内深入,将测试技术和行业知识双向发展。
当测试工程师有了足够深入的某行业领域专业知识和技能以后,那么我们的发展方向就可以是‘领域测试专家’和‘领域测试咨询’。这样的人才在该行业内,一定是非常受欢迎的,高薪当然不成问题。
第三:是职场能力
职场能力可以说是一种个人素质和综合能力。
不论我们有多好的测试技术和行业知识,都需要有强大的职场能力去辅助,我们才能将自己的专业能力更好的发挥出来,否则别说当大牛拿高薪,可能工作能不能保得住都难说。
职场能力有哪些呢,我归纳了一下:
沟通能力
自律能力
学习能力
思考能力
抗压能力
规划能力
时间观念
团队精神
善于思考
承担责任