软件测试人员需要会代码吗?如果软件测试人员会编码,那软件开发人员的存在还有意义吗?会测试又会打代码的人稀有吗?
不管你是外行还是内行,你往往缺乏一个与你无关的职业的基础知识,比如今天的软件测试。很多人会对软件测试的地位有疑问?软件测试人员必须知道编程代码?在回答这个问题之前,我们先全面了解一下软件测试不同阶段所需的各种技能。
软件测试会因软件产品和不同行业的需求而不同,优秀的测试工程师在整个产品测试过程中发挥着极其重要的作用。一个优秀的测试工程师应该具备:1)丰富的行业知识2)优秀的逻辑推理能力3)良好的编程技巧。
也就是说,在不同的时间段做不同的事情。
一、菜鸟新人——初级测试工程师
进入软件测试行业,要成为一名合格的软件测试工程师,还有很多东西要学。
1)软件测试的理论基础。
2)测试用例设计、测试功能覆盖和软件测试项的实际应用。
3)准确把握业务,培养对bug的初步处理和分析。
4)在长期的检测工作中,要培养敏锐的bug嗅觉。
5)良好的沟通能力。如果一个bug都表达不清楚,那就尴尬了。如果不能和开发商好好聊聊,那就尴尬了。
但现阶段主要是基于功能测试,像用户一样手动操作系统,模拟用户的使用场景。
所以你不需要有关编程方面的技能,可以轻松胜任。这也是为什么软件测试入门并不难。
二、功能测试、测试工具——初级测试工程师(已入职一段时间)
随着考试时间的增加,我们需要掌握更多的东西来拓展自己的技术能力。
1)数据库操作:mysql、oracle等。
2)linux操作和环境建设。
3)各种测试工具:抓包提琴手,wireshark。
4)了解被测系统、http通信协议、接口测试及其工具postman、soupui、jmeter等。
5)app的专项测试、兼容性测试、可用性测试。
在这个阶段,有些人会成为小组领导和小领导。主要工作内容是分配小组内的测试任务,掌握和反馈任务进度,完成测试工作。
在一些特殊行业(比如医疗),可以逐步形成业务专家。
现阶段对编程能力没有要求。
三、自动化/性能/安全(必须会编程)——中高级测试工程师
具备测试能力和代码能力,提高测试效率和软件质量。
下面是自动化测试的一个例子。
1)选择一门编程语言学习:java、python、ruby等。
2)了解自动化测试,自动化测试工具,web/app/ interface /pc自动化基础。
3)框架思路、项目实践和流程。
在功能测试岗位工作几年后,我会开始感到焦虑。
在工作中,我感受到了成长的局限。除了越来越熟悉的业务,工作也是一点一点的,其他方面都没有长进。
想换工作,想涨工资,但是又觉得很失落,很无力,因为全身的价值都在这里。
想在工作过程中提升自己,朝着高薪自动化测试、性能测试、安全测试等方向迈进。
当然,自动化测试工具也可以自动化,但是有好有坏。
第一个门槛就是编程!
另外,想要成为一名优秀的安全测试和性能测试工程师,不仅需要编程,还需要更多的计算机相关知识。
四、测试开发/性能、安全测试专家(必须能够编程)——高级测试工程师
测试开发,具备测试能力和代码能力,提高测试效率和软件质量。开发和测试都可以。
需要很强的开发能力,深入代码层。一般不直接参与测试工作。
1.测试框架和测试工具的二次开发更好的满足了公司产品的测试需求。
2.进行单元测试或协助开发和进行单元测试,从开发阶段开始控制产品代码质量。在后续迭代过程中快速挖掘问题。
3.开发测试工具和平台,提高测试效率,简化各种测试,为测试团队量化测试结果。比如性能测试平台、接口测试平台。
五、测试主管、经理和主管-职业发展和晋升阶段
需要很强的测试和编程技能以及足够的管理和沟通技能。如果你只有足够的测试能力,就没法hold住开发团队。
总结:
如果你不想被行业淘汰,想通过上一段楼梯来打造自己的专业能力,那么编程是中高级技术测试人员的必备!在软件测试职业生涯中,编程能力将成为你职场的助力,伴随你整个职业生涯。建议你学习几种编程技术,至少学习一种脚本语言,比如Vb、Java、Ruby/Perl,至少学习一种通用编程语言,比如Java、C++、C等。
追求更高效的软件测试是测试人员不断提高自身水平的动力之一。编程能力对于测试工程师来说很重要,但不是核心能力。编程是为了让我们更高效地发现bug,这是测试人员的核心能力。返回搜狐,查看更多