1 工作积极主动
工作态度如何,是评价一个测试人员最主要的方面,一个高水平的测试人员(指纯技术能力)如果没有一个好的工作态度,在测试团队中有时候不但不能对测试工作起到推动作用,有时候还起到阻碍作用,而一个愿意工作的测试人员,哪怕他的技术水平不高,人也不聪明,但对自己的工作认真负责,你告诉他的事情,他都可以认真去做,这个测试人员也会对测试工作起到很大的促进作用。这也是为什么很多企业愿意让刚参加工作的人员做测试工作的一个主要原因。另外,测试人员对工作是否主动也会很影响一个测试人员的发展,举一个例子,我的一个测试人员在自己工作空闲的时候会自己去学习QTP,提高自己的技术水平,这样在下一个测试的时候,他可以熟练的使用这个测试工具去进行自动化测试,不但提高了工作效率降低了工作强度而且为自己创造了更好的发展机会(因为使用QTP效果好,被提升为测试组长)。所以说有效的利用工作时间,主动学习对一个人发展是很重要的。
另外一个例子也差不多,我的一个测试人员,在自己的测试任务异常终止的时候,而其他测试组任务很忙的情况下,主动要求参加其他组的测试工作,先不说他的技术水平如何,这种主动要求工作的态度就让他从其他人中脱映而出,引起了我的重视,自然对他的工作会格外注意,而我们的每一次的交流都会让他学到很多新东西。
2 认真,细心,不怕麻烦
不能不说的是,测试工作是一个烦琐的工作,如果你不是认真、细心,不怕麻烦的人,建议你最好不要进入这个行业,否则,最后难受的肯定是你自己。
有那么一句话:细节决定成败,这句话格外适用于测试人员。测试人员的在做测试需求的时候,开发人员人员的写的系统需求报告中的每一个需求点都会在测试需求中成为几个测试需求点(你要验证正常情况,异常情况),有时候给人的感觉就象在玩排列组合的游戏,但这个游戏排列组合的情况实在太多了,如果你不够耐心,不够细心是很容易遗漏测试需求点的,而这些遗漏的地方往往是问题点(开发人员也容易忘记考虑这些地方,从而产生问题),另外测试工作输入的数据是一个很烦琐的事情。举一个例子来说,一个日期合法性测试,很容易总结三、四百个测试数据,你想全部测试工作会是一个什么数量。而更可怕的是,测试不是一次性的工作,经常需要做回归测试,所有烦琐的工作必须不断的重复,而在重复的时候测试人员往往会因为怕麻烦,减少测试用例数,造成测试的不全面。所以说认真、细心、不怕麻烦是一个好的测试必备的素质要求。
2 学习能力强,善于总结
92年我参加工作的时候想找一本软件工程的书那叫一个困难,97年刚接触测试的时候,测试方面的书也几乎没有,这些都对我的水平的提高产生了很大的妨碍,但也并不能成为我们提高自己水平的借口,97年我们做的测试主要是功能测试,开始也是大猩猩测试,后来一方面从专业书籍里搜寻测试的资料,一方面总结我们自己的经验,1年以后我们基本形成了自己的测试流程和方法,我们有自己的测试计划的编写方法、测试用例编写的规范、测试总结的方法,新来的测试人员可以根据这些文件很快地提高自己的水平,后来的测试工具学习我们也是采用这种方法,在QTP的学习过程中,我的一个部下,学习了3个月,就基本掌握了QTP的使用,而且还总结了使用QTP常遇到的问题发表到了51testing上,很多了都认为他是一个技术大拿,其实他只是一个工作了8个月、学习QTP3个月的新手。不断的学习新技术,不断总结在实际工作遇到的问题,解决的方法,并把他们整理归纳,是一个测试人员提高自己的技术水平的最好的方法。还有两点需要说明的是:
1,随着测试工作日益专业化,原来的低水平测试越来越不能满足测试的需要,测试工具的使用、测试理论的更新、新技术的应用都要求测试人员要不断提高自己的水平;
2,好的测试人员不但要理解测试技术,对被测试系统以及开发环境和工具以及系统架构都要很了解才能制定合理的测试方案,也就是说测试负责人不但要了解测试技术,还要了解主流的开发技术、架构和工具(虽然不用成为专家),这一切都要测试人员不断的学习和总结。
3 掌握测试理论
开发工具在变,测试工具在变,被测试的系统在变,一切的东西都在变,那么作为一个测试人员最重要的是学习什么,个人认为是测试理论的学习。拿我自己的例子来说,我原来是做纯软件的,可是现在接触到了很多和硬件相关的测试,比如手机测试,但不管你测试的是什么,系统基本理论是不变的。首先都需要开发人员提供比较好的需求文档、概要设计文档、详细设计文档。需求文档是我们制定测试需求的标准,也是我们判断系统是否存在问题的标准,而概要设计文档、详细设计文档是我们制作测试用例的依据。我们的划分等价类、边界值测试等基本测试的方法都需要这些文档的支持。当然每一种不同类型的测试,都有其特殊的地方。比如手机的测试就需要你对通讯理论有一定的了解(也就是系统环境),所以说好的测试人员必须数量掌握测试理论。如果你认为你的测试理论已经不错了,那就回答一下性能测试、负载测试、压力测试有什么区别这个问题吧。
4 不清谈,而是冲锋在前
我的一些测试人员,总是喜欢给我出注意,但却从来不考虑如何实施。他们喜欢说的一句话就是,看我多聪明,一眼就可以问题的实质,头我这个参谋不错吧(我原来也是这样)。我要告诉大家这样的人实际已经落入了一个技术生涯的误区,看到问题可以说明你有一定的水平,但如何解决问题、如何实施才是真正体现一个人水平,中国文人当初因为怕杀头,产生了一个极为可怕的现象就是什么光清议,而从不肯去实践。这个不好的习惯我们现在叫做眼高手低。只有在解决实际问题的时候我们才能发现我们的解决方法有那些不足,会产生什么新的问题,从而不断改进我们的工作。举一个简单的例子,我用TD已经很长时间了,可今天我还是能发现TD一些新的特点,并把这些特点用到我的工作中去,改进我的测试管理,所以个人认为好的测试人员总是那些冲锋在前的测试人员,在实际工作中才是提高功能能力的最好方法。
5 人际关系的处理
测试工作是一个问题的爆发点,特别是对于那些开发流程不规范的单位。如何处理好人际关系,是一个好的测试人员需要掌握的技巧。作为一个测试负责人,你要和开发人员、测试人员、公司领导经常面临短暂的测试时间,不断的回归测试,测试的异常终止,领导的批评,开发人员的职责,测试人员关于工期,测试环境的抱怨。如何化解矛盾,处理好这些问题是衡量一个测试人员的标准。人际关系处理不好,其实一个主要的问题就是误解,开发人员、公司领导对于测试工作的工作量的误解是产生这些矛盾的一个主要原因,所以作为好的测试人员,除了具备一些常用的人际关系处理技巧以外,还要是一个好的宣传员,不断将测试的方法、理论、工作量对开发人员、上级领导进行宣讲,让他们对测试工作有一个正确的认识。只有这样才能真正处理好测试部门和其他工作人员的人际关系,使单位的测试向一个好的方向发展。
6 熟悉开发工具和平台 今天累了,不多说了,不了解开发平台是无法做单元测试的,而且也无法做好性能测试。
7 掌握测试工具。这个就不用说话吧。