编程对软件测试人员意味着什么?

开发 测试
编程能力对软件测试工程师的作用的看法是,它很重要,但并不是核心的能力;但这种能力可以提高我们发现Bug的能力。

首先要说,我并不是狭隘的“QA主义“者,也并不反对测试人员学习编程,提高编程能力。而是我们要对编程对测试人员的作用有一个清晰的认识。
从我个人来说,可以说我一直以来就是编程能力的受益者。

我这6年的工作中,从职位来说5年是在做QA,只有最开始的一年在做Dev,但一直以来我就没有停止过编程的工作。开始是用c/c++,然后是java,ruby,现在用得比较多的是bash。我做过c51单片机程序,j2ee项目,用python和ruby开发过比较复杂的自动化测试系统。商业测试软件使用过robot,qaload,等等。我写的代码质量丝毫不比一个普通的开发人员差。

但是我并不打算学好编程技术而转行去做Dev,也并不是为了做自动化测试而学习编程。大部分的时候我的职位是一名黑盒测试工程师,我热爱这个工作,并且一直干得也很出色。只有一段短暂的3个月我是全职的性能测试工程师,但当回到黑盒测试的时候,我发现我依旧非常享受发现bug的过程。

最开始的时候,我只是因为喜欢编程而编程,就像我喜欢软件测试而去做测试一样。所以我把大量自己的业余时间花在学习编程和软件设计开发上,后来我渐渐发现,编程能力也是软件测试的能力的一个重要方面,因为编程能力能让你更高效的测试。

即使你不是自动化软件测试工程师,也并不打算去做白盒测试,我仍旧强烈建议你学习一门通用的脚本语言,在ruby/python/perl中选一种,如果还有时间和经历,再学习一门通用的编译语言在c/java/c#中选一种。

举一个例子,我现在测试的系统在安装好之后需要在命令行进行一些繁琐的配置工作,这些工作是重复而且容易出错的(我的记忆力不好)。后来我写了一个expect脚本来帮我完成所有这些工作,一个命令就搞定了。所以不但我节约了时间,而且我可以以***的状态去开始真正的测试。

这样的例子,太多了。毕竟,我们工作的对象和环境就是程序和程序构成环境,很多地方都有程序的用武之地。比如测试中需要一个包含100,000个文件的目录。几行代码就能完成手工不可能完成的任务。

追求更高效的软件测试是一个测试人员不断提高自己水平的动力之一,在这一点上编程能力真的有意想不到的作用哦。

作为总结,我想说我对编程能力对测试工程师的作用的看法是,它很重要,但并不是核心的能力。它,是为了让我们更高效的发现bug,那才是测试工程师最核心的能力。

 

【编辑推荐】

  1. 剖析软件测试中的压力测试
  2. 话说软件测试中的“易用性”测试
  3. 软件测试中的软件管理和测试流程
  4. 大多数软件测试员应具备的素质
  5. 软件测试缺乏配置管理的问题解决方法
责任编辑:佚名 来源: 51Testing
相关推荐

2019-04-03 11:05:47

DevOps敏捷开发开源

2014-11-05 10:25:56

OpenStack定义存储

2010-05-04 10:00:27

虚拟化

2022-05-27 11:05:08

零信任网络安全

2019-06-12 13:20:05

2022-09-09 16:06:45

零信任Kubernetes安全

2016-02-26 15:50:40

HTTP2

2017-06-06 11:44:45

FuchsiaAndroidGoogle

2021-08-05 16:30:58

边缘物联网物联网大数据

2011-07-19 10:11:53

AndroidHTC苹果

2023-01-05 10:16:27

2022-05-18 10:17:58

数字化转型软件开发

2022-06-04 07:50:12

LAN软件定义虚拟化

2018-12-09 22:59:49

微软系统Windows

2019-10-29 12:13:36

Community开源代码

2022-09-06 14:35:34

区块链以太坊NFT

2015-10-13 11:13:26

2017-03-31 13:18:54

大数据SDN网络

2022-06-30 09:25:29

5G企业
点赞
收藏

51CTO技术栈公众号