作为测试人员需要的技能和工作要求

好多人都说做测试的没什么技术含量,测试也就是一个纯体力活,首先我不这样认为,为什么这样说呢,下面咱们就通过性能测试来反驳一下:

1.个人素养

作为一名优秀的性能测试工程师,首先要对测试工作有兴趣,因为测试工作在很多时候多少显得有些枯燥,特别是功能测试。其实好多从事软件测试的人员,都想在性能测试和自动化测试方面有所发展,但是他们忘记了,要想做好性能和自动化测试,除了要具备一定的脚本语言编程技术外,更需要对产品的各个功能点必须有很深入的认识和了解,只有这样才能做好性能测试计划和构架。 所以说要想成为性能测试高手,首先要在功能测试方面有很深的造诣。除了要清楚的认识性能测试和功能测试的关系外,还应当具备以下几点:

(1)专心:主要指测试人员在执行测试任务的时候不可一心二用。经验表明,高度集中精神不但能够提高效率,还能发现更多的软件缺陷。团队中业绩最棒的往往是做事精力最集中的那些成员。(我在北大青鸟培训的时候,老师经常讲)

(2)细心:细心是测试人员必备的一个素养之一。主要指进行测试工作时要认真执行测试,并对测试所的数据进行细致分析,不可以忽略一些细节。如果不细心,则很难发现某些缺陷,特别是一些很细小的错误,有时候好多这些细小的错误导致大的事故发生。

(3)耐心:很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果做事情浮躁没有耐心,遇到问题就不做了,那么你将放弃很多本来即将到手的“财富”。在编写loadrunner测试脚本的时候,如果顺利还好,当遇到困难的时候,放弃是很常见的,我以前曾是这样,遇到调试不通的代码,如果弄个半天不能解决就给扔到一边了,所以在上个公司我进步很小。到了凤凰我们的经理对我的工作很是支持,所以让我有了更多的耐心去研究这些繁琐的代码。

(4)责任心:责任心是做好工作必备的素质之一,测试工程师更应该高度负责。对自己测试过的产品要负起责任来,就因为有了责任感,所以在做测试的时候才会更专心和细心,因为微博项目(包括web、wap、手机客户)是我一个人负责的,所以我当时很怕出问题,没测试一个功能最少测上5次以上,才敢测下一个功能,当时我的压力很大经常上火。

(5)自信心:自信心是目前多数测试工程师都缺少的一项素质,尤其在面对性能测试工作时,往往认为自己做不到。要想获得更好的职业发展,测试工程师们应该努力学习,建立能“解决一切测试问题”的信心。性能测试人员的要求通常要高于普通测试人员,因此更应该努力去学习相关知识,把测试工作做得更好。这点我认为很重要,如果遇到不会的问题不要逃避,要勇敢面对,我们可以到互联网求助,相信自己不是第一个遇到这个问题的人,现在的互联网很发达,这就是一个很强大的知识库,我们一定要善于利用起来。

2.技术知识

做为一个性能测试工程师一定要有系统的思维,至少要对系统的构架(所用的服务器、中间件、数据库以及之间的关系)有一定的了解,这就要求你具备相当的知识广度,否则你会在测试期间遇到各种各样的问题,导致测试效率低下。作为一名优秀的性能测试工程师应具备一下技能:

(1)专业技能:性能测试专业技能涉及的范围很广:既包括对压力测试、负载测试、稳定性测试、配置测试这些概念的了解,还要对能够根据这些测试方案设计不同的测试用例。想要设计出比较完美的测试用例,就要对服务器的构架有很深入的了解,这就要求我们要熟悉web服务器中间件和数据库方面的知识,否则要想设计出相对有效的性能测试用例就比较困难了。

(2)编程技能:“测试人员是否需要学会编程?”这是测试人员经常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了。很多人是因为做不了开发或者不能从事其他工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力相对强一点的则可以借助测试工具进行简单的自动化测试(主要进行脚本录制与修改、回放测试脚本等)。

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

  此外,对于软件测试人员的编程技能的要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其要体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握Java、C#、C之中的一门语言以解决loadrunner脚本的开发。

(3)运维技术。

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

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

操作系统和中间件方面,应该掌握基本的使用及安装、配置等技能。以及这些资源的监控分析等。

数据库知识则是更应该掌握的基础知识。现在的应用系统几乎离不开数据库。因此,不但要掌握基本的安装、配置,还要掌握SQL,然在之基础之上还要了解到数据库的监控和配置,以及各个性能指标和配置的意义,比如数据库的索引、query cache的利用率,还有命中率等等。在以往的性能测试过程中,发现性能问题最多的还是集中在数据库这层。

   其实做为一名性能测试人员还要具备一定的数学建模知识,因为好多测试数据都是很杂的,为了能够让这些看起来杂乱无章的数据关联起来,就需要利用一些数学模型将其结合起来。

其实想要做为一名出色的性能测试工程师不是一件很容易的事情,所以为了能够成为一名出色的工程师,我们要尽可能地去学习与测试工作相关的专业知识。

原文地址:https://www.cnblogs.com/ios9/p/7645160.html