ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 性能测试须知

性能测试须知

原创 Linux操作系统 作者:jiuniang012 时间:2012-02-10 16:18:52 0 删除 编辑
转自: http://bbs.51testing.com/viewthread.php?tid=279799&extra=&page=1

没有任何需求的情况下,如何展开性能测试工作?
1、性能测试前需要做哪些准备工作?2、没有需求的情况下,如何去搜集有利的测试需求?
刚好以前关注过这个问题,2个问题其实是一个问题,一起回答一下:
性能测试启动时主要做四件事情,被测系统预研、项目经理访谈、业务经理访谈、技术经理访谈
一、被测系统预研:
目标:根据被测系统的资料初步了解被测系统的任意方面的信息,尽可能多了解被测系统的相关知识,可以包括:系统的建设目的、系统的技术架构、系统的业务架构
内容:
确定被测系统的软件开发组织和组织的负责人,例如项目经理。
向项目经理提出获取被测系统所有相关资料的申请,可以包括:软件需求规格说明书、软件概要设计说明书、软件详细设计说明书、软件操作手册、软件维护手册等。
在索取这些资料的过程中,常见由于保密原则而项目经理不同意提供资料、或者项目开发过程不规范而项目经理无法提供有效的资料等类似情况

二、项目经理访谈

目标:获取性能测试实施工作的开展信息,例如开始/截止日期,测试环境等,从项目经理处获得被测系统的开发状态和期望的性能测试工作的目标

内容:
向项目经理申请获得准确的性能测试实施开始时间
向项目经理申请获得准确的性能测试实施截止日期
向项目经理了解被测系统的生命周期当前处于哪个阶段,例如集成测试阶段、系统测试阶段、验收测试阶段、上线阶段、运营维护阶段等

内容:
向项目经理了解性能测试工作目标,即期望获得什么样的性能测试成果,应包括:性能测试的性质(调优性质的性能测试、验收性质的性能测试等)

向项目经理了解被测系统的生产环境部署方案,包括网络部署内容、服务器硬件部署内容、操作系统部署内容、安全部署内容、应用平台部署内容、数据库中的数据量规模,尤其要获得是否将在同一个服务器上存在其他应用系统的部署内容

内容:
向项目经理了解性能测试环境信息,应包括:硬件到位日期、软件安装日期、硬件级别(是否与生产环境的硬件级别相同)、软件级别(是否与生产环境的软件版本 相同)、部署方式(是否与生产环境的部署方式相同),尤其要注意测试环境中的数据量规模是否能够达到生产环境的级别(例如生产环境在上线时将具备500万 注册用户的信息,是否在测试环境中能够拥有如此规模的数据量,并且这些数据是否符合实际情况)

向项目经理了解性能测试的性能指标,应包括:是否已经确定了性能测试的指标;性能指标是否合理;如果性能指标不合理,是否由性能测试实施人员辅助重新进行确定

三、业务经理访谈:
目标:获取性能测试业务模型的设计依据,例如被测系统的关键业务、主要用户场景、用户场景交易发生概率、期望响应时间等
从业务经理处申请调派合适的业务人员,作为将来建立性能测试模型的业务支持人员

内容:
向业务经理讲解获取性能测试所需关键业务的方法
从业务经理处获得被测系统的关键业务,选取的原则应包括:
发生频率非常高的(例如:移动核心业务系统中的缴费业务,它在移动每天的业务总量中占到90%以上)
关键程度非常高的(业务经理认为绝对不能出现问题的,例如银行业务中的存款业务、取款业务、转账业务等与金钱相关的)
资源占用非常严重的(导致磁盘I/O非常大的,例如某个业务进行结果提交时需要向数十个表存取数据,或者一个查询提交请求时会检索出大量的数据记录
向业务经理讲解获取性能测试所需主要用户场景的方法
从业务经理处获得被测系统的主要用户场景,选取的原则应包括:
以一年作为被测系统主要用户场景的衡量周期
在一年中将会有多少种非常大量的用户在线行为
例如移动公司发布新的优惠活动信息后,大量用户集中到营业厅办理手续的事件;
例如税务局每到每个月的9号到11号之间,大量的用户集中访问网上报税系统进行企业报税事件;
例如某个企业每到20号左右,大量员工访问内部财务系统进行报销操作的事件;
例如银行的营业厅每天在上午的10点和下午的15点都会迎来业务受理高峰的事件;
向业务经理讲解获取用户场景的交易发生概率的方法

从业务经理处获得业务发生概率
例如在移动公司的每日高峰用户场景中,90%的用户进行缴费业务、5%的用户进行开户业务、2%的用户进行话费查询业务、2%的用户进行换卡业务、1%的用户进行停机/开机业务
内容:
向业务经理讲解确定期望业务响应时间的方法

从业务经理处获得期望业务响应时间,例如
1000用户在线的每日高峰用户场景中,缴费业务的期望响应时间最大不能超过3秒,开户业务的期望响应时间最大不能超过5秒,查询业务的期望响应时间最大不能超过12秒

向业务经理讲解性能测试建模过程中需要业务支持人员的原因,并向业务经理提出申请,调派一名或多名业务人员在将来支持性能测试案例的设计工作、业务数据的准备工作。

四、技术经理访谈:
目标:获取关键业务的技术路径,获取性能测试业务模型的补充设计依据;根据由业务经理处获得的关键业务,向技术经理了解这些关键业务使用的数据库中的数据表;向技术经理申请合适的开发人员,作为将来开发性能测试脚本的技术支持人员

内容:
将主要用户场景和关键业务提供给技术经理,请技术经理判断这些关键业务是否覆盖了被测系统的所有业务请求处理节点
(例如某个应用系统是三层架构,WEB-APP-DB,其中APP层包括两个中间件服务器,每个服务器处理不同的业务请求,此时要确定是否每个服务器都被关键业务所覆盖)
如果存在某个业务请求处理节点没有被业务经理分析并确定的关键业务所覆盖,则由性能测试分析师向业务经理转告这个情况,确认是否增加性能测试所需测试的用户场景和关键业务
向技术经理讲解为什么需要了解关键业务使用了哪些数据库中的数据表

例如性能测试分析师在数据库中查找符合测试条件的数据时,根据这些关键业务和数据表之间的关系就可以设计相应的SQL语句,用该SQL语句获得关键业务执行所需要的测试数据。

也可以由此了解到哪些数据库中的数据表在测试中将被用到(例如Select、Insert等),并且判断哪些数据表需要存在多少条记录。

由技术经理处获得关键业务使用了哪些数据库中的数据表,并将这个关系填入到《性能测试技术调研表》中
向技术经理讲解为什么需要技术开发人员支持性能测试脚本开发的工作

由技术经理调派合适的开发人员,作为将来开发性能测试脚本的技术支持人员

例如某个被测系统在提交业务请求时将对业务请求数据进行加密,这时需要技术支持人员向性能测试脚本开发人员提供加密程序,以供性能测试脚本开发人员在性能测试脚本中将加密程序作为动态链接库程序进行调用,使得性能测试脚本能成功模仿实际业务请求。

例如性能测试脚本需要从数据库中获得大量的业务数据进行性能测试的执行,此时需要技术人员指导性能测试脚本开发人员如何从数据库的相关数据表中提取符合测试需要的业务数据。

又例如性能测试在执行过整轮的测试后,在执行下一轮性能测试之前需要恢复数据库中的数据,此时需要技术支持人员辅助进行数据库的备份和恢复工作。

例如性能测试工程师在设计性能测试监控模型时,需要技术支持人员辅助实施被测系统的监控配置工作。

3、性能测试一般需要多少人手资源?
   根据性能测试目的的不同,需要的资源不同。根据被测系统的规模不同,需要的资源也不同。
   按角色分的话需要以下人员:
   测试经理、测试分析师、测试工程师、监控工程师、相关专家(数据库、操作系统、被测系统)。
   大型项目一般会在5-6人的有过,小型项目1人有过。

4、怎样的测试才算是一次成功的性能测试?
    达到了被测系统项目经理的预期就是成功的性能测试。
    目标要谈清楚,有的是选型类的性能测试,能够准确、公平、公正获取被测系统的性能指标就是成功的性能指标。
    有的是调优类的性能测试,配合相关专家对系统进行调优,解决系统性能问题就是成功的性能指标。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9466564/viewspace-716026/,如需转载,请注明出处,否则将追究法律责任。

上一篇: oracle form开发
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-07-02

  • 博文量
    126
  • 访问量
    211713