您的位置:首页 > 其它

案例 某通信企业的Web业务系统性能测试

2009-07-22 23:32 761 查看
项目特点: 该项目基于J2EE实现,采用Tomcat作为应用服务器,架构上使用Struts+EJB+Herbinate,在业务上实现了多个流转的流程。 该系统是一个典型的J2EE应用,从系统测试的角度来说,具有很强的代表性。从技术的角度来说,该系统使用了“验证码”方式防止对系统口令的暴力破解和 可能的内部SPAM。由于现在越来越多的系统都采用“验证码”方式提高系统的安全性,因此在对本案例的描述中也特别给出了针对这种“验证码”的性能测试 解决方案。 该系统的设备和网络环境相对简单,网络环境是企业内部的千兆网络,网络方面 基本不可能对系统性能造成影响;设备方面,采用一台UNIX服务器作为数据库 服务器,一台UNIX服务器作为应用服务器。 该系统是一个以“人机交互”为主的系统,因此,对系统性能的体现主要通过 “响应时间”来给出。 由于Web应用采用的协议单一(http和https协议),因此这类应用特别适合商业的性能测试工具(例如LoadRunner)来辅助进行测试,本案例重点结合LoadRunner的使用,描述了在项目性能测试中用LoadRunner等工具进行性能测试的方法。 1、组织测试团队 团队的5名中,1名是数据库工程师,1名是性能测试设计和分析人员,3名是性能测试开发和实施人员。 在测试开始之前,根据对项目的了解,预计该项目的性能测试难点主要在测试设计和测试脚本实现阶段,由于系统协议单一,架构相对比较简单,且有合适的商业工具可以使用,因此在测试工具方面不需要投入太多的精力。 测试工具需求确认 考虑系统测试的要求,确定测试工具需求如下: 1、支持http/https协议层上的测试 2、能监控unix服务器的主要性能计数器值,例如服务器的内存使用状况、CPU使用状况、磁盘I/O情况等。 3、能监控windows服务器的主要性能计数器,例如服务器的内存使用状况、CPU 使用状况、磁盘I/O情况、进程的内存使用情况等。 4、支持对Oracle数据库的主要性能计数器值进行监控。 5、支持对Tomcat应用服务器的JVM内存使用状况进行监控。 性能预备测试 性能预备测试用于对系统建立直观的认识,在正式开始测试之前体验性地使用了 本系统的主要功能,根据体验,系统的操作均能在4秒之内完成,响应时间相对较长的是登陆过程。 测试工具引入 根据测试前期准备确定的测试工具需求,目前市面上的性能测试工具基本都能够 支持这些需求,唯一有困难的是“监控Tomcat应用服务器的JVM使用状况”, 基本上所有的商业工具都不支持该需求。 最终确定的测试工具包括两个方面的内容:采用LoadRunner工具作为主要的性能测试工具;对Tomcat使用状况的监控通过自行开发工具来实现。 测试计划
测试计划阶段需要分析用户活动,确定系统的性能目标。 1、性能测试领域分析 根据对项目背景的了解,本性能测试要解决的主要问题包括:“验证系统是否达到了预期的性能指标”。 2、用户活动剖析与业务建模 根据被测系统的使用用户进行书面的问卷调查,在问卷基础上进行分析,可以 得到如表8-1所示的典型用户活动分析表。 业务名称 实际使用用户数量 业务发生数 备件信息 200 1500 库存流转-申请单 200 4000 库存流转-审批 100 4000 库存流转-借用 150 3000 库存流转-还库 150 3000 库存流转-报废 100 200 查询统计-备件查询 200 5000 查询统计-申请单查询 100 2000 导入备件Excel文件 20 80 上表所示的用户活动分析表初步描述了用户对各业务系统的使用情况,可以以此 为基础来进一步分析用户场景,并据此设计相应的测试方案和用例,业务场景的 分析与企业的实际业务模式相关。 在对用户活动进行建模的过程中,还得到了以下数据: 1、平均每天使用该系统的总用户数约为600。 2、平均每个用户的login session时间为4小时(也就是说,平均每个用户在8小时时间内有4小时处于“使用系统”的状态)。 3、平均每个用户在login session的时间范围内进行500个业务操作。 根据以上的数据,用第1章给出的公式进行计算: 并发用户数:600×4/8=300 吞吐量:300×500/(4×60×60)=10,单位是网页浏览数/秒。 有了这些数据就可以进行测试场景的设计。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: