概述
软件测试工程师通常会面临着一个普遍的问题:软件测试工程师工作中需要写代码吗?
在理清这个问题前,我们有必要先全面的了解下软件测试的各种角色。
一般而言软件测试大体可以分为两类角色:
通常在系统开发完成或大体完成的情况下参与验证测试系统的功能及其完整性。该角色属于非技术类,一般情况下不需要写代码。
技术型测试所关注的层面不同于业务型测试,要求掌握或是具备数据库、编程能力、系统架构、数据设计和应用接口等技术能力。
通常情况下技术型测试人员在开发阶段便介入测试工作,从代码层面开始进行测试,因此技术型的测试会面临更多的挑战。
技术型测试工作通常涉及两方面的工作,既要做开发,又要做测试。像我们平时所知道的自动化测试、性能测试、安全测试通常被归为该类。
如果从软件测试角色分类来看,似乎这种角色分类可以决定测试工程师是否需要编程能力了?
先别急着下结论,我们继续在看几个相关的问题:
软件测试的方法会因软件产品的需求、行业的不同而所有不同,而优秀的测试工程师在整个产品的测试过程中扮演着极其重要的角色。
一个优秀的测试工程师应该具备:
编程和调试是软件开发工程师的工作,然而为什么编程也成为了软件测试工程师必须掌握的能力呢?
下面我们看看软件测试工程师为什么必须掌握编程能力:
软件测试的基本测试策略: 手工测试和自动化测试。又可能进一步划为黑盒测试、白盒测试、灰盒测试。不同的测试策略要求不同的测试技术。
你会发现:
从上述的各种对编程能力的要求,对大部分业务测试人员而言,你最好具备:
基本上懂编程将会有助于你的软件测试职业生涯。
下面我们做一个基本的总结,软件测试大体可以分为:业务测试和技术测试,业务测试不需要掌握编程,但最好所有了解,而编程对技术测试而言则是必须的。
一个优秀的软件测试工程师应该具备:
总而言之,在软件测试职业生涯里,编程能力将会成为你职场的助力,也会伴随你的整个职业生涯。