欢迎测试同仁一起交流!

发布新日志

  • 如何去认识Web网站的性能测试工具

    2008-11-06 15:13:00

    随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容发生服务器响应速度变慢甚至服务中断。为了避免这种情况,需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试,来测试静态HTML页面的响应时间,甚至测试动态网页(包括ASP、PHP、JSP等)的响应时间,为服务器的性能优化和调整提供数据依据。
    O;p0IF-]215623  我推荐各位Web 2.0开发测试人员使用Microsoft 的Web Application Stress Tool这个工具软件,这个微软提供的小工具仅9.58M,很小巧且实用。虽然功能上比不了专业的LoadRunner,但LoadRunner体积庞大,价格不菲,一般的企业也不会花那么多钱去购买LoadRunner,而微软的WAS则是完全免费,并且主要的功能都有,够用就行。51Testing软件测试网Xs+D7C*N)[
      Microsoft Web Application Stress Tool能有效测试一个网站的负载性能,这个软件可以通过脚本模拟100个强并发用户的访问,并模拟实际用户的一些点击操作,WAS还可以连接上远程Windows网站服务器的性能计数器(Performance Counter),通过对服务器性能(CPU/内存等)的性能分析来找到系统的瓶颈。CPU使用百分比反映了处理器开销,CPU使用百分比持续地超过75%是性能瓶颈在于处理器的一个明显的迹象。51Testing软件测试网t-Rui/uy
      每次测试运行结束后WAS会生成详细的报表,WAS报表可以从View菜单选择Reports查看。51Testing软件测试网+J M7}1Y\
      另外,CSDN也总结了一些其他的测试工具,包括性能测试工具和功能测试工具,前十大测试工具排名如下:
    j&WR'v0Y8c*v215623  业级自动化测试工具WinRunner51Testing软件测试网},TW p@_JJz
      Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。
    5AP$or8Sb s2V215623  工业标准级负载测试工具Loadrunner
    9Be)e;m I FM+L5M?215623  LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
    p#aMf(V*zd?215623  全球测试管理系统testdirector51Testing软件测试网$?]1od9t
      TestDirector 是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。
    PMN L*u)D-|!I215623
    D-G;F M0B)t1ZA3M215623  功能测试工具Rational Robot51Testing软件测试网0V6KPe#l+}$\

    | LN4|"f5?%i215623  IBM Rational Robot 是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面 IBM Rational TestManager 上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。51Testing软件测试网,DW;o&PK}.w7D

    5gO6dI B9}f215623  单元测试工具xUnit系列51Testing软件测试网 dL^zlJ,q}#{

    {C*RLY*fo aJ!e215623  目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnit(java),CppUnit(C++),DUnit (Delphi ),NUnit(.net),PhpUnit(Php )等等。该测试框架的第一个和最杰出的应用就是由Erich Gamma (《设计模式》的作者)和Kent Beck(XP(Extreme Programming)的创始人 )提供的开放源代码的JUnit.51Testing软件测试网"C7mz5FV0K(Y?O1P8s*~

    1I3lxA,J.Y*`x215623  功能测试工具SilkTest51Testing软件测试网HF/i@ M}[

    FBpO/v;A}215623  Borland SilkTest 2006属于软件功能测试工具,是Borland公司所提出软件质量管理解决方案的套件之一。这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误。
    *l/}*^*FS$m215623
    z_h"U0M(zY f215623  性能测试工具WAS
    :Wq.l%i3?%[Fu x"F21562351Testing软件测试网V{8j*Xrm3\4W
      Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。51Testing软件测试网2nq%] p*P0Zui

    3HWT hdC215623  自动化白盒测试工具Jtest51Testing软件测试网#k*WT,_,H-l
    51Testing软件测试网kv-S(B*a)dZ
      Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。parasoft同时出品的还有C++ test,是一款C/C++白盒测试工具。
    %s)z}&z(up21562351Testing软件测试网V'D2\2C p0P{pz'w^
     功能和性能测试的工具JMeter
    5LY4g:X/b1t:_ h21562351Testing软件测试网;S0AqO*aQ(pz
      JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。
    %b r!E8D2I/bl215623
    &V(dL0~y;D215623  性能测试和分析工具WEBLODE
    .hW-U'`Ry21562351Testing软件测试网-B l$L|qk}
      webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。
  • 单元阶段的性能测试可以考虑从以下几个方面进行:

    2008-11-06 14:42:48

    代码效率评估;
     应用单元性能测试工具
     数据库优化。
            应该注意每一行代码的效率,所谓“积少成多,水滴石穿”,一些看似细小的问题可以经过多次的执行累积成一个大的问题,也是一个量变到质变的过程。例如,在用C#编写代码的时候,有些程序员喜欢在一个循环体中使用string字符串变量,类似下面的代码:
    static void Loop1()
    {
         string digits = string.Empty;

         for(int i=0;i<100;i++)
         {
              //累加字符串
              digits+=i.ToString();
         }
         Console.WriteLine(digits);
    }

            这样一段代码其实是低效率的,因为string是不可变对象,字符串连接操作并不改变当前字符串,只是创建并返回新的字符串,因此速度慢,尤其是在多次循环中。应该采用StringBuilder对象来改善性能,例如下面的代码就会快很多:

    static void Loop2()
    {
         //新建一个StringBuilder类
         Stringbuilder digits = new StringBuilder();

         for(int i=0;i<100;i++)
         {
              //通过StringBuilder类来累加字符串
              Digits.Append(i.ToString());
         }
         Console.WriteLine(digits.ToString());
    }

            类似的问题有很多,它们的特点是单个问题都很小,但是在一个庞大的系统中,经过多次的调用,问题会逐渐地被放大,直到爆发。这些问题都可以通过代码走查来发现。

Open Toolbar