性能测试的基本流程
本帖最后由 PaaS小魔仙 于 2018-12-7 15:48 编辑性能测试一般的压测流程:需求收集、测试准备、测试执行、结果分析与调优、测试报告与总结。
1.1 需求收集性能测试需求一般在项目需求阶段就可以收集,测试人员进入项目应尽快开展此项活动。1) 性能需求的来源:需求文档、问卷调查、历史数据统计分析等。如果没有历史统计数据,则通过问卷调查、场景收集等方法向业务人员、BA、项目经理等收集性能场景。
2) 需求收集的内容: A. 系统信息:线上环境硬件、参数配置、系统架构与部署方式、数据库产品、使用的中间件、协议、系统数据规模等 B. 业务信息:关键业务逻辑与处理流程、交易列表、交易量信息、业务分布规律等 C. 性能需求评估:在实施性能测试之前,我们需要对被测系统做相应的评估,主要目的是明确是否需要做性能测试。性能测试工程师根据需求调研所获取的信息进行分析,明确该测什么、性能指标是多少,测试通过or不通过的标准。
1.2 测试准备方案阶段一般有如下活动:
1) 建立业务模型 A. 列出典型场景 B. 统计各场景高峰日交易数 C. 统计高峰日高峰时段的交易量占比排行 D. 生成业务模型
2) 建立测试模型相对于业务模型来说中,测试模型是一种实现模型,在许多时候,它是根据业务模型映射到性能测试方案和工具的结果,一般方法有正向计算或反向控制。 A. 确定测试场景 B. 确定测试用例(用哪些脚本来覆盖测试场景)。
3) 设计性能测试方案结合进度、风险和测试资源确定测试方案,需要考虑的资源包括: A. 测试环境资源(包括环境架构配置、时间窗、测试数据) B. 工具资源 性能测试工具:云性能测试服务 CPTS、Loadrunner C. 监控工具:Nmon监控unix和linux操作系统CPU、IO和内存的使用情况。人力资源(包括负责性能测试的测试人员和相关人员包括不限:SA、实施人员、系统管理员、调优专家等)
4) 输出性能测试计划一般小型项目的性能测试计划可以和功能测试计划合并:若大型项目性能测试有专门的资源来执行,则建议写单独的性能测试计划。 在方案中需要描述:测试需求、启停准则、测试模型设计、测试策略、测试内容、测试环境与工具需求,以及各个阶段的输出文档。还需说明性能测试工作的时间计划安排、预期的风险与风险规避方法等。
1.3 测试执行1) 环境搭建及数据准备环境搭建完成后,要验证下性能测试的相关功能,保证功能可用。正式测试之前还需要准备数据,数据分两种,一种是模拟历史数据用,这种数据一般只有数量级的要求,可以让开发导入历史数据或按照业务规则插入一些数据;还一种是业务执行需要的数据,这种数据要求可以实现正常的业务,比如测试待办审批操作,必须要有待审批的记录,这种数据可以找开发人员造,也可以自己弄LR脚本生成真实的业务数据。
2)测试执行测试执行一般就是按照测试用例录制脚本、优化脚本、创建测试场景运行。
1.4 结果分析与调优测试执行结束后,要分析测试结果,看是否达到预期的性能指标,如果不达标,则及时反馈性能问题,和开发人员一起定位性能瓶颈,开发人员做出优化后再进行测试,直到测试通过。
1.5测试报告与总结
最终输出性能测试报告,报告要能展示出性能测试的最终成果,展示系统性能是否符合需求,是否有性能隐患。性能测试报告中需要阐明性能测试目标、性能测试环境、性能测试数据构造规则、性能测试策略、性能测试结果、性能测试调优说明、性能测试过程中遇到的问题和解决办法等。并对所有的重要测试资产进行归档保存,以便为下次性能测试提供数据。
页:
[1]