星期四, 九月 16, 2004

合格测试人员的素质

在传统工业中,对测试人员的要求比起研发人员来往往要低很多。因为从系统的角度看,传统工业产品复杂度不高,一般都有可量化的标准和精确的测试仪器。测试人员只要开动仪器,读出读数就OK了。而在软件业,情况有所不同了。软件的复杂度非常之高,尚无标准的仪器可用,将来似乎也不会有。因此对软件测试人员的素质要求就非常高。业界也是逐渐认识到这一点的,甚至微软一开始都不重视测试。然而如今情况不同了,今年微软亚洲工程院找不到合格的测试人员还在网上吵了很久。不管如何,可见微软对测试人员的要求之高。

毕业前在学校里写软件,自己试两下就交差了。虽然心里知道肯定有很多问题,但实在没有精力去好好测一下。只是想着如果有多点时间,一定能做出一个高质量的软件。如今在公司专职作测试,才知道这是多么的不容易。时间不长,但也有些心得,写出来也算是对自己的测试:)。

作一个好的测试者,要有哪些素质呢?

1、责任心
未做事,先做人。做好任何工作,责任心都很重要,作测试尤其如此。毕竟测试者不是产品的拥有者,有时会想做不好是开发者的责任。测试没有强烈的成就感,也和测试长期得不到重视有关。作一个合格的测试人员,一定要明白自己的工作多么重要。
一个负责的测试者,不能简单地发现问题就推给开发人员。应该做的更多,要多次再现问题,给出问题发生的具体环境,是只在某个操作系统发生吗?使用的第三方软件是什么版本?等等,要给出最简单而明确的操作步骤,给出你认为一切有利于定位问题的信息。这样虽然增加了工作量,但可以帮助开发人员更快的解决问题,最后往往是节省了时间。

2、好奇心
为什么会这样?测试者应该常常这样问自己。比较正式的开发过程都会有需求文档和功能规格书,但是软件的复杂行为无法用文档完整的描述,也许软件的设计者从来没有想到自己的软件还可以这样用!所以,如果测试中遇到一些不清楚的地方一定要提出来,以便确认是否是个问题。

3、想象力
虽然有一定的逻辑方法来设计测试场景。但是如果软件太复杂,或者有太多的用户交互,往往无法简单遵循一定的规则来设计测试。而测试的可能是无限的,时间和资源有限的。如何用在有限的资源下更能好的测试是需要一定的想象力。想象一下:谁会使用软件?他们会这样使用?新手如何用?老手如何用?科技以人为本!能满足人的需求的软件是最好的。
4、路路通
工欲善其事,必先利其器。作为测试者,一定要掌握大量的工具。特别是企业级的软件,运行环境复杂。各种操作系统,各种语言平台,各种服务器,各种数据库,各种中间件,太多了!大规模开发时,开发人员往往只要负责有限几个模块,用到的东西很有限,所以一定是专家。但测试,特别是集成测试,要搭一个类似用户真实情况的环境。所以测试者一定要是一个杂家!也许你对某个方向的技术不如专家,但是在复杂环境中工作的能力一定要很强。所以,测试很有挑战性!

没有评论: