性能测试分析

一.软件测试分类数据库

二 狭义与广义的性能测试服务器

三 测试类型介绍网络

四 负载测试与压力测试的区别架构

五 性能测试、负载测试和压力测试三者的关系和区别并发

六 为什么要进行性能测试(性能测试的目的,性能测试的好处)  
七 性能测试步骤
工具

八 常见性能测试工具及常见性能监控工具
性能

========================================================
测试

一 软件测试分类优化



二 狭义与广义的性能测试spa

1.狭义的性能测试

         A. 性能测试方法是经过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否知足生成性能要求。即在特定的运行条件下验证系统的能力情况

         B. 狭义的性能测试主要是测试系统是否知足要求,是一种验收测试其中一项功能。主要针对关心业务指标的测试

2.广义的性能测试

          广义的性能测试包含负载测试、压力测试配置测试、并发测试、可靠性测试、性能测试(狭义)
------------------------------------------------
三 测试类型介绍

1.性能测试

         A. 性能测试方法是经过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否知足生成性能要求。即在特定的运行条件下验证系统的能力情况。

         B. 主要强调在固定的软硬件环境、肯定的测试业务场景下,其主要意义是得到系统的性能指标。

2.负载测试

        A. 在给定的测试环境下,经过在被测系统上不断增长压力,直到性能指标超过预约指标或某种资源使用已经达到饱和状态,目的是了解系统性能容量和处理能力极限。负载测试的主要用途是发现系统性能的拐点,寻找系统可以支持的最大用户、业务等处理能力的约束。

        B. 也能够理解为扩展性测试(Scalability Testing),即在固定测试环境,在其它测试角度(负载方面)不变的状况下,变化一个测试角度并持续增长压力,查看系统的性能曲线和处理极限,以及是否有性能瓶颈存在(拐点)。主要意义是从多个不一样的测试角度去探测分析系统的性能变化状况,配合性能调优。测试角度能够是并发用户数、业务量、数据量等不一样方面的负载。


3.压力测试

       A. 测试系统在必定饱和状态下系统可以处理的会话能力,以及是否出现错误,通常用于稳定性测试。

       B. 能够理解为资源的极限测试。测试关注在资源处于饱和或超负荷的状况下,系统可否正常运行,是一种在极端压力下的稳定性测试。

       C. 压力测试的目的是调查系统在其资源超负荷的状况下的表现,尤为是对系统的处理时间有什么影响。主要验证系统的可靠性。

4.配置测试

     A. 经过对被测系统的软硬件环境的调整,了解各类不一样环境对性能影响的程度,从而找到系统各项资源的最有分配原则。

        B. 主要用于性能调优,在通过测试得到了基准测试数据后,进行环境调整(包括硬件配置、网络、操做系统、应用服务器、数据库等),再将测试结果与基准数据进行对比,判断调整是否达到最佳状态

5.并发测试

        A. 模拟并发访问,测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题。

        B. 测试目的并不是为了得到性能指标,而是为了发现并发引发的问题。好比系统死锁、资源竞争。

6.可靠性测试

        A. 经过给系统加载必定的业务压力的状况下,让应用持续运行一段时间,测试系统在这种条件下是否可以稳定运行。

        B. 须要和压力测试区分开,二者的测试环境和测试目的不同。压力测试强调在资源极限状况下系统是否出错,可靠性测试强调在必定的业务压力下长时间(如24×7)运行系统,关注系统的运行状况(如资源使用率是否逐渐增长、响应是不是否愈来愈慢),是否有不稳定征兆。

------------------------------------------------

四 负载测试与压力测试的区别

     负载测试:在必定的工做负荷下,给系统形成的负荷及系统响应的时间。是测试软件自己所能承受的最大负荷的性能测试;

     压力测试:在必定的负荷条件下,长时间连续运行系统给系统性能形成的影响。是一种破坏性的性能测试。

五 性能测试、负载测试和压力测试三者的关系和区别
负载测试和压力测试,都属于性能测试的子集。下面举个跑步的例子进行解释。

——性能测试,表示在一个给定的基准下,能执行的最好状况。例如,在没有负重的状况下,你跑100米须要花多少时间或者说你最快的速度(这里,没有负重是基准)

——负载测试,也是性能测试,可是他是在不一样的负载下的。对于刚才那个例子,若是扩展为:在50公斤、100公斤……等负载的状况下,你跑100米须要花多少时间?

——压力测试,是在强度状况下的性能测试。对于刚才那个例子,若是改成:在一阵强风的状况下,你在负重或没有负重的状况下,跑100米须要花多少时间?

        性能测试是动力,负载测试是载重,压力测试是强度

------------------------------------------------

六 为什么要进行性能测试(性能测试的目的,性能测试的好处)            

         目的是验证软件系统是否可以达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的

      1.评估系统的能力:测试中获得的负荷和响应时间数据能够被用于验证所计划的模型的能力,并帮助做出决策

      2.识别体系中的弱点:受控的负荷能够被增长到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。

      3.系统调优:重复运行测试,验证调整系统的活动获得了预期的结果,从而改进性能。检测软件中的问题:
                 长时间的测试执行可致使程序发生因为内存泄露引发的失败,揭示程序中的隐含的问题或冲突

      4.验证稳定性、可靠性:在一个生产负荷下执行测试必定的时间是评估系统稳定性和可靠性是否知足要求的惟一方法

实际体现(须要注意性能测试成本因素)

    1.优化性能

    2.最小化成本

    3.最小化风险

    4.交付高质量的系统

性能测试目标

    1.评价系统当前性能

    2.寻找瓶颈,优化性能

    3.预测系统将来性能、稳定性
------------------------------------------------
七 性能测试步骤

1.性能测试注意事项

2.性能测试步骤

3.常见性能指标

4.性能计数器

5.LoadRunner 工具性能测试的步骤


1.性能注意事项

   1.1 优化性能

   1.2 最小化成本

   1.3 最小化风险

   1.4 交付高质量的系统



须要注意性能测试成本因素

 • 评价系统当前性能

 • 寻找瓶颈,优化性能

 • 预测系统将来性能、稳定性

-----------------------------------Start----------------------------------

2.性能测试步骤



-----------------------------------One----------------------------------

  ——软件架构

                  了解软件的工做过程,好比这个是提供页面访问功能的仍是提供API接口服务的,或者是其余的一些原创调用服务

  ——通讯协议

                 了解通讯协议,才能根据通讯协议选择合适的工具,选择对的协议进行后期的脚步编写、执行等工做

  ——逻辑功能

                 了解逻辑功能,才能对需求有进一步理解:如需求说要知足1000人在线,可是这1000人都在作什么,每种功能事务的人数是多少?


 -----------------------------------Two----------------------------------

——需求分解

                 对一句话需求进行分解、分解到各个功能的需求:如该论坛系统支持10W人同时在线:你须要根据现有的论坛的在线人数、发帖数、PV数进行计算、获得新系统的10W在线对于的每秒发帖数、每秒PV数等具体到单一功能、单一事务的性能需求

  ——需求理解

                 针对分解的需求在根据其余的需求或者行业规则,制定出每种事务、单一功能具体的性能指标:如响应时间、每秒事务数等数据,好比页面打开速度遵循135原则

 ------------------------------------------------------------------------

3.常见性能指标

 -----------------------------------Three----------------------------------


   ——选择理念

                  专业、稳定、高效

                  如今性能测试工具:我的建议选择loadrunner

   ——特色

                 专业--工业级性能测试解决方案

                 稳定—HP国际公司提供

                高效使用范围广、完善的帮助文档
 -----------------------------------Four----------------------------------

 ------------------------------------------------------------------------

4.性能计数器

 -----------------------------------Five----------------------------------

 -----------------------------------Six----------------------------------


 ——验证

        回归测试主要验证性能问题解决状况

——优化

        对于解决上轮测试未发现的问题
 -----------------------------------------------------------------------

5.LoadRunner 工具性能测试的步骤

 1.Ø规划负载测试

              定义性能测试要求,例如并发用户数量、典型业务流程和要求的响应时间

 2.Ø建立 Vuser脚本

             在自动化脚本中录制最终用户活动

 3.Ø定义场景

            使用 LoadRunner Controller 设置负载测试环境、手动、面向目标

 4.Ø运行场景

           使用 LoadRunner Controller 驱动、管理并监控负载测试

 5.Ø分析结果

         使用 LoadRunner Analysis 建立图和报告并评估性能

 -----------------------------------------------------------------------

内容回顾



------------------------------------------------

八 常见性能测试工具及常见性能监控工具

A商用

    –HPMercury LoadRunner

    –IBMRational Robot

    –QALoad

    –IBMPerformance Tester

    –WAS-MicrosoftWeb Application Stress Tool

    –BorlandSilk Performer

    –RadviewWebload

    –PureLoad

B开源

      –Jmeter

      –OpenSTA

      –ABApache Bench

------------------------------------------------

系统监控

     -NMON

     -Top

     -ProcessMonitor

     -Windows自带性能监控工具

     -Sitescope

     -loadrunner

------------------------------------------------

相关文章
相关标签/搜索