目录
性能测试流程——需求分析--测试计划及方案--测试执行--结果分析
-
性能测试概述
-
性能测试的基础
-
软件的性能:效率特性
- 效率特性分为时间特性和资源特性
- 时间特性指系统处理客户请求的响应时间
- 资源特性指在进行性能测试过程中,系统资源消耗的情况;CPU,内存,磁盘的利用率。
-
什么是性能测试?
- 性能测试:针对软件性能进行的测试。通过自动化测试工具模拟用户来测试服务器是否能承载用户多并发,系统是否稳定,从用户角度看响应时间速度是否达到期望
-
性能测试重要性
-
性能测试的目的
- 评估当前系统能力
- 寻找性能瓶颈,优化性能
- 预测未来性能
-
性能测试的注意事项
- 性能测试应尽可能早地进行
- 性能测试需要团队支持
- 性能测试需要独立的测试环境
- 测试前定义明确的测试目标
-
-
性能测试的分类
- 性能测试分为基准测试、并发测试、负载测试、压力测试、稳定性测试和配置测试
- 基准测试:在一定的软件、硬件及网络条件下,模拟单用户访问请求一种或多种业务,产出基准性能数据;为多用户并发测试和综合场景测试等性能分析提供参考数据
- 并发测试:通过模拟用户并发访问,测试多用户同时访问同一应用、模块或数据,观察系统是否存在问题
- 负载测试:通过对被测系统上不断加压,直到超过预定的指标或者资源达到了一种饱和状态不能加压为止。
- 压力测试:系统已达到一定的饱和程度,例如CPU、磁盘等处于饱和状态下,此时系统能够处理业务的能力,系统是否会出现错误
- 稳定性测试:又称可靠性测试,在系统加载一定业务压力的情况下,使系统运行一段时间7*24,以此检测系统是否稳定。
- 配置测试:通过环境的调整来分析系统的性能,从而进行调优。
-
性能测试的指标
-
性能测试指标分为系统指标和资源指标
-
系统指标:
- 响应时间:从用户发送一个请求到用户接收到服务器返回的响应数据的这段时间
- 并发数:
- 并发用户数:某一物理时刻同时向系统提交请求的用户数
- 在线用户数:某短时间内访问系统的用户数,这些用户并不一定同时向系统提交请求
- 系统用户数:系统注册的总用户数据
- 三者之间的关系:系统用户数>=在线用户数>=并发用户数
- TPS:每秒事务数;单位时间内系统处理的用户端请求的事务次数;计算方法:tps=并发数/平均响应时间
-
资源利用率:
- 定义:指的是对不同系统资源的使用程度,通常以占用最大值的百分比来衡量。
- 服务器资源指标:CPU使用率、内存利用率、磁盘和网络带宽
-
-
-
性能测试流程——需求分析--测试计划及方案--测试执行--结果分析
-
性能需求分析
-
为什么要做性能需求分析
- 性能需求分析是整个性能测试工作开展的基础,性能需求分析做的好不好直接影响到性能测试的结果
- 性能需求分析结论或目标
- 明确被测系统
- 系统结构
- 系统要求
- 明确性能测试内容
- 明确性能测试策略
- 基准测试
- 压力测试
- 负载测试
- 稳定性测试(可靠性测试)
- 明确性能测试的指标
- 无明确需求指标
- 明确需求指标(具体测试的性能点)
- 确定性能指标(响应时间、并发用户数、TPS、资源利用率)
- 明确被测系统
-
-
性能测试计划及方案
-
目标:了解性能测试计划及方案的编写
-
测试计划
- 测试目标:确定此次性能测试的目标
- 人力资源:明确性能测试的时间,计划需要多少人来进行测试
- 时间进度
- 风险:列出可能存在的风险
-
测试方案
- 测试环境(架构设计、软/硬件配置:服务器+数据库)
- 测试工具
- 性能测试工具:loadrunner、jmeter
- 监控工具:Linux(nmom分析Linux性能的免费工具、rpc安装在Linux上,结合loadrunner来使用、jvisualVm主要监控java程序,监控内存等)、Windows(Spotlight监控数据库相关信息、perfmon.exe性能监视器,Windows自带的监控工具)
- 测试策略
- 一般性能测试(单一场景,混合场景)
- 稳定性测试
-
-
性能测试用例设计及执行
-
性能测试用例设计
- 按场景设计分类
- 预期性能指标的测试
- 单业务并发性能的测试
- 混合场景并发性能测试
- 测试用例设计
- 测试性能点
- 用例的编写
- 按场景设计分类
-
性能测试用例执行
- 脚本编写(根据测试用例设计编写对应的脚本)
- 场景监控设计(把编写好的脚本去设计执行)
- 运行场景
- 监控场景
- 测试报告
- 压测结果:通过表格方式描述结果是否满足需求
- 监控图:包括性能指标的结果及图形(tps、响应时间)
- 性能评估:根据结果进行性能分析及评估
-
-