性能测试过程分为四个阶段:设计,构建,执行和分析、诊断和调节。如图 16-5 所示。
图 16-5 性能测试过程
四个阶段的任务分别如下:
● 设计阶段定义待测试的业务流程、业务的平均处理量、业务处理量的最高峰值、组合业务流程、系统的整体用户和响应时间目标。
● 构建阶段涉及设置和配置测试系统及基础设施、使用自动化性能测试解决方案构建测试脚本和负载方案。
● 执行阶段包括运行负载方案和测量系统性能。
● 分析、诊断和调节阶段主要测量系统性能并使负载测试进入下一级别,重点查找问题原因以帮助开发工程师迅速解决问题,并实时调节系统参数以提高性能。
各阶段详细任务分别如下。
1// 设计阶段。
设计阶段是性能测试团队与业务领域的经理合作以收集性能要求的主要业务响应时间。可以将需要关注的问题分为四个方面:业务需求、技术需求、系统要求和团队要求。业务要求需通过业务分析师或最终用户收集。一个全面的业务要求应该考虑以下问题:
技术要求应该通过系统管理员和数据库管理员(DBA)进行收集并确认。这些人员可能是企业开发组或运营部门的成员,或同时隶属这两个部门。一个全面的技术要求应该考虑以下问题:
收集系统的要求至关重要,这些是管控负载测试流程通过/未通过状态的系统高级目标,这些通常与来自业务的经理合作而达成一致,一个全面的系统要求应该考虑以下问题:
80/20 原理是指每个工作日中 80%的业务在 20%的时间内完成。每年业务量集中在 8 个月,每个月 20 个工作日,每个工作日 8 小时,每天 80%的业务在 1.6 小时完成。
【实例】如去年全年处理业务约 100 万笔,其中 15%的业务处理中每笔业务需对应用服务器提交 7 次请求;70%的业务处理中每笔业务需对应用服务器提交 5 次请求;其余 15%的业务处理中每笔业务需对应用服务器提交 3 次请求。根据以往统计结果,每年的业务增量为 15%,考虑到今后 3 年业务发展的需要,测试需按现有业务量的两倍进行。
①每年总的请求数为:(100×15%×7+100×70%×5+100×15%×3)×2=1000 万次/年
②每天请求数为:1000/160=6.25 万次/天
③每秒请求数为:(62500×80%)/(8×20%×3600)=8.68 次/秒
即服务器处理请求的能力应达到约 9 次/秒。
最后是团队要求阶段,需要确定性能测试团队成员。提前收集完整的业务、技术、系统和团队要求,是有效和成功地进行负载测试的基础。
2// 构建阶段。
在构建阶段,需要将设计阶段所确定的业务流程和工作量转变为用来推动可重复、真实负载的自动化组件。可以从两个方面来关注:自动化设置和环境设置。
自动化设置包括一系列由性能工程师执行的序列任务:
第一,制作脚本:将存档的业务流程记录到自动化脚本中。
第二,交易:插入计时器来产生业务所需要的逻辑计时。
第三,参数化:用数据池来代替所有的输入数据(如登录用户名和密码),以便每个虚拟用户使用唯一的数据访问应用程序。
第四,方案:通过为不同的用户组分配不同的脚本、连接性和用户行为来创建生产工作量。
第五,监视:确定要监视哪些负载服务器或机器。
①历史数据指真实存在的数据,只要从数据库抽取出来即可。
②创建数据则是测试过程中通过一些方法生成批量数据,创建数据的方法通常包括 UltraEdit结合 Excel 制作数据、数据库、Shell 编程和 Java 编程等。所有创建的数据都应该满足数据模型的要求,否则数据在调用过程中会产生错误。
构建阶段的最终结果是得到一套自动化的方案,可在配置好的可用环境中随意执行。
3// 执行阶段。
刚刚接触性能测试的人员,常常误认为执行只是一个单一事件,而事实上它是一个多步骤的流程,包括多种类型的性能测试。每种类型的测试所提供的信息对于了解发布应用程序的业务风险都是必不可少的。
常见的几类负载测试如下:
4// 分析、诊断和调节阶段。
在完成负载测试的设计、构建和执行阶段后,项目将进入分析、诊断和调节阶段,这些阶段是实时和反复进行的,负载测试解决方案应该提供有关最终用户、系统级别和代码性能数据的全面信息,同时查找导致性能降低的可能原因,这些信息能使你确定是否已经达到性能目标。
在监控、分析、诊断和调节过程中可以获取大量的信息:
关于“性能测试的过程”就学习到这里了,每个工作日小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!