压力测试方案

 

 

 

 

 

编写日期:2020年2月

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

版本修订记录

版本标识

注 释

作 者

日 期

 

 

 

 

 

 

 

 

 

 

文档使用对象

姓 名

 

 

 

 

 

 

 

 

 

 

 

 

 

审批人员

姓 名

 

日 期

 

 

 

 

 

 

 

 

 

 

 

 


 


目录

1.文档标识

2.概要

2.1文档用途

2.2测试目的

3.测试范围及目标

4.测试环境

5.测试方案

6.测试场景及案例

6.1登录系统

6.2打开单据加载

6.3保存通用报销单

6.4通用报销单影像上传

6.5提交通用报销单

6.6退回通用报销单(审批流)

6.7通用报销单制证(审批流)

7.测试工具

8.参考资料

9.组织机构

9.1角色与职责

9.2人员培训

10.测试关键过程域

10.1测试计划制订

10.2编写测试用例

10.3测试环境准备

10.4测试执行

10.5编写测试报告

10.6 测试完成标准

 

1.文档标识

本文档为针对***公司开发的***项目的全面的压力测试方案。

2.概要

2.1文档用途

本文档是完成***压力测试的指导性文件。本文档给出了对测试需求、测试环境、测试过程及测试结果的总体要求, 这也是本测试项目中其他文档编写及结果评价的基础。

2.2测试目的

本次测试是针对***项目进行的压力测试。为保证系统的平稳运行,需要对系统的关键节点进行压力测试,验证现有生产环境的硬件资源和架构满足未来的业务需要。

本次压力测试的重点在于从用户使用角度进行端对端的业务测试。

本次压力测试的主要目的如下:

ü 评估在并发压力下系统使用对应用服务器、数据库服务器资源消耗的情况,同时对系统关键性能进行验证

ü 识别性能瓶颈,以对系统进行优化和调整,提出相应方案

ü 识别容错能力,以对系统异常识别、处理进行优化和调整,增强应用的稳定性

3.测试范围及目标

***项目为本次重要建设内容,包括***、***、***、***、***、***、***、***等重要应用模块。为验证系统在大负荷情况下数据处理能力及承受能力,以***、***、***、***等为例,分别从响应时间、事务成功率、CPU使用率、内存使用情况等维度进行结果分析。

压力测试通过标准(正式环境要达到这个标准)如下:

并发用户数

压测时长

90%用户相应时间

平均响应时间(s)

事务成功率

每秒处理事务

CPU占用率

内存使用率

5000

15min

小于3秒

小于3秒

大于99%

 

小于75%

小于75%

10000

15min

小于4秒

小于4秒

大于99%

 

小于75%

小于75%

15000

15min

小于5秒

小于5秒

大于99%

 

小于75%

小于76%

 

4.测试环境

服务器及客户端

硬件配置

软件配置

应用服务器

(*台)

单节点配置:

CPU:*核,内存:*GB

(集群总)配置:

CPU:*核,内存:*GB

运行环境:***(Docker容器)

操作系统: (CentOS 7.4)

数据库服务器

(***集群)

(**集群)配置:

存储:*TB (SSD)

(**集群)配置:

存储:*TB (SSD)

(**集群)配置:

存储:**TB

操作系统: (CentOS 7.4)

数据库:(Oracle 11g)

测试客户端

CPU:*核,内存:*G存储:*GB

操作系统:(windows2008R2

网络要求

***M带宽

5.测试方案

应用服务集群基于(**)容器部署在云平台上,应用集群由节点数可手动扩展,本次压测设置了*个节点,单个(**)容器节点的配置为*CPU、*GB内存,应用服务集群采用(**)作为第一层负载,由(**)作为第二层负载对外提供服务。

关系数据库采用了(**)集群提供数据存储服务,应用程序通过连接池的方式与数据库建立连接。热点数据使用(**)缓存,集成接口及应用程序的异步处理采用了***的方式。

压力测试客户端采用**个LoadRunner客户端组成压测集群,根据测试场景模拟用户用户数和并发数。

6.测试场景及案例

6.1登录系统

场景说明

登录场景模拟用户登录系统过程。分别并发模拟***、***、***用户提交登录请求,持续时间为**分钟,监测指标为响应时间,事务成功率,服务器cpu和内存使用情况等。

测试用例

 下表为***、***、***人分别提交登录请求的测试用例:

 

用例名称

xxx人同时提交登录请求

用例编号

001

测试步骤

1、录入用户账户;
2、录入用户密码;
3、点击登录按钮。

场景设计

1、每秒启动**个虚拟用户,共生成xxx个虚拟用户;
2、持续运行**分钟;
3、运行结束时,每秒结束**个用户,直到所有用户结束为止。

关注事务

登录

监控指标

响应时间,事务成功数,服务器cpu,内存使用情况

预期结果

响应时间小于*秒,事务成功率大于**%,cpu使用率小于**%,内存使用率小于**%。

 

6.2保存报销单

场景说明

保存报销单场景模拟用户进入系统新建报销单,填写相关信息并进行保存。分别并发模拟***、***、***用户点击保存按钮,持续时间为***分钟,监测指标为响应时间,事务成功率,服务器cpu和内存使用情况等。

测试用例

下表为***、***、***人分别点击保存单据的测试用例:

 

用例名称

xxx人同时保存通用报销单

用例编号

003

测试步骤

1、用户登录系统;
2、新建通用报销单,(新建内容);
3、点击保存按钮。

场景设计

1 、每秒启动**个虚拟用户,共生成xxx个虚拟用户;
2、持续运行**分钟;
3、运行结束时,每秒结束**个用户,直到所有用户结束为止。

关注事务

保存

监控指标

响应时间,事务成功数,服务器cpu,内存使用情况

预期结果

响应时间小于*秒,事务成功率大于**%,cpu使用率小于**%,内存使用率小于**%。

 

6.3提交报销单

场景说明

提交报销单场景模拟用户进入系统新建报销单,填写相关信息进行保存后提交报销单。分别并发模拟***、***、***用户点击提交按钮,持续时间为***分钟,监测指标为响应时间,事务成功率,服务器cpu和内存使用情况等。

测试用例

下表为***、***、***人分别提交报销单的测试用例:

 

用例名称

xxx人同时提交报销单

用例编号

003

测试步骤

1、用户登录系统;
2、新建报销单,(新建内容);
3、点击保存按钮。

4、点击提交按钮

场景设计

1 、每秒启动**个虚拟用户,共生成xxx个虚拟用户;
2、持续运行**分钟;
3、运行结束时,每秒结束**个用户,直到所有用户结束为止。

关注事务

提交

监控指标

响应时间,事务成功数,服务器cpu,内存使用情况

预期结果

响应时间小于*秒,事务成功率大于**%,cpu使用率小于**%,内存使用率小于**%。

 

7.测试工具

LoadRunner性能测试工具、Nmon服务器指标监测工具、Postman接口测试工具、Fiddler抓包工具

8.参考资料

***需求文档、原型图、详细设计

 

 


9.组织机构

9.1角色与职责

压力测试过程参与者的角色,职责及其应具备的技能如下:

角色

人数

职责

技能

项目经理

 

评审并批准项目计划及有关报告;

组织并确保团队工作;

控制项目执行;

评估项目绩效;

与有关人员进行沟通。

熟悉项目管理知识或有项目管理经验,能进行有效沟通。

测试组长

 

项目计划编制;

协调并实施项目计划中确定的活动;

识别测试环境需求;

负责设计测试用例;

为其他人员提供技术支持。

熟悉软件测试方法及其工具,具有一定的领导测试人员开展测试工作的能力。

测试人员

 

执行测试活动;

在项目计划制订阶段,识别项目活动估计每项活动所需的时间。

了解测试工作,可根据测试说明执行测试,并可对测试结果进行简单归纳,会使用缺陷跟踪与管理系统。

环境准备人员

 

提供资源保障;

建立并维护测试环境

对测试环境中所涉及的软硬件及其配置熟悉,可迅速排除测试过程中出现的软硬件故障。

质量保证人员

 

确定项目质量目标;

制订并实施质量计划;

监督、指导项目活动的执行过程。

熟悉软件质量保证和软件过程改进理念,了解被测软件的特性及应用场景。

9.2人员培训

根据公司项目实际情况对测试人员进行相关培训,如业务流程培训、测试工具使用培训等。

10.测试关键过程域

完成本项目测试的关键过程域包括:

Ø 测试计划制订;

Ø 编写测试用例;

Ø 测试环境准备;

Ø 测试执行;

Ø 测试结果分析;

Ø 测试情况汇报。

10.1测试计划制订

列出测试资源准备,准入测试,系统测试,准出测试,以及其他测试的具体测试计划时间表。

10.2编写测试用例

Ø 根据需求文档和设计文档以及其他相关文档制定测试列表;

Ø 对测试用例列表的覆盖度进行检查,完善后根据测试用例的设计方法形成详细的测试用例

10.3测试环境准备

Ø 准备硬件设备;

Ø 安装软件;

Ø 配置网络环境;

Ø 测试数据准备。

10.4测试执行

根据测试用例逐条执行测试用例,包括脚本录制、场景执行等。

10.5编写测试报告

测试完成之后编写测试报告,出具各种测试指标、评估系统性能及提出调优建议。

10.6 测试完成标准

测试用例执行率要达到100%,并出具准出测试报告。