一个人不应该依附在其他人身上,一个人应该首先自力更生。你应该自己能够独立,能够安顿你自己,那你就不会害怕了。你爱你自己的话,别人不能不爱你吧。

发布新日志

  • WR和QTP比较 II (转载)

    2007-06-20 15:15:27

    WinRunner and QuickTest Pro 的适用领

    可能很多人对WinrunnerQTP的理解不是很深刻,不知道他们各自的适用范围,偶尔在网上看到这么一个比较,就摘抄过来跟大家分享一下!

    WinRunner and QuickTest Pro都适用的领域:

    Web-Related Environments

    IE, Netscape, AOL

     

    JDK, Java Foundation Classes, AWT

     

    Symantec Visual Café

     

    ActiveX Controls

    ERP/CRM

    Oracle: Jinitiator, 11i, NCA

    Custom Client Server

    Windows

     

    C++/C

     

    Visual Basic

    Operating Systems

    Windows 98, 2000, NT, ME, XP

    Legacy

    3270, 5250 Emulators

     

    VT100

    51Testing软件测试网5ltpfSSZV
    51Testing软件测试网%u g"F?*Tq
    51Testing软件测试网!mV[] b#x!f {'rh
       只能使用WinRunner的领域:

    Custom Client/Server

    PowerBuilder

     

    Forte

     

    Delphi

     

    Centura

     

    Stingray

     

    SmallTalk

    ERP/CRM

    Baan

     

    PeopleSoft Windows

     

    Siebel 5, 6 GUI Clients

     

    Oracle GUI Forms

     

    只能使用QuickTest Pro的领域:

    ERP/CRM

    SAP

     

    Siebel 7.x

     

    PeopleSoft 8.x

    .Net

    WinForms

     

    WebForms

     

    .Net controls

    Web Services

    XML, HTTP

     

    WSDL, SOAP

     

    J2EE, .Net

    Multimedia

    RealAudio/Video

     

    Flash

     

    [转]测试工具QTP与WinRunner的比较

    本文是我很早以前整理的,因为今天在论坛上有位朋友问到相关问题,因此贴出来供大家参考。由于写作时间有点早,之后也没再深入学习过这两个工具,因此如果文中有错误之处,还望各位批评指正!51Testing软件测试网*i:NpZ1T8g;g R_L
    51Testing软件测试网#GY dT1Q/`,et S5Hu
    QTP,全称为Quick Test Professional,它与WinRunner同为MI公司开发的功能强大的功能测试工具。从时间上来看,WinRunner在1995年便已经推出,远早于QTP,而QTP直到2002年才正式推出。从MI公司提供的一些官方资料来看,虽然他们宣称暂时不准备淘汰WinRunner,但他们的宣传资料上又明确表示,QTP已经具备了WinRunner中几乎所有的特性,同时具备了一些独有的特性,并且总体来说,使用更简单、更易扩展和维护,推荐新用户使用QTP,并建议已使用WinRunner的老客户逐渐实现转换。由此看来,MI公司实际上已经有使用QTP逐步取代WinRunner的计划。更重要的是,QTP对J2EE,.NET架构的应用程序支持得比WinRunner要好(从我实际的试用过程中,也感到确实是如此),因此我认为,从我们公司的实际情况出发,针对产品综合部今后将逐步开展自动化测试的计划,QTP应该是一个比较好的选择。51Testing软件测试网)Z&F{Na!Xo3|
    不论是WinnRunner还是QTP,它们都是功能十分强大的测试工具,加上目前国内关于测试工具的培训和文档资料,实在是少之又少,因此要完全了解和掌握它们,绝不是一朝一夕的事情。在这里我只能就目前对它们的理解程度粗略地介绍一下二者的两点主要不同之处。
    :\ hk8u;U987231、使用的脚本语言不同。WinRunner使用的是TSL语言,这是MI公司独有的语言,有特殊性,因此在学习上会有一定难度,不过好在它与C 语言比较类似,如果测试人员有一定的C语言编程基础,会相对容易一些。而QTP使用的则是微软的VBscrīpt语言,比较通用,而且也相对简单易学。从语言上的比较上来看,我个人觉得在编程能力上,WinRunner更胜一筹,因为它拥有相当丰富的C语言函数库,而相对而言,QTP则更大众化,它面向的是没有太多技术背景和编程经验的测试人员。51Testing软件测试网%mS'{KVrJvC
    2、QTP8.0具有的一大特性:关键字驱动测试(keyword-driven testing)。它的具体操作方法我将有另外的文档详细说明,这里只是简单介绍一下。通过“关键字驱动测试”,测试人员不需要“录制”测试脚本,而可以改成“设计”测试脚本。即:先将应用程序的GUI对象添加到QTP的对象仓库(Object Repository)中,然后针对每一个需要操作到的对象设计每个测试步骤。我个人感觉,这的确是一个很酷的特性,它使我们可以不必实际去操作应用程序,就可以编写出测试脚本,这样做既节省了时间,而且还有一个更大的好处就是可以在应用程序还没有设计完成,或者由于出错无法正常执行的时候仍然可以编写我们的测试脚本。应用程序只需要有使用界面(UI),而不必实际运行,测试人员就可以开始建立测试脚本,为我们实施自动化测试赢得更充足的时间。而在 WinRunner中,虽然也可以采用先学习对象,然后编写代码的方式来完成测试脚本,但这样做要求测试人员对TSL语言比较熟悉才做得到,远不如QTP 来得简单。在实际的操作中我还发现,有些时候采用录制的方法无法捕获对应用程序的操作,此时改用关键字驱动测试却可以收到不错的效果。
    /B EJ:l8L e8y987233、相对WinRunner,QTP还具有很多优点,例如“数据表整合”,“Active Screen”,“point and click”,更容易参数化等等,但对于这几点我还没有深入的做过比较,如果今后我对此有了更多的体会和了解,我将再作整理。

  • WinRunner和QTP的对比(转载)

    2007-06-20 09:47:28

    原文 by rickyzhu

    厄。。。英文的我没有看。。。只看了中文的部分

    WinRunner和QTP的对比

    272 Views

    很多初入行的朋友使用测试工具进行功能测试的时候,总是会遇到QTP和WinRunner的选择问题,为什么同样一家公司会出两个功能类似的工具哪? 下面是一篇关于这两个工具的对比介绍,其实从我自己的经验来看,WinRunner虽然推出较早,但是因为一些功能的缺陷,导致后期很难推广,而Quick Test Professinal(QTP)虽然没有师兄WinRunner出道早,然后内功深厚,所以很受欢迎,而且Mercury公司以后的主要发展策略是QTP,虽然文章中说并没有计划Phase out WR,但是已经不再出新版本了. 针对这两个工具的3年左右的使用经验,我的感受是WR比QTP的逊色的地方主要是几点:

    1. WR的对象管理不如QTP那么有效

    2. WR的语言主要是基于类C的TSL,是Mercury发明的语言,明显不如基于VBscrīpt的QTP强

    3. WR的稳定性不行,而且无意人为的干扰可能导致回放的失败

    4. WR对Java的支持也不如QTP那么强

    WinRunner vs. QuickTest Pro

    Quick Comparison


    11



    Overview

    Today Mercury has two functional testing tools – WinRunner (WR) and QuickTest Professional (QTP). WinRunner has been around since about 1995 while QuickTest Pro has been available since about 2002. We have lots of companies asking us “What’s the difference between WinRunner and QuickTest Pro?” and “If they are both functional testing tools from the same company, then which one of the tools should we use?” This document was developed as a short simple reference in helping to understand the basics about the tools in order to answer these two questions.

    Mercury’s position on the two tools is this:

    <!--[if !supportLists]-->* <!--[endif]-->The strategic direction for Mercury and its customers for Functional Testing is product integration. The new releases of QTP and WR improve already existing integration where customers can leverage complete WinRunner assets (scrīpts/functions) from QuickTest Pro without any modification to these assets.

    <!--[if !supportLists]-->* <!--[endif]-->QuickTest Pro 8 has recently been released and WinRunner version 8.0 is planned for November 2004. There are no plans to phase out WinRunner.

    <!--[if !supportLists]-->* <!--[endif]-->QuickTest Pro remains Mercury’s prime product for best customer satisfaction and experience. For customers who need both products, Mercury continues to offer Mercury Functional Testing as a combined package of both product offerings. The Business Process Testing system will be extended to incorporate components designed in WinRunner for the WinRunner 8.0 release in November.



    WinRunner Compared to QuickTest Pro

    Environment Coverage Comparison:

    <!--[if !supportLists]-->* <!--[endif]-->Common environments shared by both WinRunner and QuickTest Pro:

    Web-Related Environments

    IE, Netscape, AOL

    JDK, Java Foundation Classes, AWT

    Symantec Visual Café

    ActiveX Controls

    ERP/CRM

    Oracle: Jinitiator, 11i, NCA

    Custom Client Server

    Windows

    C++/C

    Visual Basic

    Operating Systems

    Windows 98, 2000, NT, ME, XP

    Legacy

    3270, 5250 Emulators

    VT100

    <!--[if !supportLists]-->* <!--[endif]-->WinRunner Only Environments:

    Custom Client/Server

    PowerBuilder

    Forte

    Delphi

    Centura

    Stingray

    SmallTalk

    ERP/CRM

    Baan

    PeopleSoft Windows

    Siebel 5, 6 GUI Clients

    Oracle GUI Forms

    <!--[if !supportLists]-->* <!--[endif]-->QuickTest Pro Only Environments:

    ERP/CRM

    SAP

    Siebel 7.x

    PeopleSoft 8.x

    .Net

    WinForms

    WebForms

    .Net controls

    Web Services

    XML, HTTP

    WSDL, SOAP

    J2EE, .Net

    Multimedia

    RealAudio/Video

    Flash

    Feature Comparison:

    <!--[if !supportLists]-->* <!--[endif]-->Common features found in both WinRunner and QuickTest Pro:

    Record/Replay

    ODBC & Excel Connectivity

    Code Editor & Debugger

    Recovery Manager

    Shared Object Repository

    Rapid Object Import

    Numerous Checkpoints

    Analog

    scrīpt & Function Libraries

    <!--[if !supportLists]-->* <!--[endif]-->WinRunner Only Environments:

    Function Generator

    Database Integration

    Run Wizard

    TSL

    MDI

    <!--[if !supportLists]-->* <!--[endif]-->QuickTest Pro Only Environments:

    ActiveScreen

    TestGuard

    Tree View

    scrīptFusion

    Data Table

    VBscrīpt

    Function Generator*

    (coming in v7.0)

    Run Wizard*

    (coming in v7.0)



    What We Recommend

    QuickTest Pro is our functional testing tool of choice!

    Most customers are in either of two situations:

    <!--[if !supportLists]-->* <!--[endif]-->Existing WinRunner customers asking “Should we switch to QuickTest Pro?”

    <!--[if !supportLists]-->* <!--[endif]-->New customers asking “Which should we get, WinRunner or QuickTest Pro?”

    We have been implementing Mercury’s products since 1992 and have senior level expertise in WinRunner. We have been implementing WinRunner since the very first version of it. So like many existing WinRunner customers we have a huge knowledge investment in WinRunner ourselves. However we have worked on the Mercury development team on the QuickTest Pro 6.0 and 6.5 releases, and have solid real-world experience in implementing QuickTest Pro since the 6.0 release. We have found it to be a great tool to use and recommend it to all customers! Overall, we recommend using QuickTest Pro unless for some reason you have to use WinRunner due to an unsupported environment not existing in QuickTest Pro.

    Overall, QuickTest Pro is easier to use and implement for both technical and non-technical testers in comparison to WinRunner. QTP offers many features that are found in WinRunner, but are easier to use. QTP also offers many features not found in WinRunner that make test scrīpt creation, enhancement and maintenance easier.

    Let’s quickly discuss some key issues:

    <!--[if !supportLists]-->* <!--[endif]-->The WinRunner interface forces the user to look directly at TSL code. TSL is the WinRunner programming language developed by Mercury. It is based on the “C” programming language and therefore looks very similar. For testers who do not have a technical background, they are not always comfortable with having to always look at code. However QuickTest Pro offers a “Tree View” which is an icon-based view of the scrīpt. This is very easy to get used to and non-technical people adapt to it quicker and feel more comfortable working with it. For the technical user, they can always switch over to the “Expert View” in QuickTest and look directly at code, and program away using VBscrīpt.

    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->

    <!--[if !supportLists]-->* <!--[endif]-->WinRunner uses TSL which is a proprietary language of Mercury. These types of languages can be very restrictive and you are limited on available resources. QuickTest Pro use the Microsoft programming language VBscrīpt which is very powerful, has lots of capabilities and there are lots of resources available.

    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->

    <!--[if !supportLists]-->* <!--[endif]-->We feel that there are many more “point and click” features in QuickTest Pro than WinRunner. This makes its use easier.

    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->

    <!--[if !supportLists]-->* <!--[endif]-->All the same features found in WinRunner are found in QuickTest Pro plus more.

    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->

    <!--[if !supportLists]-->* <!--[endif]-->Data Table integration is much easier and simpler with QuickTest Pro.

    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->

    <!--[if !supportLists]-->* <!--[endif]-->Data Driven Testing is easier with more options in QuickTest Pro.

    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->

    <!--[if !supportLists]-->* <!--[endif]-->scrīpt enhancements are typically easier with QuickTest Pro because it has the Active Screen where the windows and objects in your application are captured for later use. Using a “point and click” capability you can easily interface with objects, their definitions and create checkpoints after having recorded a scrīpt – without having to navigate back to that location in your application like you have to with WinRunner. This greatly speeds up scrīpt development.

    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->

    <!--[if !supportLists]-->* <!--[endif]-->QuickTest Pro currently has built in integration with WinRunner in order to be able to call existing scrīpts, which is great for customers who already have a large test scrīpt investment with WinRunner. Likewise WinRunner 8.0 is to have the ability to also call QuickTest Pro scrīpts. This eases the transition from WinRunner to QuickTest Pro for existing customers.

    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->

    <!--[if !supportLists]-->* <!--[endif]-->Parameterization is much easier in QuickTest Pro and basically anything in QuickTest Pro can be parameterized (statements, checkpoints and the Object Repository).

    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->

    <!--[if !supportLists]-->* <!--[endif]-->Capturing various output values is easier and simpler with QuickTest Pro. Using this capability with parameterization enables you to easily develop scrīpts that can do more in regards to testing.

    <!--[if !supportLineBreakNewLine]-->
    <!--[endif]-->

    <!--[if !supportLists]-->* <!--[endif]-->We have been implementing QuickTest Pro in real-world environments and have found it much easier to use, advance features are easier to implement and the scrīpt development is quicker. We really enjoy using QuickTest Pro and highly recommend it as the functional testing tool to use.

    QuickTest Pro is our functional testing tool of choice!



    WinRunner

    Summary:

    This product is a mature tool that has been around since approximately 1995. It interfaces with most of the leading development toolkits using the WindowsAPI and toolkit DLLs to interface with the “Application Under Test”.

    WinRunner offers a recording feature that will watch the individual tester and generate a test scrīpt to simulate the same actions just performed. The scrīpt is displayed as a program which can be enhanced with checkpoints, logic and special coding/programming.

    WinRunner also has integration with Excel spreadsheets for data driven testing and the ability to write data out in Excel format or in simple text files.

    Here is the descrīption from the Mercury “Features and Benefits” section of the WinRunner web page:

    Significantly increase power and flexibility of tests without any programming: The Function Generator presents a quick and error-free way to design tests and enhance scrīpts without any programming knowledge. Testers can simply point at a GUI object, and WinRunner will examine it, determine its class and suggest an appropriate function to be used.

    Use multiple verification types to ensure sound functionality: WinRunner provides checkpoints for text, GUI, bitmaps, URL links and the database, allowing testers to compare expected and actual outcomes and identify potential problems with numerous GUI objects and their functionality.

    Verify data integrity in your back-end database: Built-in Database Verification confirms values stored in the database and ensures transaction accuracy and the data integrity of records that have been updated, deleted and added.

    View, store and verify at a glance every attribute of tested objects: WinRunner’s GUI Spy automatically identifies, records and displays the properties of standard GUI objects, ActiveX controls, as well as Java objects and methods. This ensures that every object in the user interface is recognized by the scrīpt and can be tested.

    Maintain tests and build reusable scrīpts: The GUI map provides a centralized object repository, allowing testers to verify and modify any tested object. These changes are then automatically propagated to all appropriate scrīpts, eliminating the need to build new scrīpts each time the application is modified.

    Test multiple environments with a single application: WinRunner supports more than 30 environments, includin

  • 功能测试自动化演示视频(转载)

    2007-04-24 16:31:23

    功能测试自动化演示视频 by kernzhang

    2007-02-28 11:45:26

    昨晚我兴致所至,做了一个关于功能测试自动化演示的视频,如果大家感兴趣的话可以在51testing的FTP网站上进行下载,也希望各位同行共同参与讨论相关的话题!在此后面跟贴!呵呵

    下载地址:http://www.51testing.com/html/43/2134.html

     

    测试自动化视频讲座

    我最近做了几个关于自动化的视频讲座!大家有兴趣可以看看!我会不断把我的一些资料放在网络硬盘上提供给大家参考!呵呵!
    http://www.vdisk.cn/shareclub/SHOWSHARE.PHP?sid=48680
    密码是:kernzhang

    http://www.kernzhang.com/

  • 跟某人的交谈

    2007-04-23 15:28:29


    LR性能测试;C语言

    QTP功能测试;(C/S;B/S都可以) VB语言

    QC测试流程测试需求的管理(就是TD)。


    设计自动化测试工具的测试用例还是按照理论书籍上面的方法

    只是手工设计出来要手工执行,自动化写出来的用例可以自动化执行

    建立系统测试流程的总体思路  by ricky

    C公司目前有整套的Mercury测试工具,包括QC, WR, LR 等,测试流程相对来说并不十分规范,而且测试工具的价值也没有完整体现出来,针对这种情况,仓促进行测试自动化的引入,并不是十分合适,我的总体思路是这样的:

    Mercury QualityCenter为核心,把整个测试流程理顺. 按照我们的理解,现在已经拥有了Mercury的很多产品,包括QualityCenter, WinRunner, LoadRunner.我们可以以此为基础,进行二次开发,更好的发挥这些测试和管理工具的作用,提高他们的价值. 具体可以从以下几个方面进行.

    <!--[if !supportLists]-->1. <!--[endif]-->测试需求的管理

    利用QualityCenter的测试需求模块,把所有的测试需求进行管理, 新需求必须在提出的时候就录入系统,由流程进行自动跟踪,包括需求的更新,状态的改变等. 在此阶段需要输出一个测试需求分析文档。

    <!--[if !supportLists]-->2. <!--[endif]-->测试计划的管理

    利用QualityCenter的测试计划模块,进行测试计划的制订,包括测试用例的安排,测试资源规划,测试时间和测试进度的跟踪.测试风险的评估等.在此阶段需要输出一个测试总体方案文档。

    <!--[if !supportLists]-->3. <!--[endif]-->测试用例的管理

    测试用例包括手工测试用例和自动化测试用例, 分开进行.手工的测试用例必须统一录入QualityCenter,再正式测试进行之前,测试用例必须经过评审,评审通过的测试用例才能列入测试计划进行安排测试.目前的测试用例用Excel进行管理,有很多弊端,比如无法进行共享,测试用例的更新也不能很好的跟踪.在此阶段实际上是对测试总体方案按照系统模块进行细化,生成的测试用例一定要科学(具体的方法可以参见相应的资料),制定出合理的验证标准,必须邀请包含系统设计人员,开发人员,测试人员,甚至最终用户进行评审。

    <!--[if !supportLists]-->4. <!--[endif]-->自动化测试脚本的管理

    自动化测试用例的脚本,包括功能测试中的WinRunner,QTP的脚本,性能测试中LoadRunner的脚本以及第三方的测试脚本,统一在QualityCenter中进行版本的管理和控制. 包括脚本的创建,更新都需要进行严格的评审,必须按照代码规范编写. 测试的执行利用QualityCenter进行. 手工测试结果手工输入QualityCenter,自动化的测试结果自动导入到QualityCenter.必须明确,自动化测试不可能完全代替手工测试,就功能测试而言,自动化测试是回归测试的利器,是手工测试的补充。

    <!--[if !supportLists]-->5. <!--[endif]-->测试报告的管理

    利用QualityCenter的强大报表和报告功能,生成各种形式和格式的报告和报表,提交给管理层,作为控制整个项目进展的依据.测试报告中很重要的一项是缺陷描述,必须将缺陷对应的环境,版本,触发条件,是否可重现等描述清楚。

    <!--[if !supportLists]-->6. <!--[endif]-->测试缺陷的管理

    利用QualityCenter的流程管理,把测试需求,测试用例和测试过程中发现的缺陷自动关联起来.对提高整体的测试效率,提高整个产品的测试覆盖率都是有帮助的.缺陷的发现既是一个流程的结束,也是另一个流程的开始。

    最后,对于自动化测试,可以考虑构建一个单独的自动化执行平台,自动化脚本的管理平台还是利用QualityCenter, 自动化的执行平台可以提供更加强大的功能, 包括测试的定制,测试资源的安排,测试日志的记录,测试结果的分析和问题的定位.

     

  • 各种测试工具的系列号(转载)

    2007-04-20 10:01:18

    为了大家学习和工作的需要,我们一起努力,提供各种测试工具的系列号,以及安装方法和下载地址,麻烦大家一起来完善它,积极跟贴
    本人开个头吧!
          可用于LoadRunner 8.0 以下版本的序列号
          100 clients
          AEAMAUIK-YAFEKEKJJKEEA-BCJGI
         10000 web clients
         AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB

         QTP 8.2 的序列号
          0123-2820602186

    [LoadRunner.8.0.工业级测试工具].LoadRunner8.0[free_guru].rar 303.7MB
    http://lib.verycd.com/2005/10/01/0000067173.html

    WinRunner8.2.rar 192.7MB
    http://lib.verycd.com/2005/09/18/0000065515.html

    [QuickTest.Pro.8.2.中文版.强大测试工具].QuickTest_Pro_82_CHS_ENG.rar 253.3MB
    http://lib.verycd.com/2005/09/19/0000065551.html

    TestDirector80.rar 297.8MB
    http://lib.verycd.com/2006/03/19/0000095046.html

    以上所有序列号都包含在内

    LR8.1(中文版)破解方法大公布!(破解成功)(已经在以前的日志详细纪录过了)

    loadrunner8.1(含汉化包)的下载地址
    http://lib.verycd.com/2006/08/11/0000114991.html


     

  • 漫谈软件测试工程师与mercury认证

    2007-02-02 11:55:22Digest 1

    漫谈软件测试工程师与mercury认证

    作者: 叶赫华
    如需其他转载,请注明本网站和作者 sinckyzhang@hotmail.com

      自从本人从事软件测试培训以来,接触了太多的软件测试工程师;发觉从业者多数存在以下现象:
      ——刚刚毕业,踏入IT行业,不懂开发或开发经验薄弱,被迫或“亚被迫”从事软件测试工作;这心哪,瓦凉瓦凉的,一是根本不懂这工作是干嘛的,二是这工作不被很多公司重视,于是唏嘘的心里留下一声声叹息,蹒跚的人生步履留下一串串疑问…
      ——从事软件测试工作2年以上,由于公司不正规的测试流程,不标准的测试方法,因此,终日碌碌无为的点击按钮,某日拍脑袋突发奇想,测试出来一个bug,于是兴奋焉…终后没有新思路,于是没有发现新bug,于是不再兴奋;于是这两三年来,无论测试经验,还是测试技术、方法,包括理论,都无长进,于是郁闷甚至极度懊恼这几年来究竟做了些什么,明天又该何去何从呢?仰天长啸,却无语对穹苍…
      ——有过若干年开发经验,也许由于疲惫于终日编码,也许感觉软件测试是个朝阳领域,于是转做测试…但是好景不长,兴奋度持续一段时间,感觉自己的想法和思维方式与现实工作模式严重分歧,所谓天妒英才,空有一身本领,竟无用武之地!于是满腹的经纶化作无言的泪水,内心的豪情壮志也逐渐泯灭!接着开始逐渐适应了眼前的这份高级测试工程师的头衔和薪水,觉得干工作就是那么回事,何必计较那么多?虽未清晰构建余下二三十年的职业蓝图,但是也觉得起码自己比起很多同行,还算不赖;时间如流水般在烟圈与香水中消逝,吾生就是这样终日撞钟,铛——铛——铛——(好响!斑竹,猪头切一半给我,堵耳朵!)…
      如果您作为一名测试工程师,看了上述三种状况,感觉自己不属于任何一种,那么只有两种可能:一是您是超级高手——您聪明绝顶,有着可以大展宏图的工作机会,又有满意的薪资,而且对这一行业无限热爱…反正对您来说,一切都太完美了,无懈可击!二呢,也许您是个漠视一切、目空一切的家伙,天塌下来当被盖的那种,反正什么言论对您都无懈可击!为此,本人建议此两种人不看本文,以免互相拍砖,破坏安定团结的大好局面^-^。

      好啦,气氛活跃至此止,以下是严肃话题。

      如果您是个积极进取、想在年轻时成就一番事业的人,那么请绝对相信这几句话:
      ——行行出状元!
      ——人生能有几回搏!
      ——错过这村,就没这店了!
      为此,有必要说明下这几句俗语在软件测试行业的应用。首先,我们国内的很多软件测试从业者,是对软件开发不太擅长,但是又对软件行业又由衷的热爱,所以做了软件测试。但苦于读书时候没有学习过该方面知识,公司里又不一定有经验丰富的人员给予指导;因此,初涉软件测试的年轻朋友,大多做了半年、一年,感觉自身技能提高并不大,再加上整体行业发展缓慢,和网上的同行一交流,更是感觉软件测试没有希望,自己的前途黯淡无光!无奈只好终日吟唱“我的天是灰色,我的心是蓝色…”常言道,“男怕选错行,女怕嫁错郎!”——当然如今男女平等了,尤其软件测试从业者,男女比例基本上还算对等——那么,是不是软件测试行业真的没前途?软件测试工程师真是低人一等呢?当然不是,而且绝对不是!和软件开发领域相比,测试发展不过短短的10来年,而且主要是近三五年,所以整体行业不成熟也就情有可原。但是换句话说,乱世出英雄!如果你学软件开发,你知道作为一名合格开发工程师需要学习什么,知道开发工程师的待遇如何,知道开发工程发展前景如何;但是测试行业还没有发展到让你足够看清这些东西的阶段,所以在软件行业中对于喜欢挑战性职业的人,那么软件测试绝对是个好的突破口。各种统计数据表明,国内软件测试的人才缺口,未来几年将达到30到40万,所以对于朋友们来说,干这行还是有相当大的发展空间!但是,如何在众多的从业者中独树一帜、成为行业状元呢?这就需要技巧了!
      再说第二方面。记得有句歌词叫“无怨无悔我走我路,走不尽天涯路…”!如今这个年代,各行各业竞争都很激烈,很难再有90年代初猛然蹦出一批暴发户的机会;因此,不管你因为什么选择了软件测试行业,都要无悔的走下去,只要有决心和毅力,终会成就正果!网上有篇文章叫《不做浮躁的人》,说的很好,我想我们确实该脚踏实地的做些事情,提高自己。抱怨这个行业只会让心情更加压抑,投入的做些具体的事情,待到自己有足够能力的时候,那么你就是推动这个行业发展的先驱;如此一举多得的事情,干吗不做呢!做踏实的人,不做抱怨的人,就算我们改变不了这个世界,也不要在这个世界里迷失自我。换句话说,年轻时候不卖力做点事情,老来方悔则一切晚矣,回首这一生,碌碌无为,可怜、可叹…这也是我要说的“人生能有几回博”。
      唱了这么多高调,鼓舞一下大家的气势。那么,究竟如何在国内的软件测试行业现状下找到一条适合自己发展、并能快速提高职业技能的捷径呢?

      我想应该从测试工程师的职业生涯定位谈起。从宏观意义讲,软件测试可以划分为以下三个方面:
      ●软件测试管理:测试流程管理、测试职业管理,测试技能方法管理等
      ●软件测试技术方法:根据软件测试的不同阶段周期、不同测试类型、不同软件类型等,深入研究软件测试的技术及方法
      ●软件测试自动化:自动化测试流程、自动化测试管理、自动化测试工具等
      软件测试大致分为以上三类,每类可细化为更多子方面,例如第二类根据测试类型还可细化为功能测试、性能测试、安全测试等,根据测试方法可细化为黑盒测试、白盒测试、灰盒测试等。因此,软件测试工程师的职业发展方向,也大致可以如此粗略分类,并逐渐细化。这里,之所以将软件测试自动化单独列出来,是考虑到软件测试自动化既包括技术方法方面,又包含管理方面;更重要的是,软件测试自动化是软件测试领域无法逾越的发展阶段,随着应用软件程序规模的不断扩大,业务逻辑的不断复杂,以及从业者相互协作关系的日益重要,在软件的测试活动里适当使用自动化测试是非常必要的;并且,这种思维已经逐渐在国内外众多软件企业的测试领导者头脑中定型,他们也都意识到自动化测试的种种优势,并都或多或少希望购买和培训自动化测试工具。我们接触的很多大中型软件公司,包括外企,甚至早就在内部实施自动化测试,其中以使用mercury loadrunner、quicktestpro以及testdirector等工具的企业用户居多。
      这里我想对喜欢自动化测试或立志成为自动化测试工程师的同行朋友说点个人想法,并结合mercury自动化测试工具,推荐些许学习方法,以供大家参考。
      1)如果你有过开发经验,哪怕一点点,并且一直以来从事的是功能测试工作,那么推荐你学习自动化功能测试工具,并在此方面深入研究下去。该职位待遇一般是本地城市手工测试工程师的两倍左右,如果到达高级自动化测试工程师职位,从事自动化测试设计或测试框架的开发,待遇会更高。Mercury公司的winrunner和quicktestpro,是目前最主流的自动化功能测试工具,学习二者的方法也很简单,只要懂得c语言和VBscrīpt即可。要深入学习,当然还要熟悉自动化功能测试的流程、管理及深层开发(包括测试框架、库函数等)。当前国内的应用软件开发,主流还是c/s与b/s两种架构,前者一般采用vb、vc、delphi、pb或java等开发,而winrunner工具对此类软件支持得比较好,很适合在这样的软件测试活动中采用自动化测试;后者一般是采用.net或j2ee技术开发的基于浏览器类软件,测试该类软件就非quicktestpro莫属了,它是mercury公司专门针对web程序的自动化测试工具。由于自动化功能测试工具品牌多,入门简单,因此,也是众多立志成为自动化测试工程师的首选。
      2)作为一名软件测试从业者,我们知道执行性能测试,使用手工方式是无法想象的,因此借助工具来实现是非常必要的。目前业内存在两种现状:一是很多公司为了节约购买工具的成本或本身不要求软件性能指标而干脆不执行性能测试;二是由于性能测试是一门博大精深的技术工作,起步较高,因此这方面的高手不多,造成很多大中型软件企业或外企严重缺乏性能测试工程师!性能测试工程师待遇,一般是本地手工测试工程师的三倍甚至更多;我们接触的企业客户需求里,很多开价上万的性能测试工程师职位,竟然很难招到。随着软件开发技术越来越高深,业务逻辑越来越复杂,对软件的质量要求同样也会越来越高,软件一定会存在性能缺陷,因此对软件的性能要求也会随之而来;况且,软件的性能指标是软件用户手册里的重要组成部分,从正规测试流程上来说,凡是网络应用软件,不可不做性能测试!但是,从事性能测试的工程师,需要掌握太多的知识,包括计算机网络、数据库、操作系统、服务器等,而且还要有深厚的性能测试计划、设计、分析能力,以及丰富的性能测试经验,这些如果单靠个人的自行摸索,肯定是不太实际的。Mercury公司的loadrunner,是目前国际上性能测试工具的绝对领导者,具有百分之75的市场占有率;在国内,业界同行也都是提起性能测试首先想到loadrunner;因此loadrunner是在软件测试领域里立志成为一名合格的、优秀的性能测试工程师的朋友们的绝对首选。
      3)如果你从来没有过软件开发经验,一直从事的只是手工测试,而且对软件测试的流程管理有着浓厚的兴趣,尤其对于那些从事测试的姑娘们!testdirector都听说吧?它集测试需求、测试用例、测试执行、软件缺陷管理于一身,将软件测试的整个流程统一管理,并支持异地分布式测试资源管理。和众多的软件测试同行接触,我们愈加发现一个问题,那就是我们很多的业界朋友,缺乏完整的、系统的软件测试知识体系,喜欢满足现状,而不去思考如何更加有效的实施软件测试活动,优化软件测试流程。针对这种现状,学习国外优秀的软件测试流程与管理经验,就理所当然了。而testdirector就是当前市场上最优秀的软件测试流程与资源管理的工具,目前本人还未见过一款测试管理工具集成如此众多功能(当然它的升级版quality center也是mercury公司的)。因此,掌握该款工具的使用,是立志成为软件测试管理者的一个非常必要的方面。
      4)其他自动化测试领域,本文暂不讨论,例如白盒测试、特殊类型测试等。

      那么,什么是开拓上述三种自动化测试职业的捷径呢?
      答案很简单,如果你可以抛开世俗观念,考取mercury认证绝对是捷径!
      下面我要向大家论证考取mercury认证的几大理由:
      首先,mercury公司是软件质量保证工具开发商中的绝对领导者。下图是美国gartner公司的最新调查结果,位于坐标第一象限最右上角的就是mercury,图中还有其他我们熟知的几个公司,如IBM rational、compuware等,但是mercury长久以来,一直独占着软件测试工具提供商的领先地位,包括很多在华投资成立软件研发基地的外企,他们多数都是使用mercury测试工具。如果有了这个测试工具供应商的王者,那么,想要学习自动化测试工具,有什么理由不选择mercury呢? 其次,拿本人经验来说,有了mercury工具的使用经验,即便将来所在公司不使用该款工具,那么再学习其他的工具也会相当顺手,不费吹灰之力!为什么呢?举例来说,比如loadrunner的网络协议是本人所接触的性能测试工具中,支持最多的(相信很多人会同意我这个观点),如果将来你打算换用webload、silkperformer(当然它们的局限性要比loadrunner大的多)等性能测试工具,绝对不会比loadrunner还复杂;再比如拿quicktestpro和其他针对web程序的测试工具(如qawizard、XDE Tester等)相比,使用更是完全类似(不了解的人可以到本人blog查看我的文章去亲自对比)。至于testdirector,更是独一无二的功能强大的测试管理工具,没的选择!



      再次,如果你的眼光足够长远,能够看清未来软件测试中自动化测试的重要地位,那么你更应该选择。回想当年的思科认证,刚刚推出时候价格昂贵,但是依然有那么多的人去考。为什么呢?因为有大量的需求!认证通过的人过后都认为这笔投入值得!类比软件测试行业,虽然现在还没到达计算机网络行业发展的那样成熟,但是未来的两三年后,如果有一天到处都是自动化测试的人才需求,到时再临时抱佛脚,相信你不会有什么优势了。任何认证都是初期最有价值的,如果抓住机会在推广初期考取,等到这个认证普遍到一定程度,你已经有了几年的实用经验,所以优势仍在、风采依然!顺便提醒一句,计算机行业发展是相当快的,回首过去这3年,软件测试行业一直是在飞速前进的。如果错过如今这段大好时光,没有及时为自己充电,那么如今你这位软件测试新手,到了3年以后,依然是新手,只是比那时刚毕业的热血青年显得沧桑了一些… 所谓岁月不等人咧,这也是我前边要说的“过了这村就没这店啦”…
      然后,我要说明为什么要考取mercury认证,而不考其他认证。理由很简单,本人一直坚定的认为软件测试是实用性学科,是实践性工作,重理论而不强调理论,不断实践同时积累经验,遵守规范并不断创新!如果你为了眼前一个工作机会而花点小钱,获得一个什么机构颁发的资格认证,尤其那种完全理论性的、满篇题目都是“负载测试与压力测试什么区别”之类的恶心至极的题目的考试,那么恕我直言,你真是鼠目寸光!试问这样的认证有什么用呢?哪个企业的老板会笨到雇用一个纸上谈兵的军师呢?况且你这个军师也是“墙上芦苇,头重脚轻根底浅;山间竹笋,嘴尖皮厚腹中空”!坦诚的说一句,为了应付这样的考试花2个星期背那些题目,都不如下载个试用版loadrunner,对照网上的使用手册练习一下工具的使用!
      最后,我要说一个实际的问题,那就是money了。相比当年的思科认证、微软认证的上万元报名费,mercury认证的三千多、六千多,还是相当便宜的。最直白的说一句,如果你的眼下薪资有3k,花一个月或两过月的薪水买个“国际认证”,那么这件事绝对值得!当然,考取mercury认证的真正核心价值,完全是顺应软件测试自动化的时代潮流,掌握最先进的软件测试自动化技术和管理方法。

    最最后,再为有志于考取mercury认证的同行朋友给予一点点建议。
      如果你是初涉软件测试行业的测试工程师,没有或很少接触过自动化测试,那么可以从mercury认证的CPE(certification product education)开始,该认证是mercury认证的汉化版,通过者可以掌握mercury认证工具的完全使用。
      如果你具有了3个月以上的mercury工具使用经验,英文能力还不错,或者通过了CPE考试,那么可以直接考取CPS(certification product specialist),之后考取CPC(certification product consultant)。这两种考试都是英文,证书由美国mercury总部颁发,后者价值大于前者,考试难度也大于前者。并且,二者认证已经不限于工具本身的使用,而是结合了代表mercury公司作为软件测试行业龙头地位的先进、正规的自动化测试流程,其通过者也相当受大中型软件公司、尤其外企的青睐,当然这一需求也是我们在长期积累的企业客户关系中总结出来的。

      送上最后一句至理名言----“命运掌握在自己的手中”!如果你对一件事物犹豫不决的时候,那么请尝试学习《卡耐基成功之道》里介绍的方法,在纸上分别写下做此事的理由与不做此事的理由,如果此事的可行性是百分之五十一,那么就别再踌躇了,放心大胆的去做吧!时间会证实一切,因为你的确在进行着一件该行业前所未有的划时代式活动;记住,上帝宠爱勤奋的孩子,他会与你并行….(祝福ing)  

    (2005年7月5日于上海无空调的日子)  

      写在后面的话:决定写这篇文章的时候,已经知道没办法避免广告嫌疑了;因为本人就在51testing,而且国内仅此一家代理mercury认证!就算从职业道德上讲,也要维护本公司利益!不反对吧?再者,您真的认为本文就是个华丽的广告而已?^-^这是其一。
      其二,注意我的措辞“如果你能屏弃对认证的世俗观念”,如果不能,对本文进行抨击也没有必要,怎么说我们也是同行!而且,我在文章最初也说了,如果你看了文章觉得让你血压升高,其实根本没必要看完的,对吧^-^
      其三,我在文章强调考取该认证是个在测试行业快速成长和提高的快捷方式,不是必须!
      其四,对于有朋友问的认证后有何用处,我觉得还是有很大好处的。在我们接触的众多企业客户里,还是很多大中型软件企业购买工具,实施自动化,但是想招一位自动化测试专家来在公司实施这件事,还是有很大难度,原因就是这样的人太少了。所以,我觉得如果你能经过该认证对自动化测试方面的系统培训并通过考试,面对此类人才需求,肯定还是有大展宏图的机会的(当然对此没兴趣的人,还是当我废话算了)。
Open Toolbar