|
论做什么事情,要做得更快更好,是要求具备一些素质的,有些素质是天生的,比如性格、偏好等等,而有些素质是后天可以培养的,比如技术、语言、思维、道德等等,人们常说:性格决定命运。这话让我倍感郁闷,如果真是这样,我想我们大多程序员还真是苦命一条,遥想漫漫前程,如果有一天写出来的代码比万里长城还长,而我们还在为生活或爱情而忙碌奔波焦头烂额,那还真是一个不理想的下场,或许我们有必要反思一下我们的性格,看能不能往更好的方向发展,让我们的技术与思想我们带来一个更加美好的未来。
还是回到软件测试。在测试工作中人是最重要也是最有价值的资源(其实在别的工作中也是的,一个优秀的、积极的测试小组是保证软件质量的关键所在,然而在国内我们经常看到一些令人担忧的现象,很多公司喜欢让那些经验最少的新手、效率低下的开发者或不适合干其他工作的人去做测试工作,这是一种目光短浅的行为,这种行为往往会带来更严重的后果,傻瓜都知道产品质量对于一个企业的重要性,就如同我买的那个抽油烟机,我想这辈子再也不会去买那个企业所研发的任何产品了,让客户有这种心理是企业很大的失败,所以笔者认为软件企业需要端正态度,将软件产品的质量问题放在第一位,让中国软件早日腾飞!
阿蒙研究软件测试有一些日子了,对测试人员的管理也有一定的经验,现在就来谈一谈一个好的测试工程师所应具备的素质。
( 1 )技术能力
这一点不必多说,作为一名测试工程师,不能仅仅从使用者的角度来测试软件产品,而且还要从技术的角度来设计测试用例,这里所说的技术包括基础的与专业的,基础方面我想应需要学习过以下的课程:软件技术基础、 C 语言、面向对象设计、 C ++、数据库理论、计算机网络技术、软件工程、数据结构与算法、离散数学等;专业方面应掌握:软件测试技术概论、测试管理、测试工具、软件质量管理、 CMM 、 RUP 等等。看看,你还缺少什么,赶快学习吧。
( 2 )具有一定的编程经验
测试工程师有时候需要对源码进行检查,有时候也会从程序结构的角度来测试软件,有时候需要写一些自动测试的工具软件,有时候需要写测试脚本,显而易见,会写简单代码,能读懂源码对测试人员来说是必须的,而且如果有一定的编程经验,可以帮助你对软件开发过程有较深入的理解,从编程人员的角度来正确地评价;但这一点在国内大部分公司里面是很难实现的,因为这意味着测试人员的 salary 要高于开发人员,很多 BOSS 会想不通的,而且也没那么高的觉悟。
( 3 )沟通能力
测试人员需要与很多人员进行沟通,项目经理、开发人员、客户、市场人员等都是测试人员经常吵架的对象,而且在面对不同人员,你需要不同的语气、不同的态度,与客户要谈得来,处处为客户着想,客户就是上帝,与上帝说话要和颜悦色,与开发人员交往就需要技巧了,测试人员与开发人员往往是不共戴天的,双方在心理上经常较劲,因此在说话的语气或讲述一个问题的出发点时特别要注意了。
( 4 )要有严谨、敢于承担责任、稳重的做事风格
其实学数学的人最适合做测试作,他们思惟严密,什么问题都被他们考虑到,当然除了做事认真仔细,也要有承担责任的勇气,在漫长的项目实施过程中,或大或小的错误在所难免,我们可以原谅错误,但不喜欢狡辩,要敢于承
认错误。
( 5 )具有怀疑与破坏的精神
测试人员不能总是以常规的思路来测试软件,要设计一些非常规的、相反的测试用例来不断地折磨软件产品,要破坏性地测试,并且不要停止你的怀疑。
( 6 )善于自我总结、自我督促
应该说软件测试是一种即繁琐又枯燥无味的工作,做多了你会觉得似乎一成不变,对自已的能力没有提高,这时候就需要你作自我督促,并经常作一些阶段性的总结,新的技术新的方法新的工具层出不穷,要让自已跟上技术发展的脚步,善于将新技术新方法新工具应用到测试工作当中。
暂时想到这么多了,其实也已经够多了,其中有些东东可能对做任何事都适合,笔者经验有限,有想不到的地方,希望朋友们多多指教,最后用培根老人家的话来收个尾:注意你的思想,它会变成你的行动;注意你的行动,它会变成你的习惯;注意你的习惯,它会变成你的性格,而性格将决定你的命运。 |
|