13.1 性能测试过程概述
13.2 性能测试设计
需要关注的问题:事务需求、技术需求、系统要求、团队要求
分析从五个方面分析:需求调研、事务模型、场景模型、数据设计、环境设计
13.2.1 需求调研
① 测试系统预研:系统相关知识、系统目的、技术架构、业务架构、系统相关文档、负责人
② 与项目经理访谈:当前开发状态、期望的性能目标、测试起止时间、所处生命周期
③ 与业务专家访谈:关键业务、主要用户场景、用户交易发生概率、期望响应时间;关键业务要考虑业务使用频率、业务的优先级和业务占用资源的情况(重点关注)
④ 与技术专家访谈:获取关键业务的技术路径、获取合适的技术支持工程师;确定关键业务是否覆盖到被测系统的所有业务请求点;确定业务使用到的关键数据库表;技术支持人员配合实施监控配置
⑤ 与数据库管理员访谈:获取数据准备和测试数据建模的建议。
⑥ 与客户代表访谈:获取用户在数据建模上的支持、保证业务流程的正确性
13.2.2 业务模型
用于指导如何将具体的业务变成可重复运行的代码;
主要从三个方面分析:
业务流程列表:创建关键业务流程列表,以反映最终用户在系统上执行的活动;业务流程列表反应每个业务在高峰时期时操作的用户数
交易列表:确定关键业务的负载情况、交易量等信息。日常任务、高峰期任务、Web服务器数据库服务器负载情况、风险。
百分比模型和交易量评估:百分比模型(被测业务占整个业务交易笔数的百分比);交易量评估:通过历史数据来估算系统负载能力,通常使用的方法为80-20原理(指每个工作日中80%的业务在20%的时间内完成)
13.2.3 场景模型
场景设计:使用的场景设计类型(手动场景、目标场景)、并发用户数、虚拟用户加载过程、脚本持续运行时间、虚拟用户释放过程、使用的负载机、IP欺骗技术
RTS策略设计:迭代数、迭代时间间隔、日志收集信息、脚本运行方式(进程或线程)
场景监控:监控对象、服务器、相关计数器
13.2.4 数据设计
性能测试前需要准备的基础数据(例如查询100条数据与100万条数据响应时间不同)
性能测试参数化需要用到的数据:自己构建的数据、历史数据
13.2.5 环境设计
系统运行的拓扑图、服务器和测试及环境、环境的备份与恢复
13.3 性能测试构建
脚本开发、场景设计、搭建测试环境、准备数据
13.4 性能测试过程执行
13.5 性能测试分析、诊断、执行、调节