开始做性能测试,08-10年,学习loadrunner使用和QTP使用的时候,性能测试主要是看《软件性能测试过程详解与案例剖析》,段念; 《LoadRunner性能测试实战》 作者:陈绍英 刘建华 金成姬 这两本书,翻了其他一些书,感觉第一本书看的时候,因为刚入门,收获最大。感觉技术上收获最大的还是郭欣的《构建高性能web站点》。现在是重新温习,在听极客时间的茹炳晟专栏。恍惚10年,性能测试的认识还算是有提高,这里简单的对照极客时间专栏做点小结。
一、性能测试的关键工作
一般中级工程师最关心录制脚本和编写脚本。关注点就是Loadrunner用得很溜。其中像参数化、场景设置、虚拟IP等等,甚至脚本编程等等,确实是很有炫技的感觉。但到最后,性能测试能不能做好:一是性能需求的收集和分析,涉及到业务层面、用户模型,沟通能力和分析能力都很重要;二是性能测试结果分析,这个就涉及到系统架构层面。所以这些是高级工程师要理解和掌握的,实际是个无底洞。
二、性能测试的主要工作步骤
简单来说,性能测试可以分成以下6个阶段:
- 性能需求收集以及用户业务模型设计
- 测试计划设计:测试场景设计、负载计划制定、测试数据和测试资源准备、形成测试计划(测试方案)
- 录制并增强虚拟用户脚本:识别协议、录制脚本、完善脚本(数据关联,例如sessionID;参数化,例如用户相关数据、IP等等;加入检查点,判断返回结果时期望的)、验证脚本准确性(并发用户不带思考时间的情况下,脚本执行通过,一般就可以了)
- 创建并定义性能测试场景:这个其实很关键,实际就是模拟业务和用户模型:是否加集合点,是否需要虚拟IP,各种业务比例,用户加载和释放的时间,间隔时间(思考时间)等等。但就像我上篇吐槽的,往往被初级用户忽略。
- 执行性能测试场景,适时调整:执行前,要先确认一下网络环境、服务器资源、业务用户等等;执行中,要关注监控的各项指标;关注业务完成率和失败率,数据有异常需要适时调整。
- 分析测试结果,形成测试报告:这部分其实比较专业,要注意哪些是需要过滤掉的,要是有人直接拷贝个图给你,直接diss之,明显是初级用户。碾压无妨。
很多测试如果是内部产品,可能第一、二步相对比较显而易见,直接到第三步了。还有很多时候,可能把3-4-5直接合并成测试执行阶段;或者弄成测试准备和测试执行两个阶段,实际要做的都还是这些事。
三、性能测试的一些基本内容
- 基准测试: 对各个业务的一个单用户的基准测试,评估基本情况,实际录制脚本阶段,验证脚本的时候就应该做。
- 稳定性测试(可靠性测试、强度测试)
- 并发测试
- 容量规划测试
- 大数据量测试
- 性能达标测试
每个名字对应着不同的测试重点,需要根据实际情况来决定,包括测试名字。