很多人的认为性能测试只需要学好性能测试工具即可,但实际测试过程中性能测试工具只是将性能测试策略转化为可执行的脚本并产生压力,但在进行性能测试前还需要确定性能测试策略,这个过程很重要,即性能测试设计和性能测试构建,只有正确的性能设计能可以保证性能测试的正确性,否则测试出来的数据不一定正确,所以有必要对性能测试的整个过程有一个详细的理解,性能测试的过程主要包括四个阶段:性能测试设计、性能测试构建、性能测试执行和性能测试分析、诊断、调节。
设计阶段是性能测试团队与业务领域的经理合作以收集性能要求的主要业务响应时间。可以将需要关注的问题分为四个方面:业务需求、技术需求、系统要求和团队要求,分析时主要从五个方面分析:需求调研、业务模型、场景模型、数据设计和环境设计,其中业务模型是该阶段工作中最重要的一项工作。
需求调研主要是确定本次性能测试活动需要测试的对象以及被测试对象的一些属性,在需求调研过程中需要完成以下几部分工作:
1)测试系统预研;
2)与项目经理访谈;
3)与业务专家访谈;
4)与技术专家访谈;
4)与数据库管理员访谈
5)与客户代表访谈;
测试系统预研
根据被测试系统的资料,尽可能多的了解被测试系统相关知识,通常包括系统目的、系统的技术架构、系统的业务架构等。在该阶段主要完成的工作内容如下:
-- 确定被测试系统的开发组织和组织负责人;
-- 向项目经理申请被测试系统相关资料;
-- 一些其它的例外情况沟通;
与项目经理访谈
与项目经理访谈主要是需要获取性能测试实施工作开展的相关信息、当前开发状态和期望的性能目标,包括性能测试实施起止时间和被测试系统所处的生命周期。
与业务专家访谈
与业务专家访谈主要是为获取性能测试业务模型设计的相关数据,如被测试系统的关键业务、主要用户场景、用户操作核心业务交易的概率或百分比、期望响应时间等业务层面信息,除此之外还需要从业务团队中获得相关的业务工程师来支持后续脚本的开发,以避免脚本开发失败或出现错误。
那么什么样的业务才是关键业务呢?分析关键业务主要考虑三个方面:该业务使用频率、业务的优先级和业务占用资源情况。
业务使用频率:是指客户操作该业务的频率,操作频率越大说明失效的概率越大。
业务的优先级:业务的优先级是指业务的等级,优先级越高说明客户操作该业务的概率越大,一般的从业务的角度来说,核心业务和基本业务的优先级比较高,所以性能测试时需要关注这两类业务。
业务占用资源情况:操作一次该业务对系统资源消耗的情况,如果业务对系统资源消耗高的,那么可能让系统处于高负荷的运行状态,这样业务失效的风险就变大了。
所以综上,关键业务是那些使用频率高、优先级高和消耗资源高的业务,这也是性能测试过程中需要重点关注的业务。
与技术专家访谈
与技术专家访谈需要确定以下内容:
-- 获取关键业务的技术路径,完善被测试系统的关键业务和用户场景;
-- 从技术经理处获取合适的技术支持工程师;
-- 请技术经理确定关键业务是否覆盖到被测试系统的所有业务请求点;
-- 确定这些业务所使用到的关键数据库表;
-- 监控阶段,技术支持人员配合实施监控配置工作;
-- 一些特殊技术的支持,如加密、压缩等;
与数据库管理员访谈
与数据库管理员访谈主要需要获取数据准备和测试数据建模的建议,主要包括以下几个方面的内容:
-- DBA辅助进行数据库的备份与恢复工作;
-- 为数据建模提供建议;
-- 为建基础数据模型做准备;
与用户代表访谈
与用户代表访谈主要是需要获取用户在业务建模上的支持,保证业务流程的正确性。