性能测试组织——51Testing丛书连载:(十七)性能测试进阶指南

上一篇 / 下一篇  2012-01-20 14:04:49 / 个人分类:lr

6.2性能测试组织

  性能测试并不是一个人或者一个部门可以完成的工作,相对于功能测试来说,性能测试更为复杂,所以一个公司成立一个性能测试部门并不难,但是需要将这个部门的作用发挥出来就不是那么简单的事情了。

  6.2.1 性能测试团队

  性能测试作为测试团队中的一部分,有其特殊性,所以对于性能测试团队的管理和组织架构和普通的功能测试工作在流程和组织上有所不同,这里给出一个在整个项目研发过程中性能测试相关角色的矩阵图,如图6.87所示。

图6.87 性能测试团队工作流程

  ● PM项目经理

  项目经理作为整个项目最关键的人,必须对性能测试有所了解,这样才能确保性能测试被重视,并且有足够的资源支持。

  ● 性能需求分析工程师

  确定系统的性能需求,除了传统的功能需求,我们需要得到更加准确的性能需求,例如系统的容量、响应时间等明确指标。这些需求需要在开发前就明确,这样才能在一定的约束下进行开发,确保在设计初期就考虑了性能方面的需求。高级性能测试工程师可以辅助需求分析工程师对性能需求进行定义和明确。

  ● 架构设计师

  系统的性能在需求分析工程师和架构设计师经过分析后确定。架构设计师根据用户的性能需求来决定系统的架构特点并提供足够的可扩展性。后期做的性能测试只是让系统更接近于系统设计时的性能而已,但是无法超越系统架构的设计,也就是说性能是做出来的而不是测出来的,待到后期通过性能测试发现问题时,调优的成本和难度也非常大了。

  在大多数情况下,系统的架构性能都是由架构设计师独自测试分析的,如果有性能测试工程师介入,也可以提供一定的技术支持和建议。

  ● 开发工程师

  开发工程师的主要职责是在架构上进一步编码,受到个人能力的影响,某些开发工程师能够很好利用架构在不降低性能的情况下实现功能,而也存在编码不合理导致效率降低的情况。

  ● 测试经理

  作为一名测试经理,更多的工作是协调沟通,即组织和协调资源确保性能测试的有效进行。

  ● 高级性能测试工程师

  负责测试计划、测试策略和分析工作。

  ● 性能测试工程师

  根据用户的需求,完成脚本的开发并形成系统负载,将性能问题表现出来,而结果的分析由高级性能测试工程师和相关人员共同完成。

6.2.2 性能测试流程分工

  在性能测试的整个周期上,不同阶段各个部门的工作内容是不同的,通过图6.88可以了解到在每个过程中,需要哪些部门成员的介入。


点击图片可在新窗口打开

  1、 测试计划

  性能测试的计划是由项目经理、业务/架构专家和高级性能测试工程师共同完成的,项目经理需要提供时间的计划安排和资源,而业务/架构专家需要提供架构设计的目标以及系统的相关信息,最后由高级性能测试工程师编写测试计划。

  2、 脚本开发

  在开发脚本的过程中,一方面需要项目经理的协调,而另一方面架构专家提供脚本开发中的一部分技术支持,包括测试环境的搭建和早期性能测试的介入。

  3、 场景设计

  根据性能需求分析工程师指定的相关需求设计场景。系统管理员提供一些软硬件平台搭建上的支持。

  4、 场景运行

  完成场景的运行设置、负载生成规则和执行策略,开始执行场景。

  5、 负载下的监控分析

  在场景运行的过程中,作为一个性能测试工程师并不是简单地等待数据,还需要系统管理员和架构设计师在负载过程中对一些数据进行监控,随时确认瓶颈产生的原因。

  6、 系统调优阶段

  架构设计师和系统管理员根据前面得出的数据进行系统调优,当调优工作完成后,重新进入新一轮的性能测试,整个过程按照PDCA循环持续,直至达到目标。

  如何进行调优请参考各个应用的tuning手册和相关书籍。

  6.2.3 配置管理

  为什么要进行性能测试的配置管理呢?对于性能测试来说,作为测试用的脚本也会随着项目的进展被不断地修改,多次的场景运行后会带来大量场景数据,对应的大量有待进行基准测试分析的数据,而如果没有有效的配置管理,会带来性能测试工作的混乱。另一方面开发性能测试脚本和场景也是开发的一种,同样也需要对其进行有效的权限划分和版本追溯。为了确保性能测试中的相关数据和代码能够有效地进行管理,实行配置管理是非常有必要的。


TAG:

 

评分:0

我来说两句

日历

« 2024-04-26  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 36600
  • 日志数: 104
  • 建立时间: 2011-10-10
  • 更新时间: 2012-04-12

RSS订阅

Open Toolbar