性能测试流程
一、计划测试:在任何类型的测试中,编写测试计划是必要的步骤。有条不紊,计划周密的测试计划,可以确保在执行中能够有章可循,计划测试阶段需要经历以下几个环节。
1、分析系统阶段:了解测试对象,确认系统的架构和所使用的协议,对工具的可行性进行分析,对整个业务进行熟悉,确认相关的数据和业务操作可以被工具录制回放。
1.1 确定协议
1.2 熟悉业务流程
1.3 获得系统相关信息:如确定哪些动态数据需要关联。
2、定义测试目标:定义测试目标也就是要知道用户想要什么,用户怎么做这件事情,知道多少用户做这件事情,知道对应的性能指标是多少。以下几个方法可以获得系统性能需求。
2.1 通过用户提供的数据进行分析
2.2 通过系统日志
2.3 通过参考同类业务
2.4 通过80/20原则:80%的用户只会访问20%的功能。性能测试主要集中在用户最常用的功能上。
3、明确定义概念:将需求规格转化为性能测试工具的目标。
4、编写性能测试计划:需要编写性能测试计划,性能测试方案和测试用例。测试计划是从宏观上规划测试活动的范围、方法及资源配置。测试方案和测试用例是完成测试任务的具体战术。
4.1 性能测试计划内容包括:文档目的,项目背景介绍,输入文档,系统运行环境(包括网络拓扑图,软硬件配置),测试内容,非测试内容,资源安排(包括性能测试工具,角色和职责),进度安排,交付件和风险分析等。
4.2 性能测试方案内容包括:文档目的,测试目的,具体测试策略,业务抽取(包括明确需要进行测试的主要业务,编写测试脚本;明确用户行为模型及性能指标,设计测试场景),监控方式,场景检查。
4.3 编写性能测试用例:测试用例内容包括用例编号,用例名称,输入数据,用例步骤,实际结果,预期结果,备注。
5、搭建测试环境:可以通过编写《测试环境搭建手册》完成对搭建环境的详细介绍。
5.1 测试平台评估:可以通过建模的方式实现低端硬件对高端硬件的模拟,或者通过群集的方式计算。
5.2 数据生成
二、创建脚本
1、录制脚本后需要对录制的脚本进行回放验证,确保脚本回放正确。
2、通过参数化、关联、集合点和运行设置对用户行为进行模拟。
3、添加事务及手工事务检查,完成对响应时间的监控。
三、创建场景:在场景中通过完成性能负载和系统监控,可以将脚本的单个用户行为转化为真实用户负载,并将负载下的系统状态收集整理,为后面的分析提供强有力的支持。
1、 场景设计:LoadRunner11提供的场景设计方法有目标场景设计方法和手工场景设计方法,Real-World场景设计方法,Basic场景设计方法。
1.1 目标场景设计方法:主要设置一个需要测试的目标,Controller会自动逐渐增加负载,测试系统是否稳定地达到预先设定目标。测试目标包括:Virtual Users,Hits per Second,Transaction per Second,Transaction Peponse Time,Pages per Minute。
1.2 手工场景设计方法包括Scenario模式和Group模式。这两种模式包括Real-World场景设计方法(可以设置多个负载峰值),Basic场景设计方法(只能设置一个负载峰值)。
2、负载生成器管理:负载均衡技术,IP欺骗。
3、负载监控:场景用户状态,场景运行状态,计数器管理。
四、运行场景:运行场景Checklist(帮助我们完成场景执行前的检查工作),场景运行记录(对场景执行后的结果做一个简单的记录)。
五、分析性能数据
六、性能测试报告:定性型报告,分析型报告和比较型报告。性能测试报告内容包括测试目的,测试环境,测试工具及测试方法,测试结果数据列表,比较分析和总结性能测试结论。
参考资料:《性能测试进阶指南——LoadRunner 11实战》