很多时候,由于性能测试人员水平较低,即使进行了测试也不能发现系统潜在的问题,而终把问题留给了用户。因此,测试执行人员首先要提高自己的素质和技能。

  一个有竞争力的测试人员要具备以下3方面的素质:

  计算机专业技能

  计算机领域的专业技能是测试工程师应该必备的一项素质,这是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或持久竞争力的测试工程师,计算机专业技能是必不可少的。计算机专业技能主要包含3个方面:

  (1)测试专业技能。首先应该具有扎实的专业基础,测试工程师应该努力学习测试专业知识,告别简单的“点击”式的测试工作,让测试工作以自己的专业知识为依托。

  测试专业知识很多,测试专业技能范围也很广:即包括黑盒测试、白盒测试。测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。

  (2)软件编程技能。很多测试人员只能从事相对简单的功能测试,能力相对强一点的则?借助测试工具进行简单的自动化测试(主要进行脚本录制与修改、回放测试脚本等)。

  软件编程技能应该是测试人员的必备技能之一。在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能否编写程序。只有能够进行测试开发,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。

  此外,对于软件测试人员的编程技的要求也有别于开发人员:

  测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其要体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。测试工程师至少应该掌握Java、C#、C++之中的一门语言以及相应的开发工具。

  (3)网络、操作系统、数据库、中间件等知识。与开发人员相比,测试人员要求掌握的知识要求更博,“艺多不压身”是个非常形象的比喻。由于测试中经常需求配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等方面的知识。

  在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理。尤其要掌握一些网络环境的配置知识,这些都是测试工作中经常用到的知识。

  操作系统和中间件方面,应该掌握基本的使用及安装、配置等技能。例如,很多应用系统都是基于Unix、Linux来运行的,这要求测试掌握其基本的操作命令以及相关工具软件使用。而WebLogic、Websohere等中间件的安装与配置方法也需要掌握一些。

  数据库知识则是更应该掌握的基础知识。现在的应用系统几乎离不开数据库。因此,不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MSSqlserver、Oracle等常见数据库的使用。

  作为测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的专业知识。

  行业知识

  所谓的行业主要指测试人员所在企业涉及的领域。例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领域的产品开发。行业知识即专业业务知识,是测试人员做好测试工作的又一个前提条件。只有深入了解产品的业务流程,才可以判断出开发人员实现的功能项是否正确。

  很多时候,软件运行起来没有异常,但是功能不一定正确。只有掌握了相关的行业知识,才可以判断出用户的业务需求是否得到了实现。

  行业知识与工作经验有一定关系,只有通过一定的时间积累才能达到较高的水平。

  个人素养

  (1)专心测试人员在执行测试任务的时候不可一心二用。经验表明,高度集中精神不但能够提高效率,还能发现更多的软件缺陷。团队中业绩棒的往往是做事精力集中的那些成员。

  (2)细心进行测试工作时要认真执行测试,不可以忽略一些细节。如果不细心,则很难发现某些缺陷,例如一些界面的样式、文字等。

  (3)耐心如果做事情浮躁没有耐心,不会做到“专心”和“细心”,会让很多软件缺陷从眼前跳过。

  (4)责任心测试工程师应该高度负责,如果测试中没有尽到责任,敷衍了事,甚至把测试工作交给用户去完成,可能引起非常严重的后果。

  (5)自信心自信心是目前多数测试工程师都缺少的一项素质,尤其在面对测试开发等工作时,往往认为自己做不到。要想获得更好的职业发展,测试工程师应该努力学习,建立能“解决一切测试问题”的信心。性能测试人员的要求通常要高于普通测试人员,因此更应该努力去学习相关知识,把测试工作做得更好。

  企业良好的管理流程、测试工程师的高技术水平仅仅是做好性能测试的必要条件。实际工作中,性能测试会受其他诸多方面的影响,例如进度与成本压力、测试资源支持度等。但是,只要我们有信心并为之不懈努力,相信一定能够做好性能测试工作!