完整的性能测试流程
一、准备工作
在什么阶段开展性能测试工作?一般情况下,是在被测系统已完成功能测试、系统趋于稳定的情况下,才会进行性能测试。
1. 组建测试团队
- 根据被测系统的实际情况,组建一个性能测试团队,团队成员包括:开发人员、运维人员、DBA和测试人员等。
2. 性能需求调研
- 性能需求调研工作一般是有性能测试人员负责,产品经理、开发人员、运维人员配合完成。
- 调研系统线上环境的性能需求,包括性能需求、可靠性需求、可维护性需求等。
- 调研系统相关信息,如硬件参数配置、系统架构与部署方式等。
- 调研业务场景信息,如关键业务逻辑与处理流程、交易列表、交易量信息、业务分布规律等。
3. 工具的选择
- 综合系统设计、工具成本、测试团队的技能来考虑,选择合适的测试工具。
- 压测工具:JMeter、Loadrunner、Locust等等。
- 监控工具:nmon、lepus、jvisualvm、prometheus、grafana等等。
二、性能测试计划
1. 分析性能测试背景
根据对项目背景和业务的了解,确定本次性能测试要解决的问题点。常见的情况有:
- 对于一个新系统,需要测试系统的承受能力。
- 对于运行中的系统不能满足实际的需求,需要确定性能瓶颈。
- 增加了新的业务,需要重新评估系统的承受能力。
- 系统架构进行了调整,需要重新评估系统的承受能力。
2. 分析用户场景
根据对系统业务、用户活跃时间、访问频率、场景交互等各方面的分析,整理业务场景,为测试脚本开发提供依据。
3. 确定性能目标
针对具体的业务功能点,制定期望的性能目标。其中需要和其他业务部门进行沟通协商,以及结合当前系统的响应时间等数据,确定最终我们需要达到的响应时间和系统资源使用率等目标。
4. 制定性能测试实施计划
根据项目组的时间安排,计划本次性能测试的起止时间、参与人员、产出物等等。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】
三、性能测试设计
1. 测试环境设计
不同的软件和硬件配置会制约系统的整体性能,所以需要部署多个不同的测试环境,在不同的硬件配置上检查应用系统的性能,并对不同配置下系统的测试结果进行分析,得出最优结果。需要重点关注有数据库服务器、应用服务器、软件运行环境。
2. 测试场景设计
根据被测系统的业务特性,并通过和业务部门沟通以及以往用户操作习惯,确定用户操作习惯模式,以及不同的场景用户数量,操作次数,确定测试指标,以及性能监控等。
3. 测试用例设计
根据设计的测试场景,编写测试用例。用例的核心内容包括:用例编号、用例标题、前置条件、操作步骤、测试数据、预期结果、实际结果等等。
4. 编写测试脚本
根据测试用例和选择的工具,准备测试数据,编写测试脚本。
四、性能测试执行
1. 部署测试环境
一般由运维或开发人员进行环境的部署,并进行资源协调。
2. 执行测试脚本
在已部署好的测试环境中,按照业务场景和测试用例,按顺序执行我们已经设计好的测试脚本。
3. 性能监控和记录
根据选择的测试工具和监控工具,在压测的过程中对各项性能指标进行监控和记录。
五、性能测试分析
- 分析不同的测试环境下,硬件设备的性能指标与预期的性能指标进行对比,确定是否达到了我们需要的结果。针对没有达到预期的指标,分析具体的瓶颈点。
- 分析不同的测试环境下,分析应用服务器、数据库服务器、中间件等组件的性能指标。
- 在性能测试执行过程中,可能会发现某些功能上的不足或存在的缺陷,以及需要优化的地方。
六、性能测试调优
- 确定问题:根据性能分析的结果确定存在的性能问题。
- 分析问题:根据确定的问题进行具体详细的分析出现问题的原因。
- 确定调整目标和解决方案。
- 测试解决方案:对调优后的系统再次进行测试。
- 分析调优结果:分析调优结果是否到达了预期目标。
七、性能汇总与报告
- 对性能测试的过程和结果进行汇总
- 编写性能测试报告
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!