《软件性能测试方案》由会员分享,可在线阅读,更多相关《软件性能测试方案(12页珍藏版)》请在金锄头文库上搜索。
1、性能测试方案目录前言 31 第一章系统性能测试概述 31.1被测系统定义 31.1.1功能简介 41.1.2性能测试指标 41.2系统结构及流程 41.2.1系统总体结构 41.2.2 功能模块描述 41.2.3业务流程 51.2.4 系统的关键点描述( KP) 51.3性能测试环境 52 第二章性能测试 62.1 压力测试 62.1.1压力测试概述 72.1.2测试目的 72.1.3测试方法及测试用例 72.1.4测试指标及期望 82.1.5测试数据准备 92.1.6 运行状况记录 993 第三章测试过程及结果描述 903.1 测试描述 错误!未定义书签。3.2 测试场景 错误!未定义书签。
2、3.3 测试结果 错误!未定义书签。114 第四章测试报告刖言系统已在成功上线,从而的业务信息管理逐步走上了集中管控的道路。 由于密集整 转在全市各点展开,从而将会势必出现业务系统中信息大量增长的态势。随着业务系统在生产状态下日趋稳定、 成熟,系统的性能问题也逐步成为了我们关 注的焦点:每天大数据量的“冲击”,系统能稳定在什么样的性能水平,面临公司业务 增加时,系 统能否经受住“考验”,这些问题需要通过一个完整的性能测试来给出答案。本性能测试规划书即是基于上述考虑,参考科学的性能测试方法而撰写的,用 以指导即将进行的系统的性能测试。1 第一章 XXX 系统性能测试概述1.1 被测系统定义xxx
3、 系统作为本次测试的被测系统(注:以下所有针对被测系统地描述均为针对xxx系统进行的),xxx系统是由java编写的一个三层架构的应用软件,后台应用了 OraclelOg数据库,该系统包括主要功能有:XXX等,在这些功能中都存在大数据 量查询以及日报、周报、年报的统计,在本次测试中,将针对 这些大数据量的查询、统计功能 进行压力测试,检查并评估在模拟环境中,系统对负载的承受能力, 在不同的用 户连接情况下,系统的吞吐能力和响应能力,以及在预计的数据容量中,系 统能够容忍的最大用户 数。1.1.1 功能简介主要功能上面已提到,由于本文档主要专注于性能在这里功能不再作为重点讲述。1.1.2 性能测
4、试指标本次测试是针对 xxx 系统在应对密集整转的大压力下而进行的,主要需要获得如下的测试指标。1、应用系统的负载能力:即系统所能容忍的最大用户数量,也就是在正常的响应 时间中,系统能够支持的最多的客户端的数量。2、应用系统的吞吐率:即应用系统在单位时间内完成的交易量,也就是在单位时 间内,应用 系统针对不同的负载压力,所能完成的交易数量。3、系统的响应能力:即在各种负载压力情况下,系统的响应时间,也就是从客户 端请求发起,到服务器端应答返回所需要的时间, 包括网络传输时间和服务器处理时间。4、应用系统的可靠性:即在连续工作时间状态下,系统能够正常运行的时间,即 在连续工作 时间段内没有出错信
5、息 。1.2 系统结构及流程XXX 系统在实际生产中的体系结构跟本次性能测试所采用的体系结构是一样的, 交易流程也完全一致的。不过,由于硬件条件的限制,本次性能测试的硬件平台跟实际 生产环境略 有不同。1.2.1 系统总体结构描述本系统的总体结构,包括:硬件组织体系结构、网络组织体系结构、软件组织 体系结构和 功能模块的组织体系结构。1.2.2 功能模块1.本次性能测试中各类操作都是由若干功能模块组成的,每个功能都根据其执行特点 分成了若干操作步骤,每个步骤就是一个功能点 (即功能模块),本次压力测试主要 涉及的功 能模块以及所属操作如下表业务流程本次性能测试中,选择的各类交易的业务流程如下:
6、查询的业务流程只是单一步骤的,即:输入查询条件后获取查询结果,因此在本次 性能测试中 只作为一个事务处理。1.2.3关键点描述(KP)本次性能测试的关键点,就是查看 XXX 系统在不同用户数量(并发)压力下的表 现,即:支持的并发用户数目和并发用户发送频率,以及在较大压力下,系统的处理能 力以及 CPU、数据库I/O和内存的使用情况,并找出相应的性能瓶颈。1.3 性能测试环境本次性能测试环境与真实运行环境硬件和网络环境有所不同,是真实环境的缩小,数据库是真实环境数据库的一个复制(或缩小),本系统采用标准的CS结构,客户端通过前台安装 访问应用系统。其中具体的硬件和网络环境如下:中间件服务器:W
7、eblogic9操作系统:Win dows2003/Solaris10网络环境:LAN (10M)数据库: Oracle 10g RAC客户端: PC ( Win dows)网络拓扑和结构图如下:客户A中间件服务器交客户机B2 第二章性能测试从广泛意义上讲性能测试包括:压力测试、稳定性测试、负载能力测试和可扩展性测 试等。在不同应用系统的性能测试中, 需要根据应用系统的特点和测试目的的不同来选 择具体的测 试方案,本次 XXX 系统的性能测试主要是采用通常的压力测试模式来执行 的,即:逐步增加压力, 查看应用系统在各种压力状况下的性能表现。在本次性能测试中,将使用美科利(Mercury)公司的
8、性能测试LoadRunner8.1对测试应用的各层进行监控,判断 J2EE 各层次的各类方法和类的调用使用时间和效率,并 帮助开发人 员分析J2EE应用的各类操作的性能瓶颈点。2.1 压力测试在性能测试中,压力测试主要是为了获取系统在较大压力状况下的性能表现而设计 并实现的,压力测试主要是获取系统的性能瓶颈和系统的最大吞吐率。2.1.1 压力测试概述本次测试是针对XXX系统在应对密集整转的压力下业务处理能力的测试,检验系统的吞吐率。 本系统的压力测试主要是针对主要业务功能、报表统计进行,检查在日间 应用高峰时期,并发用户数 较多的时候的处理能力等等。2.1.2 测试目的压力测试的目的就是检验系
9、统的最大吞吐量,检验现行的业务系统在各种压力交易量下的运行状况,检验系统地运行瓶颈,获取系统的处理能力等等。本次针对 XXX 系统所进行的压力测试的测试目的为:给出 XXX 系统当前的性能状况定位 XXX 系统性能瓶颈或潜在性能瓶颈 总结一套合理的、可操作的、适合公司现实情况的性能测试方案,为后续的性 能测试工作 提供基本思路。2.1.3 测试方法及测试用例使用美科利公司(Mercury )的性能测试软件LoadRunner,对现行的XXX系统进 行脚本录 制、测试回放、逐步加压和跟踪记录。测试过程中,由LoadRunner 的管理平台调用各台测试前台,发起各种组合的交易请求,并跟踪记录服务器
10、端的运行情况和返 回给客户端的 运行结果。使用的测试方法用例包括:业务类型用例一用例二用例三客户开户客户订购客户缴费工单查询综合统计(XXX报表)针对每个测试用例,都将采用逐步加压和瞬间加压两种客户端连接方式进行,查看服务器端在客户端的连接数量变化过程中对应的处理能力,以更好的定位系统在达到 多少并发或压力下我们的系统出现了不稳定。2.1.4 测试指标及期望在本次性能测试中,各类测试指标包括测试中应该达到的某些性能指标,这些性能 指标均是来自应用系统设计开发时遵循的业务需求, 当某个测试的某一类指标已经超出了业务需求的要求范围,贝V测试已经达到目的,即可终止压力测试。2141应用软件级别的测试
11、指标:CPU的利用率小于40%内存占用小于 80%Processor queue length 小于 2Resp onse time 小于 1s吞吐量 throughtput 大于 90%业务执行的平均响应时间(期望值:15s)不同并发用户数的状况下的记录上述值2142 网络级别的测试指标:吞吐量:单位时间内网络传输数据量冲突率:在以太网上监测到的每秒冲突数2143操作系统级别的测试指标:进程/线程交换率:进程和线程之间每秒交换次数CPU 利用率:即 CPU 占用率()系统 CPU 利用率:系统的 CPU 占用率()用户 CPU 利用率:用户模式下的 CPU 占用率()磁盘交换率:磁盘交换速率
12、中断速率:CPU每秒处理的中断数2.1.4.4数据库级别的测试指标:数据库I/O的流量大小数据库锁资源的使用数量 数据库的并发连接数:客户端的最大连接数2.1.5 测试数据准备2.1.5.1案例数据:满负荷压力根据测试系统的硬件条件, 选择满负荷的压力,在系统的资源使用基本维持在 左右的状况 90%下,测试天威宽带业务管理系统的处理能力。数据准备工作包括:测试数据库需具备与真实环境成一定比例或基本一致的数据2.1.6 运行状况记录记录可扩展性测试中的测试结果及其系统的运行状况。除了记录测试指标以外,应 该结合测试实时记录系统各个层次的资源和参数。主要包括:硬件环境资源服务器操作系统参数网络相关
13、参数数据库相关参数:具体数据库参数有所不同,结合各个数据库独有的特点记录3第三章测试过程及结果描述3.1 测试描述在测试数据准备完备以后,测试将进行。记录每次测试的结果数据,分析测试结果 对系统进行全面评估。3.2测试场景测试中,使用逐步加压的模式,测试运行场景安排如下:1. 每隔 2秒增加 1 个用户连接,最多增加到2. 每隔 2 秒增加 2 个用户连接,最多增加到100 个用户,查看并记录运行情况200 个用户,查看并记录运行情况300 个用户,查看并记录运行情况4.每隔 3秒增加 1 个用户连接,最多增加到400 个用户,查看并记录运行情况3. 每隔 2秒增加 1 个用户连接,最多增加到
14、每个场景都包括:用户登录-业务操作-业务完成-退出系统,所有用例都按以上场景进行测试,由于pc性能限制,为了更准确模拟现场环境,将运行的所有脚本部署在8台 LoadRunner 终端上,主要目的就是检查在不同的压力的情况下,业务系统的性能表3.3 测试结果执行每个场景时记录以下相应的数据APP服务器主机上的CPU利用率:在数据库(Oracle)服务器上主机上的CPU利用率:10 和 CPU 利用率对照表如下:APP 服务器监控的网络流量:DB 服务器上监控的网络流量:运行的并发用户数目:测试中完成各操作的平均响应时间:(单位:秒测试中每秒的点击率如下:交易的吞吐率(每秒处理数据量)4 第四章测试报告在 XXX 系统的性能测试结束,根据测试结果,将生成测试报告。对应的文档名称如下:性能测试报告