在很多职场人的概念中,性能测试就是使用Loadrunner、Jmeter等工具进行压测,然后得到测试结果即可,但仔细想想,对谁进行测试?测试目的是什么?监测指标有哪些?得到的结果如何分析(怎样的结果算通过)等等。
所以使用工具压测只是性能测试最基础的一个步骤,下面先来看看性能测试的一般流程:
业务学习:通过查看需求文档、PRD等相关文档+手工操作来了解系统功能;
分析需求:分析系统的非功能需求,圈定性能测试的范围,了解系统性能指标;
工作评估:工作量分解,评估工作量,计划资源投入(需要多少硬件资源,多少人力、时长来完成测试工作)。
设计模型:可以理解为测试场景,是单一测试场景还是混合测试场景;
编写计划:测试计划应明确列出测试范围、人力投入、持续时间、工作内容、风险评估、风险应对策略等;
准备测试环境:准备服务器(部署被测系统),负载机(安装压测工具,产生负载的机器)
准备测试数据:根据测试场景(设计模型)准备数据,
原因有两个:
a、有些数据是支撑系统运行的基础(比如我们要对登录进行压测,首先需要准备一些注册好的账号);
b、不同量级数据影响性能结果(比如从不同量级的数据库查询结果,时间肯定不一样),至于准备什么量级的数据则需要跟项目实际情况来设计;
开发脚本:根据测试场景,测试用例开发测试脚本(录制或手动编写);
测试执行:运行测试;
缺陷管理:跟踪测试过程中发现的缺陷;
性能分析:对性能测试结果进行分析,是否满足预期目标,如果不满足则需找出原因;
性能调优:根据上一步的分析,尝试优化系统;
测试报告:对测试工作进行总结,报告测试结果,发现的问题等
评审:对性能报告中的内容进行评审,确认问题、评估上线风险。虽然有时候性能测试结果不理想,但基于时间和成本等方面的考虑也会上线,后续再快速迭代。
性能测试交付件:
测试计划
测试脚本
测试程序
测试报告
性能测试成功要素:
性能测试上手较难,是一门融合测试、开发、运维、需求调研、架构、协调管理等综合技能的学科,掌握一个测试工具只是最基础的一步。
性能测试有几大难点:
需求分析
场景设计
性能诊断调优
环境搭建和模拟
以上笔者的经历更像一张横向的知识网,创建了一个交流平台 914172719 ,群内有各种技术同行交流、学习资料、面试经验等。其中用到jenkins、docker、moutebank、python编程等,还需要花更多的精力去深入学习,当每项技能都能掌握到一定深度,才能称为一个完整的知识体系。
最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!