Let's Go!

发布新日志

  • jmeter_distributed_testing : jmeter分布式测试

    2009-08-10 14:03:38

     

      好久没写了,加油。。。。

      loadrunner可以很容易实现分布式测试,就是多台压力机同时对服务器施压,
    那在Jmeter中怎么实现呢,下面就来看看吧:

    jmeter参考文档写的很多,其实就是几步的事:

    1.确保主控机和受控机中jmeter都可以正常启动,关闭防火墙等

    2.启动受控机中bin目录下的jmeter-server.bat

    3.找到主控机bin目录下的jmeter.properties
      在这个文档里找到 remote_hosts=127.0.0.1 这一行
      将IP地址改为受控机的IP地址,多个IP地址中间用逗号分隔
      例如将其改为: remote_hosts=192.168.1.110,192.168.1.111

    4.设置完成后,启动主控机bin目录下的 jmeter.bat
       选择你要执行的脚本,并设置好,
       可以在  "运行---->远程启动--->受控机IP"  中远程启动受控机运行和主控机同样的脚本和设置。
       多个受控机,可以使用 "运行---->运程全部启动"   启动全部受控机
       可以 "运行 ---->  启动"  启动主控机

    5.你已经可以用jmeter做分布式测试了,呵呵。。。

    以上为windows上的步骤,其他系统下大同小异。

     

    您可以参考jmeter自带的文档:

    jmeter_distributed_testing_step_by_step.pdf

  • Jmeter 自定义测试代码及插件编写

    2009-08-04 01:10:13

  • JMeter学习

    2009-07-16 23:13:00

    1、安装与配置:

    1.1 安装JDK1.5以上的版本。
    1.2 配置JMeter
    1.2.1 Linux环境下(Ubuntu)参考:
    download最新版本(.tgz),官方网站: http://jakarta.apache.org/jmeter/
    gunzip ..tgz到某一目录,与JDK同一根目录就好了。
    运行./jmeter即可。
    如果有X11 DISPLAY set有问题,请参考:
    http://hi.baidu.com/lanif/blog/item/94f25e66c76bab26ab184cea.html
    1.2.2 Windows环境下:
    download最新版本(.zip),官方网站: http://jakarta.apache.org/jmeter/
    解压到某一目录,与JDK同一根目录即可。直接运行.bat就可以了。

    2、结果分析

    http://java.chinaitlab.com/tools/355421.html

    3、使用
    http://www.51testing.com/?128005/action_spacelist_type_blog_page_2.html





    使用JMeter做性能测试的心得

    http://www.javaeye.com/topic/211216




  • 2008年度软件测试工具英雄榜-转

    2009-07-16 21:51:06

    几乎毫无悬念地,HP的几大测试工具LoadRunner、QuickTestProfessional和TestDirector for QualityCenter又一次夺冠,在STP杂志的年度测试工具投票中,这几个工具连续4年占据首位。(关于2007年测试员的工具选择排名,请参见:http://blog.csdn.net/Testing_is_believing/archive/2007/12/17/1944221.aspx)
        这对于初学软件测试的朋友们而言,不得不说是一件好事,因为他们可以坚持学习一样工具,避免在选择哪个测试工具来学习时过于彷徨和迷茫。
        金奖获得者——LoadRunner
        LoadRunner再次成为测试人员最喜爱的测试工具。
        LoadRunner是一款优秀的压力和性能测试工具,可以模拟成千上万的并发操作,对应用系统、Web Service、Web服务器、数据库等进行压力和性能测试,兼容Window和Unix。
        HP于2007年6月对其进行了重大的升级,增强了对Web2.0技术的支持。
        数据/测试性能类
        LoadRunner当仁不让,File-AID和SQL Data Generator紧随其后。
       LoadRunner的核心模块是VuGen(Virtual Usergenerator),VuGen可用于创建脚本实现测试用例的模拟,脚本可进行参数化以适应不同的场景需要,关联(correlation)和错误处理(errorhandling)的能力都非常强。Controller模块用于运行脚本、模拟大量的并发用户,而Analysis模块则用于分析和生成性能测试报告。
        紧随其后的是Compuware的File-AID和Red Gate的SQL Data Generator。File-AID是一个企业级的数据管理工具,测试人员可以利用它来快速地构建测试数据环境,支持mainframes、MVS、DB2和分布系统。
        Red Gate的SQL Data Generator替代Intel的Vtune Performance Analyzer的位置,是一颗璀璨的新星,宣称可以在一杯咖啡的时间内,为10个表格创建2百万行数据。
        功能测试类
        QTP再度领衔主演,Rational Functional Tester和SilkTest锐气不减。
        QTP是Windows平台下出色的自动化功能测试和回归测试工具,基于GUI的录制和回放测试,加上VBScript,测试人员可以轻易控制和操纵程序界面对象,创建自动化测试用例。
        新版本的QTP在团队协作能力方面有所增强,拥有新的对象库管理和函数库共享能力,还添加了关键字管理、通过拖放构建测试步骤、输出XML格式的报告,还有新的、更为精准的调试器,都让QTP成为当仁不让的王者。(关于QTP9.5新特性的介绍,请参见:http://tech.it168.com/softtest/2008-07-08/200807081020854.shtml)
        IBM的Rational Functional Tester和Borland的Silk Test替代了Parasoft的SOAtest和Compuware的Optimal Quality Management的位置。
       Rational Functional Tester的特点是,除了自身的脚本开发环境外,还支持两种开发环境:Eclipse 框架中的Java、Microsoft Visual Studio中的VisualBasic.NET。SilkTest同样是一款不错的自动化功能测试和回归测试工具,支持C/S结构的Java、.NET和WEB。
        静态/动态代码分析类
        Rational Software Analyzer Developer Edition接班,TPTP和DevInspect上位。
        随着IBM在08年推出Jazz,Rational Software Analyzer Deverloper Edition接过PurifyPlus的班,成为代码分析工具类的佼佼者,能具捕捉内存泄漏、分析应用程序性能、代码覆盖率等,支持广泛的编程语言,包括C/C++、Java、.NET、VB、VC++,支持Linux、Unix和Windows平台。
       Eclipse Test and Performance ToolsPlatform(TPTP)和HP的DevInspect替代了Compuware的DevPartnerStudio和Parasoft的Jtest的位置。Eclipse的TPTP在新版本中添加了不少的新特性。2007年底HP收购了SPIDynamics,DevInspect在自动化安全测试方面拥有很强的优势。
        测试/QA管理类
        QC为王,SilkCentral Test Manager保持不败,Optim Test Data Management Solution晋身。
        TestDirector for Quality Center包括需求管理、测试计划、测试执行和缺陷管理模块,全面管理了测试过程,成为测试人员最喜欢的测试管理工具。
        TestDirector基于WEB的管理模式,允许测试人员和项目经理收集需求、设计和安排手工与自动化的测试、分析测试结果、生成图文并茂的测试报告,并且能与HP的其他功能测试工具WinRunner、QTP紧密结合。
        2006年2月,Borland收购了Segue,SilkCentral Test Manager与VMWare Lab Manager整合在一起用于简化跨平台的测试,还可管理Junit/Nunit等第三方的测试框架。
       作为IBM的测试数据管理和应用程序质量改进方案,Optim Test Data ManagementSolution允许测试人员指定覆盖率标准、创建错误和边界条件、模拟产品环境等,支持PeopleSoft和Siebel等企业应用,支持IBM、Microsoft、Oralce、Sybase等厂家的数据库,支持Linux、Uninx、Windows等平台。
        缺陷/问题管理类
        QC大而全,VSTS新进,Bugzilla略显老态。
       上次,HP的TestDirector for QualityCenter和Mozilla的Bugzilla并列第一;这次,Bugzilla被无情地挤到第三,新进者不是谁,正是微软的 VisualStudio Team Edition for Software Testers。
        由于TestDirector forQualityCenter包括了需求管理、测试计划、测试执行和缺陷管理四大模块,因此也就包揽了测试/QA管理类和缺陷/问题管理类的双重头奖。TestDirector for QualityCenter中的缺陷跟踪模块能自动地检查缺陷数据库中的相似问题,避免录入新BUG时的重复现象。另外,它对缺陷的图表分析和统计能力可以辅助管理层决定产品发布日期、判断产品质量趋势。
        相对而言,Visual Studio Team Edition forSoftware Testers则是一个新进者,与TeamFundation结合起来,可以做到缺陷/问题跟踪自动化。这个工具还可以对Web应用程序和Web站点进行功能和压力测试。
       1998年,最早版本的Bugzilla是由TerryWeissman用Tcl写的,后来他觉得用其他语言写可能会更吸引人,因此决定移植到 Perl,就成了Bugzilla2.0。在2000年4月的时候,项目移交给Tara Herenandez,有了更多的开发者参与,包括现在的Dave Miller。

    压力/性能测试类
        LoadRunner蝉联,Rational Performance Tester和SilkPerformer紧追不舍。
        VuGen的能力确实非常强,支持对广泛的协议的录制和编辑。对于Web/HTTP协议,测试人员可以选择让LoadRunner产生URL模式或者是HTML模式的脚本。
        Performance Tester与IBM的Tivoli管理环境整合,可以使用最小的硬件资源来产生大量的并发用户测试。
        SilkPerformer可以在没有license的限制下模拟数千个并发用户。可以通过插件在Eclipse中创建测试。SilkPerformer还有一个SOA版本。
        SOA/Web Services测试类
        Rational Tester for SOA Quality大放异彩,LoadRunner无缘三甲。
        在SOA/Web Services测试类,上一次的冠军LoadRunner居然无缘三甲,取而代之的是IBM的Rational Tester for SOA Quality。
       如果你的应用依赖于别人的WebService,你不能掉以轻心。例如,如果你的程序依赖一个信用卡认证服务,那么你如何确保在购物旺季时不会出现"黑色星期五"呢?利用Testerfor SOA Quality,你可以模拟成千上万的用户访问和使用这个WebService,并且在尝试执行成百上千的事务时观察你的程序的运行情况。
        HP的QTP和Parasoft的SOAQuality Solution也是测试人员所喜爱的SOA/Web Services测试工具。SOA QualitySolution把公司的多层工作流方法融合到测试和QA中,可以在SOA层做强制政策一致性检查;端到端的测试和业务逻辑或事务模拟;支持回归测试、安全渗透测试、压力和性能测试。
        安全测试类
        Rational AppScan击败WebInspect,晋身超级保镖,力保软件安全。
        收购了Watchfire之后,IBM的AppScan成为一款优秀的自动化安全审计工具。针对AJAX、Flash等应用Web2.0技术的中小型业务应用系统,IBM在08年十月发布了AppScan Express版本。
        HP的Assessment Management平台是一个自动化的、集中控制的WEB安全扫描和测试平台,它让分布式的团队通过一个仪表板样式的界面访问和纠正安全漏洞。
        WebInspect在2007年1月的时候,被完全重写过,性能和各项技术兼容性有了很大的提高。据称WebInspect7.5更进一步地改进了AJAX漏洞的审计能力,对Windows Vista的支持也得到了增强。
        测试自动化类
        QTP稳居第一,Business Process Testing新面孔登场。
        QTP再次夺冠。QTP通过插件架构来支持扩展,默认支持ActiveX Control、Web、VB插件。
        Compuware的TestPartner是一个自动化的GUI功能测试工具,采用VBA作为脚本开发语言,测试人员还可以采用"Visual Navigator"的方式来创建测试脚本。
        HP的Business Process Testing是一个新面孔,据称该工具的目的是为了让业务人员可以创建和执行手工的或自动化的测试,不需要任何的编程技巧。能自动化测试过程和文档创建过程,提高测试的可维护性。
        SCM/Build管理类
        VSS历史悠久,Subversion开源雄风。
       Sourcesafe最早由One TreeSoftware开发,在上世纪90年代发布了3.1版本,微软当时的SCM工具是Delta,并不怎么出名。微软收购了16位的 SourceSafe并于1995年发布了一个32位的Visual SourceSafe 4.0版本,10年后VSS2005年才出现。
       Subversion在开源社区中很流行,在2000年的时候由CollabNet发起。构建自动化工具ElectricClound在08年9月的时候发布了ElectricCommander3.0版本,新版本可以与Eclipse和VisualStudio整合,ElectricCommander支持各种各样的脚本语言,包括Bash、perl、Python和Tcl,支持AccuRev、ClearCase、Perforce、Subversion和Synergy等SCM工具。
        嵌入式/移动设备测试类
        Rational Test RealTime被C++TEST击败,挤出三甲位置。
        Parasoft的C++Test是一款优秀的C++代码分析和审查工具,同时也是一款代码分析、回归测试和自动化单元测试工具。Parasoft为嵌入式程序提供了相应的版本,支持Eclipse和Visual Studio,也可以批处理执行。
       紧随其后的是QualiSystems的TestShell和Coverity的Prevent。QualiSystems的TestShell包括计划、构建、执行和控制测试、分析结果等功能,其核心TestShellFoundation是一个可提供扩展架构以满足测试组织增长需求的引擎和数据库。 Coverity的Prevent是一款C、C++和Java代码的扫描和查错工具。
        .NET测试类
        Team System上升,LoadRunner下降,Parasoft Test被替换。
       微软的Visual Studio Team System Edition for SoftwareTester由上次的第二名上升到第一位。Visual Studio Team System Edition for SoftwareTester支持.NET应用程序的性能和压力测试,还支持代码分析、代码覆盖率。
        LoadRunner在8.0后添加了对.NET语言的支持,使用LoadRunner的"Microsoft.NET"协议可以创建.NET Vuser脚本,模拟.NET客户端程序的各种操作。
       在LoadRunner9.0中,可以选择"Microsoft.NET"协议来录制和创建.NET程序的Vuser脚本。VuGen支持在应用层协议上录制.NET应用程序,允许测试员创建Vuser脚本模拟.NET客户端程序的操作。VuGen把所有客户端的动作录制成相应的方法和类,并用C#或 VB.NET来创建脚本。VuGen支持.NET Remoting、ADO.NET、EnterpriseServices和WCF(Windows Communication Foundation)程序的录制和脚本创建。
        Compuware的DevPartner Studio除了提供C/C++、Java版本外,也提供了.NET版本。DevPartner分析代码的质量和复杂度,并且能检测内存泄漏,代码效率和代码覆盖率。
        Java测试类
        LoadRunner连续3年斩获,Junit稳居单元测试老大。
        LoadRunner在压力测试过程中使用监视器来收集性能数据,可用的监视器包括虚拟用户、事务完成率、网络响应、Web和数据库服务器响应和资源使用等。
       有人说Junit是单元测试框架的祖父级人物,2007年,Junit跨过了第10个年头,此时,它的子孙后代已经遍天下,Junit被移植到了各种语言平台,包括:C#(Nunit)、C++(CPPUnit)、Fortran(fUnit)、Perl(Test::Class和 Test::Unit)、PHP(PHPUnit)和Python(PyUnit),甚至还有JavaScript版本的JSUnit。10年间,Junit被下载超过2百万次。
        Eclipse的Tets and Performance Tools Platform(TPTP) 在08年9月升级到了4.5.1版本,支持Java1.6,修正了大量的BUG。
        整合测试/性能套件类
        VSTS夺冠,HP Performance Center屈居第二,TestComplete低价制胜。
       上次的冠军HP的Performance Center被VSTS击败。Visual Studio Team Edition forSoftware Tester成为测试人员最喜爱的整合测试/性能套件类工具,并且测试人员都在热切地期待预计2010年发布的VisualStudio Team System,代号"Rosario"。据称,微软将添加更多的ALM功能到该工具中,并且会与Office ProjectServer整合在一起。
        HP的Performance Center组合了LoadRunner的所有功能、测试资产和人力资源管理功能,测试执行过程可以被跟踪、编辑和计划。
        AutomatedQA的TestComplete是一款价廉物美的自动化测试工具,支持WEB、.NET、Java、Flash等应用程序,而且可以进行基于HTTP协议的压力测试。
        低价商业测试工具类
        Software Planner更上一层楼。
        价格低于$500的商业测试工具中,Software Planner从上次的第二名上升到第一位。Software Planner是一个基于Web的项目计划工具,使用任务链接来组织任务,防止一个任务在另外一个任务未结束之前就开始。
        Mindreef的SOAPscope是一个测试基于SOAP的应用程序的工具。SOAPscope让团队可以创建、测试、发布Web服务和SOA组件,自动化面向XML的任务。
        Shunra Virtual Enterprise创建了一个虚拟网络,可以用于模拟应用程序测试环境,让测试人员检查应用程序在不同网络条件和环境下的性能和用户体验。
        免费测试工具类
        TPTP击败Bugzilla,Junit持平,Bugzilla第三。
        TPTP的核心部件包括测试编辑、执行、监视、跟踪和分析、日志分析,支持嵌入式系统、独立应用程序和企业级应用系统、高性能计算系统。
        Junit如此受欢迎,以至大家在说话的时候把这个名称当作动词来用,例如"确保你在签入之前Junit一下你的代码"。
        07年,Bugzilla继9年前的2.0版本后发布了重要的3.0版本,其中主要的增强包括性能方面、Web Services接口等。
        新手最佳解决方案类
        测试资源少,工具选择更重要。
       如果把少于5年历史的公司定义为"新手"的话,VMLogix的LabManager是最适合这类公司的工具。LabManager支持微软和 VMWare的虚拟系统,LabManager3.5在08年五月发布,添加对Citrix XenServer4.1的支持。
        Fortify的Defender是上次的冠军,这次,它的新产品Fortify 360居第二位。Fortify 360瞄准软件开发生命周期领域,可以在开发的各个阶段对漏洞进行检测识别、区分优先级、修补。
        BluePrint的Requirements Center聚焦协作,通过协作在代码开发前就定义清楚、确认清楚需求,让需求清晰化、可视化。

  • JMeter 初步01

    2009-06-26 02:05:50

    测试开始之前的:

    预测试:
    性能测试可行性
    录制关键脚本, 完整的走完 VuGen .Controller . Analiysis 的流程
    确保脚本不会出问题,工具是可行的, 从而验证技术上的可行性,

    不至于,测试进行到中期时才发现,脚本或工具出现了无法解决的问题
    从而影响了,整个测试工作的进度。。。。


    JMeter :
    事务
    参数化
    检查点
    关联
    jar 包的制作及使用
    实时连接Oracle数据库---java已实现。


    jmeter关联参数设置    http://www.51testing.com/?uid-170805-action-viewspace-itemid-86996
    加入“后置处理器”->“正则表达式提取器”:
    引用名称即使用的参数名;填入正则表达式;模板选取匹配的组;匹配数字为匹配的个数,负数表示全部匹配;缺省值为没有匹配到时的取值。
    示例中用正则表达式匹配出产品id作为后续使用的参数。
    提取到的参数,调用时用${product_id_1},${product_id_2},${product_id_3}……;如果想要得到匹配出的参数的个数,用${product_id_matchNr};如果想随机选取其中一个,只需将匹配数字设为0,使用${product_id}调用即可。
    可以一次匹配多组;示例中只匹配了一个,假如正则表达式为name="chkProductIds" id="chk(.+?)" value="(.+?)",就会有两组参数;想获得匹配到的组个数用${product_id_g};模板针对的是匹配到的字符串再做组的区分,比如希望${product_id}取出的是第二组参数的值,用$2$。

     


    Jmeter变量参数化及函数应用
    http://blog.csdn.net/li_ok/archive/2006/12/14/1442495.aspx

    Jmeter——CSV Data Set Config
    http://www.51testing.com/?uid-128005-action-viewspace-itemid-70063


    Jmeter参数化变量的方法
    http://www.51testing.com/?uid-128005-action-viewspace-itemid-66226

  • HP 下载中心

    2009-06-04 12:40:56

    https://h10078.www1.hp.com/cda/hpdc/display/main/index.jsp?zn=bto&cp=54_4012_313__

     

    需要你先注册一个 帐号(HP passport),登录后,搜索,就可以下载试用版了。。

     

    HP BTO软件

    今年HP又大推BTO解决方案了,说实在的,如果仅仅做一个业务应用,然后,支起来,让它运行,似乎不太难的,可能难的在于业务流程的IT实现了。

    但真正能够在业务运行过程中,保证服务质量,并且能够了优化业务的可能就很少了,记得以前在某运营商做ITSM项目时,别人硬是不让联接他的几个业务平台的主机,现在想想,的确有些可笑了。难道把主机锁起来就能保证业务的正常运行,难道他的业务不需要调整,从一开始开发的软件到安装就能包含所有的应用环境?

    那么HP怎么做的呢?

    在BTO中,HP分为战略,应用,运营三块来实现。

    首先,在战略层,呵呵,这个不是一般做技术的人员来控制的,所以HP也就给了PPM和SOA中心两个了,其中PPM主要是对项目资产进行管理和控制的,而SOA则包括一些合同,策略,政策等等了。从这么分配看来,似乎各国的管理层干的活都差不多嘛。

    至于应用则分为质量中心,性能中心,应用安全中心了。
    其中质量中心主要产品有TD,WINRUNNER,性能中心则由LOADRUNNER来实现了,而最让人感到意外的是应用安全中心竟然与我个人传统的安全概念毫不相干,人家直接从开发抓起来了,看来光搞搞系统,玩两下网络,和搞搞数据库还不够了,有空得学学开发了,人家HP给了devinspect,qainspect,webinspect几个产品,没搞个开发,问了一下,人家告诉是对代码扫描和应用扫描用的。

    至于运营方面,人家HP除了留下自己原来的NNM,OVO作为运营中心和网络管理中心外,其它业务可用性中心由BAC做了,另外,可能是刚收了OPSWARE的东西,HP又在给大家加入自动化的概念了,说实话,对自动化中SAS和NAS试用了一下,个人感觉的确有它先进的一面,但局限性也很快突现了。毕竟然来各成体系的东西,没那么容易让你三下五除二全整合一起呀!

    另外HP的运营方面的服务管理中心和身份中心则还是运营的一大块了,说实话,如果IT运营团队超过几十人的话,不搞个服务管理走几个流程的确会出现问题的,当然,人少的话就没毕要用了,省得适得其反了。

    总的来说,这次HP收购梅克利后没见把它的产品改了,相反用它代替了自己的不少东西,而OPSWARE方面则没那么幸运了,HP大刀改革,只留下它的网络自动化和主机自动化为主了,其它的流程自动化则似乎没有什么消息了。

    http://hi.baidu.com/carsonguo/blog/item/d67ba7318d215eaf5edf0ec3.html

     

    开发新潜能 BTO成为惠普软件新宝藏

    早先,Mercury(美科利)公司首先推出了业务科技优化(BTO)的概念和产品,并迅速得到了用户的认可;随后,惠普在2006年收购了Mercury,并将Mercury的BTO技术与惠普自己的软件产品进行了整合。IDC最新的调查数据显示,惠普软件已经成为了全球第六大软件厂商。看来,我们已经不能忽视惠普软件迅速发展壮大的现实。

      软件成为惠普公司新的发动机

      惠普是全球第一大的IT公司之一,其有很多极具发展潜力的业务,如工业标准服务器领航的IT基础业务、激光打印机领航的印刷业务,以及笔记本电脑领航的个人计算机业务等。不过,目前在整个惠普中发展得最快的却是软件业务。

      惠普公司CEO马克•赫德说::“在2007财年,惠普的所有业务均取得了出色的业绩,其中软件部门的显著增长尤为引人注目。”可以说,惠普软件走了一条很不同寻常的发展道路,其中重要的一个思路就是收购。在收购了Mercury和Opsware之后,惠普软件已经具备了超越大型软件竞争对手的实力。

      马克•赫德特别强调,软件将是惠普未来持续增长的核心。在2006年,惠普的研发投资中,有70%投向了软件,金额达到了25亿美元。

      像是在验证其CEO的言论,在2007年10月31日截止的惠普公司2007财年中,软件部取得了超过79%的年度同比增长,其中第四财季的年同比增长超过了100%,而亚太及日本区是增长速度最快的区域。在第四财季的财报中,惠普第四财季的收入为283亿美元,比去年同期增长了15%。

      惠普公司中国区软件产品部总经理金美芳介绍说:“惠普2007财年软件产品收入达到了23.3亿美元,惠普软件在全球170多个国家拥有7000多名工作人员,未来还会不断地扩大。”

      “惠普软件进行了多次的收购,与其他企业一样,收购是为了充实产品的实力,但很多公司收购企业大都只是单纯地扩充其产品线,并直接把新收购的产品放到市场上去推广。而我们的做法完全不同,我们会进行很大的投入去做整合,把新收购进来的产品和惠普的产品重新组合,并做更有效的整合,使之有机地融合到惠普的整体解决方案之中,然后再推介给用户。”惠普软件全球高级副总裁Tom Hogan先生在接受本报记者采访时表示。

      BTO领衔惠普软件

      Tom Hogan认为,惠普软件的产品架构已经搭建完成。目前,惠普软件主要由业务科技优化(BTO)、业务信息优化(BIO)和工业方案这三大产品线组成;未来,惠普还会通过一系列的手段和方法来完善这三大产品线,并在提高用户IT投资价值方面持续投入。

      在过去的两年中,惠普公司对软件进行了超过65亿美元的投入,先后收购了多家软件公司。通过对这些公司的产品和技术的整合,惠普软件构建了完善的IT管理产品组合。惠普公司软件部亚太及日本区市场负责人Darryl Dickens在回答本报记者提问时也表示,惠普的BTO产品线已经非常完善。

      “集成化的HP BTO产品组合会给企业用户带来诸多好处。首先,我们的产品是基于标准的,用户不仅可以在BTO系统内选择紧密连接的解决方案,也可以选择其他第三方的产品; 其次,我们的方案是注重实效的,用户只需选择所需要的产品而并非整个复杂且难以部署的集成框架; 再者,我们知道每个企业都有特殊性的要求,所以我们持续提供API以便用户易于扩展HP BTO解决方案的价值; 最后,我们提供了多个BTO解决方案版本之间的兼容性。”Darryl Dickens介绍说。

      与惠普公司CEO马克•赫德的观点一样,Darryl Dickens也认为,惠普软件在未来重点要扩充的产品将是业务信息优化(BIO)。而BIO的重点是推动BI和信息管理方案的发展,主要包括数据仓库一类的商业智能产品。

      另外,Darryl Dickens表示,惠普软件的三大块产品线——BTO、BIO和面向电信业的OpenCall,其目标都是为实现IT的业务优化。“所以,我们不需要人人都知道惠普软件,我们针对的是特定的人群——CIO、CTO及开发测试人员等,我们推广的目标就是找出真正的用户是谁,并给用户提供最大的价值。”Darryl Dickens说。

      金美芳还介绍,惠普BTO软件在2007财年第四季度收入与去年同期相比增长了一倍; 而工业方案,主要是指OpenCall,将会是惠普在重点行业做重点推广的产品。

  • web前端性能分析工具

    2009-05-20 21:37:54

    以前关注服务器端性能测试,现在投了一些精力在了解web前端性能测试。有几个很趁手的工具

    1)ibm page detailer。注册IBM 帐号后,下载了basic版本的。第一个感觉就是惊艳,能把网页duration(切分服务器时间、下载时间等,与loadrunner page break down类似),item等等.基本上满足我们目前需求.

      在启动page detailer后,再启动IE后的HTTP 请求都被截获。

    2) firefox插件firebug。呵呵,这个工具开源的,功能也很强大,而且javascrīpt调试能力好。呵呵,目前 ALIBABA的部分应用支持firefox不如ie好啊。

    3)yahoo yslow。也是firefox插件。偶还没有试用过:)

       前2个工具切实给页面调优带来较大的想象空间:) 

       看来好工具还是很多的,关键是要有发现的眼光:)

     

    前端性能分析工具分享PPT

    和阿里巴巴集团各个公司QA分享的PPT。

    平常我们用loadrunner发现缺少页面渲染时间的度量。
    在执行压力的同时,结合前端性能分析工具抽样检查页面性能是一个不错的选择。

    ppt参考了多个网站的内容以及结合自己的实践。

    为了能<2048 byte,偶作了删减

    http://www.51testing.com/?uid-13997-action-spacelist-type-blog-itemtypeid-6288

    Open API

    http://fairyfish.net/2008/07/16/chinese-open-api/

     

    测试计划考虑的几点

    测试计划最终结果把WBS有控制完成。测试计划符合SMART原则。

    1 选人:
    从几个纬度考虑
    (1) 尽量发挥技术特长
    (2) 结合项目兴趣
    (3) 技能高+ 技能低些的结合。涵盖项目所需技能。或者不完全具备,需要有学习能力强的排头兵

    2 工时估算

    这个是一个很难估算准确的活。因为一个项目充满变数。
    学会工作分解,然后再按每个功能点/测试范围乘一个冗余系数
    可以采用project, mindmap, excel等

    3 风险分析与规避
    通常测试项目风险
    1) 研发提交代码质量不高,冒烟测试失败
    2) 研发更改频繁,送测版本过多
    3) 需求文档或者设计书不够明确,QA 和需求/研发细化耗时
    4) QA 测试分析不够全面
    5) 性能问题分析以及调整影响面过大
    6) 测试的覆盖率过低
    7) 技术难题或者测试环境资源问题
    ...

    4 确定测试范围

    由于项目有外部耦合模块,要非常明确影响范围十分困难。
    通常做法: 用工具绘制调用网状图。或者分析正相关的模块结合自动化测试脚本确定测试范围

    5 确定测试策略

    确认系统是否需要性能测试,安全测试,兼容性测试,本地化测试...

    以及是否需要验证系统的高可用方案, 新旧系统平滑过渡方案 ,可扩展容量估算公式...。

    6 项目的工作约定

    比如采用的模版,沟通方式(IM/周会。。。),项目出现问题的解决流程

     

    测试工具评估的项目管理一些思路

    1        项目特征
    1.1        以项目应用推广发挥作用为目标
    1.2        工具评估过程存在较大的不确定性,可能遇上某一个技术难题瓶颈,或者需要确认适合的应用场合。有时候一个关键的问题没有突破,后续的工作就必须停止。
    1.3        项目任务切分困难,工作边界不够清晰
    比如评估watri能否足以成熟到支撑大型电子商务网站自动化。
    本质上不仅仅评估watri 能够识别我们网站普通的WEB元素以及比较特殊的元素(如html编辑器、windows/javascript弹出菜单、随机验证码…);还需要评估现有QTP/vbscript框架能否平滑过渡到watri编写的框架以及过渡的成本。
    2        实施思路
    大原则是在项目进度透明和给予组员充分自主间找一个平衡,根据产出不断诱导深入了解工具各项特性。

    1)        项目一般都以1个月为单位,制定一个周为单位的计划,充分列举可能的风险。每周都定义清晰的进度标准,周五前提交本周测试工具的操作、特性以及产出的脚本。最好主管自己能够抽几点难度大的review下
    2)        真正深入之前把项目的最坏情况想透,以及工具的可能应用场景。
    3)        对于一个瓶颈问题,如果2天都没有突破,需要第一时间告知主管,让主管决断是增加优势资源突击解决还是整个项目放弃
    4)        为了诱导组员深入考虑每一个重要环节,主管最好能够花些时间了解相关的技术细节,抛出一些有深度的问题让组员考虑技术方案

    呵呵,这些思路是我自己从广东电信的主任那学习转化到的。个人认为适用的就是最好的

     

     

     

  • Using open source tools for performance testing (Google video)

    2009-05-20 00:05:02

     

    http://www.myloadtest.com/open-source-tools-performance-testing/

     

    She uses JMeter for testing web-based applications through the GUI, uses The Grinder for API-based testing, and does not use OpenSTA because it only works on Windows.

    Other points during the presentation:

    You should use the same monitoring for Load testing that you use for Production monitoring (so you don’t have to account for the differences in load that a different monitoring system will put on the system).
    If you are running Unix-based systems, don’t sustain CPU above 80%.
    Google tracks a summary of every performance test in a central database. The database also contains information on every piece of software that is installed on the machines in the test environment.
    If I am unfamiliar with the system, I don’t trust it. One of the things that I have realised is that
    A) the system will fail in the place where they tell me that nothing could go wrong.
    B) developers are totally delusional about their own software, and frequently they will just forget about things that they’ve done two weeks ago.
    I run every test 5 times. I want to see that I have some sort of statistical consistency.
    Performance testing should not be used as a tool to find memory leaks; but it can.
    Performance testing without monitoring? Don’t bother. Why waste your time?
    If you are going to do any performance testing, make sure that database sizes are somewhat realistic. They don’t have to be exactly the same, but they have to be the same order of magnitude otherwise the results you are getting are completely off.
    Execute a stress test. Find how your system is failing. Find where it is failing. Do find out how the system handles overload. There are no good defence mechanisms against people out there, and you can’t predict sudden popularity (eg/ Google Earth).
    Start a test after a decent warm-up period. Don’t start 100000 users all at once.
    Quite often people don’t know about everything that is running on a complex system. Maybe there is a low priority process that is running with high priority. This can usually be fixed by niceing the process down. Quite often there are debug things that are still running also.
    Monitor the machines that are collecting the monitoring data and the load generators (not just the system under test).
    Performance Testing and QA is about risk analysis. If I believe it is high risk, I want to take a look at it.
    When I am doing performance testing, the first thing I try to do is eliminate the network. I want to simplify my problem. I am interested in the machines, and my hope is that the network provided will handle everything I need. Once everything is profiled and understood, we will do some tests that include the network. If you can, put everything on the same subnet and same switch. It will make you a much happier performance tester in the first pass. Debugging networking problems is (not) fun.
    (When talking about testing on smaller sized systems than Production). You can’t test on a 386. Extrapolation will kill you. You will run out of some resource that you never expected, and you can’t predict this ahead of time. For final validation, you really want to get some time on the Production hardware before it goes live. If the system is not being used for Production, it should not be that hard to get hold of it for a week or a weekend.
    Find more open-source performance tools at opensourcetesting.org
    There is another summary of her talk available on Robert Baillie’s blog.

    You might also want to have a look at Becoming a Software Testing Expert; a 1 hour presentation delivered by software testing expert, and author of Lessons Learned in Software Testing, James Bach on June 13, 2006. His presentation is available for download from his website.

           
    This entry was posted on Thursday, November 2nd, 2006 at 3:19 pm and is filed under General. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

  • 压力测试工具Grinder

    2009-05-19 23:49:33

     

    http://www.open-open.com/open64743.htm

    Grinder是一个开源的Java负载测试框架,它通过很多负载注射器来为分布式测试提供了便利。

    • 支持用于执行测试脚本的Jython脚本引擎
    • HTTP测试可通过HTTP代理进行管理。

    该项目主页:

    http://grinder.sourceforge.net/

    详细资料,软件下载,请浏览上面的主页

     

    工具的使用:

    http://yudabo.javaeye.com/blog/280387

    第一步:设置环境变量
    下载Grinder,并解压. Download page: http://grinder.sourceforge.net/download.html


    设置系统环境变量:
    GRINDERPATH=grinder的完整路径
    CLASSPATH=%GRINDERPATH%\lib\grinder.jar
    (在grinder的目录下新建一个目录叫properties并在该目录下新建文件grinder.properties)
    GRINDERPROPERTIES=%GRINDERPATH%\properties\grinder.properties
    有关配置文件请参考:http://grinder.sourceforge.net/g3/properties.html


    第二步:如何启动Console和Agent process
    设置好环境变量后就可以启动grinder了,grinder分为三个部分,分别是控制台(console)、代理进程(agent processes)和HTTP代理(HTTPProxy)
    启动的命令分别为:
    Console:java -cp %CLASSPATH% net.grinder.Console
    Agent process:java -cp %CLASSPATH% net.grinder.Grinder %GRINDERPROPERTIES%
    控制台不会去读grinder.properties配置文件,它有自己的设置会话窗口,你可用它设置会话地址和端口。控制台可以触发测试脚本,然后代理进程会产生工人线程进行测试。

    Agent process启动后会自动连接控制台,相当于客户机连接服务器,所有的代理进程由控制台统一控制,所以控制台只能启动一个,但代理进程可以启动多个并位于不同的机器上。控制台可以指定所有代理进程使用的测试脚本,如果控制台没有指定代理进程要使用的测试脚本,代理进程会去读取自己本地的grinder.properties配置文件中指定的脚本执行测试。
    有关测试脚本的编写请参考:http://grinder.sourceforge.net/g3/tutorial-perks.html


    第三步:使用TCP代理生成测试脚本:
    如果你想创建一个用于网站或WEB工程的测试脚本,可以使用TCP代理。Grinder的TCP代理简单的说就是截获用户在浏览器的操作,然后将其记录成脚本供测试使用。
    启动代理的命令如下:
    java -cp %CLASSPATH% net.grinder.TCPProxy -console -http > grinder.py
    -console参数会显示一个简单的控制窗口,用于使TCP代理可以干净的关闭。这是必要的,要为一些终端的shell不允许JAVA进程干净的中断。
    这条命令会启动Grinder的HTTP代理并在当前目录生成脚本文件,文件名为grinder.py。
    启动后控制台会输出如下信息:
    07-4-2 11:33:36 (tcpproxy): Initialising as an HTTP/HTTPS proxy with the
    parameters:
    Request filters: HTTPRequestFilter
    Response filters: HTTPResponseFilter
    Local address: localhost:8001
    07-4-2 11:33:37 (tcpproxy): Engine initialised, listening on port 8001


    我们可以看到,其默认端口为8001,接下来我们设置浏览器的代理:
    在IE中打开设置窗口:Tools -> Internet Options -> Connections -> Local Area Network Settings->advanced... 按上面控制台输出的信息填入代理。(IE7可能操作步骤略有不同)
    设置好之后清除IE的缓存,并将缓存大小设为最小,且选中每次都重新读取页面。

    然后打开你要测试的网站或工程,你的操作会被自动记录到当前目录的grinder.py脚本中。


    第四步:开始测试
    一旦你记录了测试脚本,你有二种方法执行:
    1、 你可以在每个Agent process的本地grinder.properties文件中用grinder.script参数指定要执行的脚本。例:
    grinder.script. = grinder.py
    2、 你可以在控制台分发你的脚本到每个Agent process, 然后运行。每个Agent process仍然需要其本机上的简单grinder.properties文件,只是不用指定grinder.script参数了。
    选择要分发到客户端的脚本 > 分发脚本 > 测试执行中 >结果.

    如果有需要,你可以手工更改生成的脚本文件。
     
     
     
     
     
     
     
     

     
  • 简单介绍下jmeter和badboy

    2009-05-19 23:34:16

    简单介绍下jmeter和badboy
    JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,大家可以到http://jakarta.apache.org/jmeter/index.html下载源代码和查看相关文档。
    JMeter可以用于测试静态或者动态资源的性能(文件、Servlets、Perl脚本、java对象、数据库和查询、ftp服务器或者其他的资源)。JMeter用于模拟在服务器、网络或者其他对象上附加高负载以测试他们提供服务的受压能力,或者分析他们提供的服务在不同负载条件下的总性能情况。你可以用JMeter提供的图形化界面分析性能指标或者在高负载情况下测试服务器/脚本/对象的行为。


    Badboy也是一个强大的测试工具,是用C++开发的,被设计用于测试和开发复杂的动态应用。Badboy功能丰富(包括一个捕获/重播接口,强大的压力测试支持,详细的报告、图形)使得测试和开发更加容易。
    官方网址:http://www.badboy.com.au/


    为什么要把这俩工具放在一起说呢,也许有朋友对jmeter比较熟悉,jmeter本身功能就已经很强大了,为什么还要用badboy呢?它比jmeter的功能还要强大吗?答案是否定的,它不比jmeter功能多,但是有了badboy可以让你的测试脚步制作更加轻松。
    用过jmeter的人都知道,jmeter测试简单点的静态页面还成,脚本制作也就三两步就搞定了。但是要是制作复杂点的测试脚步就非常困难了,比如登录系统输入用户名和密码,什么函数、参数配置之类的,肯定会把你搞晕。而且网上jmeter相关复杂点的案例也非常少,它本身提供的帮助文档也只有一个很简单的例子,用处不大。有了badboy就不一样了,它可以提供像loadrouner一样的录屏功能,不需要你自己去配置什么协议、参数、cookie manager之类的,只要你把你的测试过程录制出来,然后save as jmeter 脚本格式就ok了。
    所以说这俩软件是绝配,谁用谁知道,badboy让你简单的制作测试脚本,而jmeter可以给你提供强大的测试功能和聚合报告。
     
     
     
     
     

    jmeter 之短板以及建议解决方案


    随着JMeter的应用,发现JMeter的局限性越来越多,急需进一步扩展改进
           
    一 几百兆的sample 日志解析出现OutOfMemory

    最近的几个项目都是Java sample 日志,应用都是高达300 tps的,而响应时间都在百毫秒级别,所以在 <60分钟的运行过程中,生成JMeter 采样日志到达几百兆。
    用JMeter gui解析日志,多次出现OutOfMemory,不爽。
    规避但不治本方法:
    1) 放到>4G 内存的LINUX 机器上, 设置-Xmx2048m甚至更高启动JMeter.sh
    2) 放到64位的java 版本上
    3) 减少java sample运行时间或者次数,减少日志尺寸
    4) 对要求长时间的场景,采用shell 方式启动-关闭jmeter-重命名生成日志 的方式减少日志尺寸

    最根本方法:改写jmeter日志解析部分为NONE GUI,或者用C/c++效率更高的语言解析有规律日志

    二 分布式多台监控机器

    这个也不是jmeter 的长处。尤其是要求监控iowait%,netstat 连接数,NAS 上监控数据。

    解决办法:
    用loadrunner monitor+扩展DLL。

    三 被测程序为client API

    由于JMeter 运行消耗资源较大,无法清晰区分client api本身是否有短期对象、内存泄漏。

    在确认Client api自身没有并发问题、内存泄漏、短期对象问题后,
    可以client api内部加入一些度量数据输出到excel  +  结合jmeter获取更多的平均值、标准差等数据

    四  面向目标的场景控制

    比如要求控制服务器的资源在一定负载下。如要求linux 机器load 接近5时,求解TPS为多少?

    由于系统受到应用CACHE,OS CACHE,NAS CACHE 等影响,单纯采用JMeter 将耗费极大精力。

    解决方法:
    用java 多线程程序发起压力+另外线程检索/proc 目录数据视负载增加/减少压力线程数。同时将变化的线程数与资源负载输出到文件,将这些数据做趋势分析。

    再用线程数应用在jmeter上 反馈验证
     
     
     
     
     
     
     
    学习资料
     
     
     
     
    下载地址:csdn 要注册和积分的
     
     
     
  • 开源测试工具的完整解决方案

    2009-05-19 23:23:49

    源软件运动正在获得很大成功,正在改变软件业的开发模式、运营方法等,也自然改变着软件测试的方法,借助开源软件测试工具完全可以构造一个完整的测试解决方案,可以极大地提高测试效率,又能大大的降低测试成本。
          
           从单元测试、功能测试到性能测试,从Web页面测试到VoIP/Telephony等一些多媒体应用的测试,直至测试的管理平台和缺陷跟踪系统,能覆盖整个测试工作领域。

    1. 测试模型:见 开源软件测试模型 ,阐述了开放源码软件测试模型框架以及环境、元素和技术等。   

    2. 单元测试工具:JUint (大家太熟悉了)- see: http://www.junit.org/index.htm
                         
      针对各种语言 (C/C++/C#, PHP, SQL ) Cactus, Cgreen, Check,  NUnit, NUnitForms , PHPUnit, SQLUnit

      还有针对各种对象(HTTP, XML, Database, ) 进行的单元测试:HttpUnit, XMLUnit, DBUnit,  ObjcUnit, SIPUnit, ...

      Mockrunner用在J2EE环境中进行应用程序的单元测试,不仅支持Struts actions, servlets,过滤器和标签类还包括一个JDBC和一个JMS测试框架,可以用于测试基于EJB的应用程序。

    3.  Web 功能测试 :  要数 Selenium,see: 强大的Web开源测试工具—Selenium
        再结合 Ant, EMMA 一起使用就更完美了, see:使用 EMMA 测量测试覆盖率
       
        又如:Canoo WebTest,
        功能测试工具很多,可以发现多达几十个:http://www.opensourcetesting.org/functional.php

    4. Java 客户端,可以使用 Abbot, see:   http://abbot.sourceforge.net/doc/overview.shtml
          Abbot是一个用来测试Java GUIs的框架, 用简单的基于XML的脚本或者Java代码,就可以开始一个GUI.


    5. 性能测试, 著名的有 Jmeter 和 OpenSTA,使用都很方便
          Jmeter可以完成针对静态资源和动态资源( Servlets, Perl脚本, Java对象, 数据查询s, FTP服务等)的性能测试。 Jmeter 可以结合 Badboy 来使用,录制测试脚本。
          性能测试工具很多,可以访问 http://www.opensourcetesting.org/performance.php

    6. 数据库测试: DBMonster, DBProbe, OraRep, phpMyAdmin

        OSDL Database Test Suite, 是根据Linux开发人员需要而开发的测试框架中数据库测试工具套件,具有很好的实用价值。 see: http://www.osdl.org/lab_activiti ... atabase_test_suite/

        More: http://dbcommander.sourceforge.net/            

    7. 多媒体(VoIP/Vedio)、IP电话 等测试
                 Ethereal, AuthTool, ... SIPp, Sofia SIP, ...  Seagull, ... Asterisk - the Open Source PBX,X-Lite
          
         其中经常使用的有:Ethereal, SIPp 和 Seagull。而Asterisk 不仅可以作为测试工具,还可以构造企业内部电话网络。
          更多的还有:http://voipsa.org/Resources/tools.php

    8. 网络安全性测试
      #1 Nessus : Premier UNIX vulnerability assessment tool   
      #2   Wireshark : Sniffing the glue that holds the Internet together
      #3 Snort : A Everyone's favorite open source IDS  
      #4 Netcat : The network Swiss army knife

    TITLE=Linux*BSDOS XWindowsGUI Interface  more, see http://sectools.org/
      
       还有许多网络监控工具,pls visit: http://www.slac.stanford.edu/xorg/nmtf/nmtf-tools.html

    9.  缺陷跟踪
            Bugzilla一款不错的软件缺陷管理工具
            Mantis是一款基于WEB的软件缺陷管理工具,配置和使用都很简单,适合中小型软件开发团队

    10. 测试平台
            TestMaker (solve functionality, scalability and performance of services)-  http://www.pushtotest.com/
            Eclipse Test & Performance Tools Platform. (TPTP 4.3)

    11. Reference
            http://www.eclipse.org/tptp/
            http://sourceforge.net/search/?t ... amp;words=Test+Tool
            http://www.opensourcetesting.org
            http://testingfaqs.org/
            http://www.pushtotest.com/
            http://www.openqa.org/
            http://www.aptest.com/webresources.html

    注:测试自动化可以做到90%或更高,但也不能完全代替手工测试。参考:

    "Test Automation Snake Oil" (James Bach, http://www.satisfice.com/articles/test_automation_snake_oil.pdf )

    "Automation Myths" (M. N. Alam, http://www.benchmarkqa.com/PDFs/automation_myths.pdf )

    "When Should a Test Be Automated?" (Brian Marick, http://www.stickyminds.com/r.asp?F=DART_2010 )
  • 3atesting视频 还不错

    2009-05-13 16:43:18

  • OWASP WebGoat + WebScarab

    2009-05-04 17:42:41

     

    webscarab:

    https://www.owasp.org/index.php/Category:OWASP_WebScarab_Project

     

    http://www.hacker.com.cn/article/view_14789.html

     

    OWASP WebGoat + WebScarab

    一、OWASP WebScarab Project
    a tool for performing all types of security testing on web applications and web services

    下载地址:OWASP Source Code Center at Sourceforge

    安装方法:
    Linux: java -jar ./webscarab-selfcontained-[numbers].jar
    Windows: double-click the installer jar file

    A Mac OS X package of the latest version can usually be found on Corsaire's download page.

    You can also try the Java Web Start version, which was signed by Rogan Dawes.

    演示&教程下载地址:
    1. http://sourceforge.net/project/showfiles.php?group_id=233075&package_id=286265
    2. http://yehg.net/lab/pr0js/training/webscarab.php

    截图:

    详情:http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project

    二、OWASP WebGoat Project
    an online training environment for hands-on learning about application security
    鬼仔注:也是WebScarab的那些演示中用的那套系统。

    下载地址:Google code downloads

    安装方法:
    * Double-click on webgoat.bat - a Tomcat command window starts
    * Browse to http://localhost/WebGoat/attack

    用户手册:WebGoat User and Install Guide

    演示&教程下载地址:http://yehg.net/lab/pr0js/training/webgoat.php

    截图:

    详情:http://www.owasp.org/index.php/Category:OWASP_WebGoat_Project

     

     

     

    WebScarab

    baikeViewInfo.expIndex="0";baikeViewInfo.subInfo["2460659"]={title:"WebScarab"};
      这主要是一款代理软件 或许麽有其他的工具能和OWASP的WebScarab如此丰富的功能相媲美了,如果非要列举一些有用的模块的话,那么他们包括HTTP代理,网络爬行、网络蜘蛛,会话ID分析,自动脚本接口,模糊测试工具,对所有流行的WEB格式的编码/解码,WEB服务描述语言和SOAP解析器等。WebScarab基于General Public License(GNU)版本协议。和Paros 一样是用JAVA编写的,因此安装它需要JRE.
      WebScarab的HTTP代理提供了预期的功能(包括HTTPS拦截,不过和PAROS一样有认证报警)。WebScarab也提供了一些花哨的功能,比如SSL客户认证支持,十六进制或URL编码参数的解码,内置的会话ID分析和一键式“完成该会话”以增加效率等。图1-8显示WebScarab篡改隐藏的"Cost"字段,本章中在多处引用了该字段。就基本功能而言,WebScarab和PAROS差不多,但WebScarab为更懂技术的用户提供了更多的功能,并提供了对隐藏的底层更多的访问。但是,由于PAROS更简单,我们仍推荐学者在开始时使用它
     
     
    PAROS
     
  • Apache自带性能测试工具ab的使用

    2009-04-17 09:48:55

     在7点论坛上看到   绿色版ab(简单的http性能测试工具)

     

    什么是ab啊,所以查了一下,还小小的实验了一下,呵呵

     

    资料:

    1 概述

      ab(ApacheBench)是Apache自带的超文本传输协议(HTTP)性能测试工具。 其设计意图是描绘当前所安装的Apache的执行性能, 主要是显示你安装的Apache每秒可以处理多少个请求。

      2 使用

      2.1 安装

      Apache服务器套件自带ab,只要安装Apache即可,无需另行安装ab。ab位于%ApacheHome%/bin目录下(“%ApacheHome%”为Aapche安装路径),你也可以把ab.exe文件copy出来,独立使用。

      2.2 参数列表

      C:\>ab

      ab: wrong number of arguments

      Usage: ab [options] [http://]hostname[:port]/path

      Options are:

      -n requests Number of requests to perform

      -c concurrency Number of multiple requests to make

      -t timelimit Seconds to max. wait for responses

      -p postfile File containing data to POST

      -T content-type Content-type header for POSTing

      -v verbosity How much troubleshooting info to print

      -w Print out results in HTML tables

      -i Use HEAD instead of GET

      -x attributes String to insert as table attributes

      -y attributes String to insert as tr attributes

      -z attributes String to insert as td or th attributes

      -C attribute Add cookie, eg. 'Apache=1234. (repeatable)

      -H attribute Add Arbitrary header line, eg. 'Accept-Encoding: gzip'

      Inserted after all normal header lines. (repeatable)

      -A attribute Add Basic WWW Authentication, the attributes

      are a colon separated username and password.

      -P attribute Add Basic Proxy Authentication, the attributes

      are a colon separated username and password.

      -X proxy:port Proxyserver and port number to use

      -V Print version number and exit

      -k Use HTTP KeepAlive feature

      -d Do not show percentiles served table.

      -S Do not show confidence estimators and warnings.

      -g filename Output collected data to gnuplot format file.

      -e filename Output CSV file with percentages served

      -h Display usage information (this message)

      * 中文的列表可以查看Apache手册中文版。

      以上参数最常用的是-n 在测试会话中所执行的请求个数;和-c 一次同时产生的并发请求个数。

      2.3 实例

      假设我们要测试一个PHP论坛系统,其中一个性能测试用例是:“同时处理50个并发请求并运行 1000 次index.php 首页”,我们可以在cmd shell中输入 ab -n 1000 -c 50 http://172.16.11.180:88/bbs/index.php,运行结束后,ab会自动显示测试结果,如下:

      E:\Webser\Apache2\bin>ab -n 1000 -c 50 http://172.16.11.180:88/bbs/index.php

      This is ApacheBench, Version 2.0.41-dev <$Revision: 1.121.2.12 $> apache-2.0

      Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

      Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

      Benchmarking 172.16.11.180 (be patient)

      Completed 100 requests

      Completed 200 requests

      Completed 300 requests

      Completed 400 requests

      Completed 500 requests

      Completed 600 requests

      Completed 700 requests

      Completed 800 requests

      Completed 900 requests

      Finished 1000 requests

      Server Software: Apache

      Server Hostname: 172.16.11.180

      Server Port: 88

      Document Path: /bbs/index.php

      Document Length: 36962 bytes

      Concurrency Level: 50

      Time taken for tests: 262.515625 seconds

      Complete requests: 1000

      Failed requests: 198

      (Connect: 0, Length: 198, Exceptions: 0)

      Write errors: 0

      Total transferred: 37408432 bytes

      HTML transferred: 36967364 bytes

      Requests per second: 3.81 [#/sec] (mean)

      Time per request: 13125.781 [ms] (mean)

      Time per request: 262.516 [ms] (mean, across all concurrent requests)

      Transfer rate: 139.16 [Kbytes/sec] received

      Connection Times (ms)

      min mean[+/-sd] median max

      Connect: 0 1 4.5 0 15

      Processing: 297 12818 2427.6 12921 30578

      Waiting: 281 12801 2427.6 12906 30562

      Total: 312 12820 2427.5 12921 30578

      Percentage of the requests served within a certain time (ms)

      50% 12921

      66% 13203

      75% 13453

      80% 13546

      90% 13781

      95% 14156

      98% 14750

      99% 18328

      100% 30578 (longest request)

      以上结果指出,在并发50个请求的情况下,完成1000次的访问请求,共花了262.515秒,这个程序每秒可处理3.81个请求。

      2.4 问题

      在实际使用中,我发现-c 参数,即一次同时产生的并发请求个数最多设置成64,大于等于65就会报错,不知道为什么。

  • 342/2<12

    数据统计

    • 访问量: 713061
    • 日志数: 415
    • 图片数: 1
    • 文件数: 3
    • 建立时间: 2008-12-07
    • 更新时间: 2015-07-14

    RSS订阅

    Open Toolbar