性能测试浅谈一(基本概念)

1. 性能测试不仅仅包括测试,还包括分析和调优;

2. 性能测试概念:性能测试针对系统的性能指标,建立性能测试模型,制定性能测试方案,制定监控策略,在场景条件之下执行性能场景,分析判断性能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值;

3. 从概念中理解出:

     1> 性能测试需要有指标;

     2> 性能测试需要有模型;

     3> 性能测试需要有方案:包括测试环境、测试数据、测试模型、性能指标、压力策略、准入准出和进度风险;

     4> 性能测试中要有监控:要有分层,分段的能力,要有全局监控,定向监控的能力;

     5> 性能测试要有预定的条件:包括软硬件环境,测试数据,测试执行策略,压力补偿等内容,在场景执行前,这些条件应该是确定的;

     6> 性能测试中要有场景:在既定的环境(包括动态扩展等策略)、既定的数据(包括场景执行中的数据变化)、既定的执行策略、既定的监控之下,执行性能脚本,同时观察系统各层级的性能状态参数变化,并实时判断分析场景是否符合预期;

         a> 基准性能场景:单交易的容量,为混合容量做准备(误区:上几个线程跑三五遍脚本叫基准测试,那只是场景执行之前的预执行,用来确定有没有基本的脚本和场景设计问题,不能称之为一个分类);

         b> 容量性能场景:最核心的性能执行部分,根据业务复杂度的不同,这部分的场景会设计出很多个;

         c> 稳定性性能场景:最核心的元素是时间(业务模型已经在容量场景中确定了),时间的设置来自于运维周期,而不是老板,产品和架构等这些人的心理安全感;

         d> 异常性能场景:前提是要有压力,在压力流量之下,模拟异常;

         注意:场景不同于用例,用例限定在描述测试脚本和测试数据,而场景描述需要实时的判断和动态的分析,即性能结果;

     

 

 

     7> 性能测试中需要有分析调优:性能测试工程师可以做瓶颈判断,性能分析,优化的人并不多,大部分的人对性能的定位也说是性能验证,并不包括调优的部分,这种不能称之为完整的性能项目(涉及到相关性分析,趋势分析,证据链查找等手段);

           对于性能项目要不要进行调优,如下划分:

           a> 新系统性能测试类:一般要求测试出系统的最大容量;

           b> 旧系统新版本性能测试类:一般和旧版本对比,只要性能不下降就可以,根据历史数据推算容量,对调优要求一般都不大;

           c> 新系统性能测试优化类:不仅要测试出最大容量,还要求调优到最好;

          对性能团队的职责定位有如下几种:

           a> 性能验证:针对给定的指标,只做性能验证。第三方测试机构基本上都是这样做的;

           b> 性能测试:针对给定的系统,做全面的性能测试,可以得到系统最大容量,但不涉及到调优;

            c> 性能测试 + 分析调优:针对给定的系统,做全面的性能测试,同时将系统调优到最优状态;

    8> 性能测试肯定要有结果报告:重点在报告中写上调优前后的 TPS、响应时间以及资源对比图

 

  概念图如下:

 

posted @ 2020-03-17 16:55  宁静~朝夕  阅读(185)  评论(0)    收藏  举报