软件测试系列十《压力测试方案》
Posted 再见孙悟空_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试系列十《压力测试方案》相关的知识,希望对你有一定的参考价值。
压力测试方案
编写日期:2020年2月
版本修订记录
版本标识 | 注 释 | 作 者 | 日 期 |
文档使用对象
姓 名 | 职 务 |
审批人员
姓 名 | 职 务 | 日 期 |
目录
2.概要
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、录入用户账户; | ||
场景设计 | 1、每秒启动**个虚拟用户,共生成xxx个虚拟用户; | ||
关注事务 | 登录 | ||
监控指标 | 响应时间,事务成功数,服务器cpu,内存使用情况 | ||
预期结果 | 响应时间小于*秒,事务成功率大于**%,cpu使用率小于**%,内存使用率小于**%。 |
6.2保存报销单
场景说明
保存报销单场景模拟用户进入系统新建报销单,填写相关信息并进行保存。分别并发模拟***、***、***用户点击保存按钮,持续时间为***分钟,监测指标为响应时间,事务成功率,服务器cpu和内存使用情况等。
测试用例
下表为***、***、***人分别点击保存单据的测试用例:
用例名称 | xxx人同时保存通用报销单 | 用例编号 | 003 |
测试步骤 | 1、用户登录系统; | ||
场景设计 | 1 、每秒启动**个虚拟用户,共生成xxx个虚拟用户; | ||
关注事务 | 保存 | ||
监控指标 | 响应时间,事务成功数,服务器cpu,内存使用情况 | ||
预期结果 | 响应时间小于*秒,事务成功率大于**%,cpu使用率小于**%,内存使用率小于**%。 |
6.3提交报销单
场景说明
提交报销单场景模拟用户进入系统新建报销单,填写相关信息进行保存后提交报销单。分别并发模拟***、***、***用户点击提交按钮,持续时间为***分钟,监测指标为响应时间,事务成功率,服务器cpu和内存使用情况等。
测试用例
下表为***、***、***人分别提交报销单的测试用例:
用例名称 | xxx人同时提交报销单 | 用例编号 | 003 |
测试步骤 | 1、用户登录系统; 4、点击提交按钮 | ||
场景设计 | 1 、每秒启动**个虚拟用户,共生成xxx个虚拟用户; | ||
关注事务 | 提交 | ||
监控指标 | 响应时间,事务成功数,服务器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%,并出具准出测试报告。
以上是关于软件测试系列十《压力测试方案》的主要内容,如果未能解决你的问题,请参考以下文章