性能基础知识
开源:jmeter
Java开发,跨平台、版本更新快(建议v5.1.1以后+jdk1.8)、学习资料比较多非常活跃
商业:loadrunner
性能测试标杆软件、c语言、国内破解(<lr11)、lr12免费试用50限制用户数、更新急慢
自研:python+locust
Python语言自行开发
不仅仅是操作系统宕机,也有可能是某个服务宕机了
性能测试的前提:
1、性能测试的必要性研究 ----关键项评估
1、主管部门、监管部门审查,合同上面写明需要性能报告,否则不能发布正式环境
2、涉及生命财产安全
3、大型新系统
4、核心系统:用户访问量大、核心业务优先,某个时间点集中使用签到业务
5、架构调整
6、业务剧增
7、重大缺陷修复:需要修改底层代码
2、可测性 ---可量化为性能指标值
性能测试步骤:非常重要,专业测试人员都是有标准化的流程
小公司测试不走流程,美其名曰:敏捷测试
1、性能测试准备:业务需求了解
2、搭建性能测试环境
3、性能测试脚本开发
4、性能测试脚本执行
5、结果分析与调优
6、测试报告与结果跟踪
性能测试准备:
需求分析 ---熟悉业务
明确性能测试目标(指标值)
了解 软件功能、架构
指定测试计划,做好工作量评估
制定 测试模型(编写测试用例)
搭建性能测试环境:
工具选型与准备:不同的协议,不同的工具
被测系统环境搭建(服务器、服务版本更新、数据库数据准备:业务数据量准备好)
网络配置:
性能测试脚本开发:
选取协议
制作脚本
调试脚本
验证脚本
性能测试脚本执行:
试运行
场景执行
性能测试结果分析与调优:时间长、收集数据分析,硬件、网络、操作系统、服务器、应用
分析依据:结果图表 操作系统端口、服务器配置(配置调优,性能测试工程师可以调节)
性能分析思路:服务器硬件瓶颈->网络瓶颈->操作系统服务器os瓶颈(参数配置、数据库、web服务器)->应用瓶颈(sql语句、数据库设计、业务逻辑、算法) 反复分析调优
调优
修改脚本或场景
性能测试报告与结果跟踪:性能上线标准 内存问题,代码结构调整
性能测试报告
性能测试问题追踪:性能问题,当期无法解决,可以考虑延期