默默巫 发表于 2010-7-6 13:29:33

一个合格的性能测试工程师需要掌握哪些技能?(2010-7-6)(获奖名单已公布)

性能测试工程师究竟需要掌握哪些技能才称得上一个合格的性能测试工程师?


如果你也有问题想提出来和大家一起讨论,请点击此处>>
说不定下期讨论的问题就是由你提出的哦,请快快参与吧!

http://bbs.51testing.com/attachments/month_0811/20081125_650d7dccd46be6244f27oXDjE0HoDhyX.gif

获奖名单奖项获奖名单奖励答案链接三等奖裸奔的蜗牛100论坛积分3#

金子快来 发表于 2010-7-6 14:18:47

熟悉一种语言与数据库。
liunx 熟练,可以编写shell脚本。
了解各种协议。
有比较强的自学能力。

裸奔的蜗牛 发表于 2010-7-6 17:23:44

个人以为

1.能搭建一个稳定、可重复的测试环境,能够保证测试结果的正确;保证达到测试执行的技术需求;保证得到正确的、可重复的以及易理解的测试结果。
2.掌握测试工具:并发性能测试是在客户端执行的黑盒测试,一般不采用手工方式,而是利用工具采用自动化方式进行。目前,成熟的并发性能测试工具有很多,选择的依据主要是测试需求和性能价格比。著名的并发性能测试工具有QALoad、LoadRunner、Benchmark Factory和Webstress等。这些测试工具都是自动化负载测试工具,通过可重复的、真实的测试,能够彻底地度量应用的可扩展性和性能,可以在整个开发生命周期、跨越多种平台、自动执行测试任务,可以模拟成百上千的用户并发执行关键业务而完成对应用程序的测试。
3。善于分析测试数据:在初始的测试环境中需要输入一些适当的测试数据,目的是识别数据状态并且验证用于测试的测试案例,在正式的测试开始以前对测试案例进行调试,将正式测试开始时的错误降到最低。在测试进行到关键过程环节时,非常有必要进行数据状态的备份。制造初始数据意味着将合适的数据存储下来,需要的时候恢复它,初始数据提供了一个基线用来评估测试执行的结果。

Old々Man 发表于 2010-7-6 19:25:57

从知识掌握的层面去评估是否合格不太好评估,就这个问题的回答大家都一样就是掌握该掌握的知识(数据库、中间介、测试工具、监控工具、管理工具及脚本开发能力)。
其实各种系统的性能测试对测试人员的技术要求是不一样的,关键是一个性能测试工程师是否能在他所处岗位起相应的作用。
建议提问“性能测试工程师应具备哪些基础知识?”,更细一点“在您所处的测试环境下,合格性能测试工程师的定义?”

[ 本帖最后由 Old々Man 于 2010-7-6 20:23 编辑 ]

karma.test 发表于 2010-7-6 23:50:15

概率论 统计学

8596991 发表于 2010-7-7 09:29:55

既然要做性能测试工程师,最基本的知识掌握应该是必须的,这些也不应该在讨论的范围.最重要的是自学能力,每个性能测试,指标以及目的不一样,这就要求性能测试工程师在已有经验的情况能够灵活多变,迅速的学习并掌握新的测试要领以及新的测试知识.
最基本的知识至少应该掌握WEB通讯的3次握手,SOCKET通讯原理,WEB SERVICE知识.这些在性能测试中,也是最常用的

Kevin2006 发表于 2010-7-7 12:44:38

很好

Jackc 发表于 2010-7-7 13:25:21

只需要合格?不需要优秀?

只要合格的话,我觉得“裸奔的蜗牛”已经说的很好了。

1、准备工作(其实有时我觉得这部分工作不一定要合格的测试工程师来做,往往是高级工程师在完成这部分)

主要任务是环境搭建和用例准备。
终极目标是提前为执行测试准备所需的资源,如人力、设备、工具、经费等等。

2、执行过程

终极目标是测试的正常执行。而合格的测试人员则需要满足“能够成功执行测试”的要求。比如,需要会使用测试工具;需要会填写测试缺陷和测试报告等等。

这个过程中,很多人觉得要掌握一门或几门语言。而我认为是不必要的。

举个例子,针对“键盘硬按键的多次按键测试”,如果自己研发测试工具,那测试人员是不是还得掌握汇编语言以及机械设计?显然不合实际嘛。所以,测试人员只需要会使用成品的测试工具即可。当然,如果工具提供了某些语言来支撑测试的覆盖率,则就需要学习这些语言了。

不过,学习语言的过程其实是包含在学习使用工具中了。所以,还是那句话:会使用工具即可。

3、测试输出

主要任务是测试缺陷和测试报告的输出。

另外,熟悉一种或多种相关协议(规范)是必要的。这些东西不仅能帮助测试人员设计好的用例和测试方法,还是分析测试数据得出结论的必要依据。

以上基本是“合格性能测试人员”的特殊要求,普通要求和“合格测试人员”无异,如,细心、发散性思维、团队合作精神等等。

而“优秀的性能测试人员”不在此讨论中,就不作解释了。

rani66 发表于 2010-7-7 14:18:18

:victory:

zhzh1111 发表于 2010-7-7 19:44:06

1.掌握那些技能算合格的性能测试过程是??
       技能不能代表一切 难道掌握不了的技能就不合格了?
首先 作为性能测试人员,你必须了解自己的产品,以及测试的环境才能做出合理的性能测试条件,性能测试是一个过程,在一定条件下确定系统所能承受的最大压力负载;
      它是一个完整的测试过程,有测试需求和测试case,也应该有修复发现的性能导致的缺陷而进行回归测试进行验证的过程,这些都是掌握技能所说明不了的。

作为一个合格的性能测试人员:
1.清楚了解自己的产品,把握住性能瓶颈,比如测试一个防火墙,知道高并发的瓶颈在内存,新建连接的瓶颈在CPU,吞吐的瓶颈在架构;
2.了解测试场景,对于性能测试的场景能把握到位,多少并发用户,并发做的事件,闲时和忙时的事件访问,这些都是性能测试人员把握在心的;
3.掌握测试流程,性能测试是一套过程,应该有一套流程去定义,使其他测试人员接手后能有条不紊的进行下去,知道什么阶段做什么,该怎么做,风险在哪里,该如何避归,这样才能做好性能测试.

velata 发表于 2010-7-7 22:47:11

性能测试不是我的专长,不过我觉得上面的好像都漏掉一点是性能测试需求的分析。一个新的产品出来后,需要根据很多因素来分析性能测试的范围、指标等。这些因素可能包括楼上所说的对产品架构的了解,也包括对业务的了解,以往经验等。
个人把这个理解为软技能:lol

goopy 发表于 2010-7-8 00:21:17

上面说的都不错,如果对自己测试的产品需求,架构都不熟悉的话,有再好的技能也是爱莫能助啊

fjstc3441 发表于 2010-7-8 10:32:44

性能测试工程师,应该对自己的产品有非常清楚的了解,按照正常的流程,分析需求,设计测试用例,架设测试环境,通过工具进行测试,正确的统计和分析性能数据,评估风险,并形成报告。用结果有力的说服研发人员,督促项目质量的提高。
其实技能方面在这个流程里反而不算是最最重要的了,技能是进入这个行业的敲门砖,而要真正入行,还是必须正确的按照流程进行工作,并且将自己的工作化为项目质量的提高。
有些公司对于质量的概念不强,测试工程师提出问题但研发迟迟不作修改或者研发推托责任的情况依然存在,如何让我们的工作能够影响到项目也是一个非常重要的事情。

mygodgo4499 发表于 2010-7-8 17:47:04

1.熟练掌握一种或几种编程语言。
    学习编程语言是做性能测试的基础,因为涉及到实现测试的时候,肯定涉及到具体的编码。主流的自动化测试工具也需要我们会相应的脚本语言。
2.能够熟练的应用一种或几种主流的性能测试工具
3.掌握一种通用规范的性能测试过程。
4.能够正确快速的根据需求确实性能测试目标。
知道了如何确定测试目标,就想办法为了验证测试目标(所有的测试指标)而实现测试,获得测试输出数据和测试目标进行对比分析,然后进行测试汇报。
5.能够对测试结果进行有力的分析,找出性能瓶颈,以及能够查找引起问题的原因。
6.规范的测试报告和经验总结。

wuruling 发表于 2010-7-9 10:56:05

可以分为两类
第一类   业务知识
            不要小看对业务知识的熟悉,这块是测试基础,方向对了,后面的测试才有意义

第二类 专业技能
1、基础知识
Linux + Shell脚本+数据库,还有IIS等等
2、测试工具
推荐LoadRunner 和Apache bench,
要有一定的编程能力,会用C和C++进行简单的编码
掌握一门脚本 推荐 VB Script。
3、分析能力
对性能瓶颈的分析,各种指标综合使用等等

zxh 发表于 2010-7-9 16:21:33

个人觉得一个性能测试工程师要首先有开发编码的经验,熟悉所测系统整个结构,具体掌握技能有:
1.掌握编程语言或脚本语言,最好有开发经验,会更好了解一些技术实现原理
2.Linux/Unix常用的命令和操作,数据库知识都要掌握,这些都是基础
3.熟悉整个性能测试流程,精通Loadrunner软件,其它的jmeter或者QAload等工具也要了解
4.可以手动编写测试脚本,独立进行调试运行
5了解各种性能计数器的监控工具,
6.能对测试结果数据进行分析,准确的定位性能瓶颈

不过,不同客户的项目性能测试目标不一样,一个合格的性能测试工程师要从客户目标出发,按照流程,利用自己掌握的各种技术知识,准确高效的找出系统系能的瓶颈

heyingqin1986 发表于 2010-7-10 08:30:20

看来现在的差距还很大哦

fushujie 发表于 2010-7-12 13:17:58

不错,支持。

rolei 发表于 2010-7-14 09:18:00

性能测试工程师技能

The Role of the Tester :In software performance testing, the role of the performance tester is much like that of a consultant—you guide, direct, and assist the technical staff in identifying and correcting problems. Performance testers test; they do not tune, debug, or fix identified problems. A good performance test is a team effort.

1、测试基础知识
懂得如何用测试人员的方式去思考问题
2、待测试系统业务知识
设计性能测试场景必不可少
3、掌握测试工具的选择和使用
选择一个适合的测试工具是第一步,掌握工具并熟练使用是性能测试执行的必要条件
4、分析能力
如何将性能测试输出以一种更为明确的方式展现,如果协助相关专家定位问题,这需要性能测试人员有一定的分析能力
5、沟通能力
系统的性能分析是由一个团队完成的(参见文前英文引用)
6、代码能力
选择合适的工具,需要调试代码,也许还会根据实际情况编写合适的工具,因此一定的代码能力可以帮助性能测试人员更加好的完成性能测试工作
7、知识体系
性能测试是一个庞大的工程,会涉及到方方面面:软件和硬件、平台、数据库、服务器应用、架构等等,需要不断的补充新的知识,不一定要全部精通(因为有专家协助完成性能调优,测试技术一定要保证精通。有所专,知识要广),但是一定要有所了解,更要能够快速学习

[ 本帖最后由 rolei 于 2010-7-14 09:19 编辑 ]

msnshow 发表于 2010-7-31 10:06:18

还需要有性能调优的能力
页: [1]
查看完整版本: 一个合格的性能测试工程师需要掌握哪些技能?(2010-7-6)(获奖名单已公布)