性能测试 场景设置-场景优化-用例设计- 脚本开发-脚本优化-场景监控-图表监控-报告分析-定位问题-调优-调优策略-实施调优
根据业务和技术特点去分析梳理制定测试的方案、工具脚本应用;另一方面性能的瓶颈分析和优化就需要较多的专业积累了,涉及到操作系统、网络协议、数据库、中间件、应用各方面的知识储备才能有效开展
-
了解业务需求
被测系统与外界如何交互?用例是什么?
被测系统分为多少个子模块?各个子模块之间如何交互? -
了解性能需求
被测系统的数据量是多少?业务数据模型是什么?
被测系统是否需要做容量测试?
被测系统是否需要做长时间稳定性测试?
被测系统是否需要做峰值测试?
被测系统是否需要做运算能力测试?
被测系统容量极限的标准是什么?响应时间?服务器CPU资源?内存?硬盘?
被测系统的硬件配置是什么?
被测系统是否需要集群?采用哪种负载均衡方式?是否需要备份服务?
被测系统的网络流量有多少? -
编写脚本
被测系统采用什么通讯协议?是否有多重协议?
被测系统的服务URL是什么?
录制/编写的脚本是否可以回放?
哪些变量需要参数化?参数化的变量是否需要每次运行不一样?
返回的结果是否正确?数据正确的关键字是什么?
是否需要多次发送请求?是长连接还是短连接?
是否需要集合点? -
搭建环境
部署被测系统的操作系统是否被正确安装?
部署被测系统的服务器所依赖的运行环境(VC运行库,.Net框架,JRE等等)是否被正确安装?环境变量是否被正确设置?
网络拓扑如何?带宽是多少?
集群的硬件配置是否一样?
集群的负载均衡是否需要会话保持? -
开发场景
总的并发用户数是多少?
各个压力机分配的用户组别是什么?用户数是多少?
加载用户的速度是多少?
运行多长时间?
用户退出的速度是多少?
每个用户是以进程方式还是线程方式运行?
脚本日志是否已经关闭? -
执行性能
被测系统所依赖的数据库是否可以访问?
被测系统所依赖的数据库的数据表是否存在?
被测系统所依赖的数据库的数据量是否正常?
被测系统所依赖的数据库的数据内容是否正确?
被测系统所依赖的其他系统服务是否可以访问?
被测系统所依赖的其他系统服务返回的数据是否正确?
被测系统的性能监控服务是否已经启用?
被测系统服务(Apache, IIS, MS ASP, WebLogic, DB2, Oracle, SQL Server, Real Client Media Player Client, SAPGUI, Siebel Server Manage, PeopleSort, Microsoft COM+, Citrix Server, TUXEDO IBM WebSphere MQ)的监控是否已经启用?
在场景测试工具(例如LR的Controller)中监控是否已经设置正确,有数据显示?
开始测试前服务器的CPU占用率是多少?可用内存是多少?磁盘空间是多少?
结束测试后服务器的CPU占用率是多少?可用内存是多少?磁盘空间是多少?
结束测试后1小时,服务器的可用内存是否能回复正常?
服务空接口的性能是多少?返回固定值时性能是多少?全业务时性能是多少? -
编写性能测试报告
服务器资源情况如何?
各个业务/用户组的TPS是多少?响应时间是多少?网络流量是多少?数据处理量是多少?
稳定时总的TPS是多少?网络流量是多少?数据处理量是多少?
Ping延时是否超过2毫秒?是否存在网络延时?
是否存在CPU瓶颈?CPU占用率(参考数值<80%)是多少?处理队列(<=处理器个数+1)是多少?
是否存在内存瓶颈与内存泄漏?可用内存数量(参考数值>=10%)是否一直减少,不能恢复?页面错误有多少?多少是软页面错误?多少是硬页面错误?
是否存在磁盘瓶颈?磁盘处理时间百分比是多少?磁盘的队列(参考数值<=磁盘数2倍)是多少?磁盘读写速度是多少?每秒有多少磁盘操作?
是否符合性能要求?