评估系统能力
识别体系中的弱点
系统调优
验证系统的稳定性
总结:发现性能的瓶颈
1、利用工具去模拟大量用户的操作,来验证系统的能够承受的负载情况,找出潜在的性能问题,分析并解决
2、要应对大规模用户使用一个系统,那必须有强壮性能的系统,性能测试是对这套系统的质量保证!
3、性能测试的价值就是保障系统的性能,提供良好的用户体验,尽可能地找出系统性能薄弱环节,帮助进行性能优化
4、不管我们的程序是多么高大上,不管我们用什么语言实现,最终还是依赖服务器的硬件依赖数据信号,依赖模拟电路,服务器硬件是性能之本
1、业务的学习:通过查看文档,手工操作系统来了解功能
2、需求分析:分析系统的功能需求,固定系统测试范围,了解系统性能指标
3、工作评估:工作量的分解,评估工作量,计划资源投入,需要多少人力,需要多少工作日,来完成性能测试
4、设计模型:圈定性能测试范围,把业务模型映射成测试模型
5、脚本的开发:录制或者编写脚本
6、测试环境的准备:性能测试的环境包括,服务器跟负载机
服务器:是被测系统的运行平台
负载机:是我们用来产生负载的机器,用来安装负载工具,运行测试脚本
测试数据的准备:根据数据模型来准备被测系统的主数据和业务数据,主数据是保证业务能够运行畅通的基础
数据是能引起性能的变化,在测试的时候要准备一些存储数据,这是数据要考虑数量与分布
7、测试执行:测试执行时性能测试的成败关键,不同人员执行测试脚本得出来的结果可能也不一样,这些差异主要体现在场景设计与测试执行上
8、缺陷管理:对于测试过程中发现的错误进行管理
9、性能分析:对于测试过程中发现的错误进行分析,找出原因
10、性能调优:与开发人员共同解决性能中发现的问题
11:评审
需求分析
场景设计
性能诊断调优
环境搭建跟模拟
服务器的硬件性能
根据需求跟历史数据制定性能目标
建立性能通过模型
对开发发布的版本的基准测试
执行软件性能验收及稳定性测试
生产环境的配置跟优化
制定性能测试的测试用例
制定性能测试的场景设计
协调各部门配合
特定的性能分析
负载:模拟业务操作对服务器造成压力的过程
性能测试:模拟用户的负载来测试系统在负载情况下,的响应时间,吞吐量等是否达到指定目标
负载测试:在一定软硬件环境下,长时间运行一定负载,确定系统在满足性能指标的前提下是否运行稳定
TPS:每秒完成的事务数,通常指每秒成功的事务数
RT/ART:响应时间/平均响应时间,指一个事务数多长时间完成
DV:每秒用户访问的次数,此参数用来分析平均每秒有多少用户访问页面
Wser:虚拟用户模拟业务操作的虚拟用户
Cocurrency并发:即使大量用户在同一时间进行同一操作或者事情,或者大量用户对系统发出了请求或者操作,但是这些请求和操作可以是不同的
容量测试:通常指数据库层面,目标是获取数据库最佳容量的能力,具体测试方法为在一定的并发用户,不同的基础数据量下,观察数据库的处理能力,即获取数据库的各项指标
场景:性能测试过程中为了模拟真实用户的业务处理过程,在Jmater中构建的基本事务,脚本,虚拟用户,运行设置,等一系列动作的集合,称之为性能测试的场景
思考时间:模拟正式用户在实际操作时的停顿间隔时间
标准差:该标准差根据数理统计的概念得来
标准差越小,波动越小,系统越稳定
标准差越大,波动越大,系统不越稳定
事务:从客户端发起一个或者多个请求(这些请求组成一个完整的操作),到客户端接收到从服务器返回的响应
请求响应时间:从客户端发起的一个请求开始,到客户端接收到从服务器返回的响应,整个过程所耗费的时间
事务响应时间:事务响应时间主要是与用户的角度而言
吞吐量:一次性能测试过程中网络上传输的数据量的总和
吞吐率:单位时间内网络上传输的数据量
吞吐率=吞吐量、传输时间
资源使用率:对不同的系统资源的使用情况如,内存,cpu,io