I would share the testing experience with you. I wish we'll improve together.

发布新日志

  • Postman简介

    2021-12-23 21:28:14

    Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件

    Postman背景介绍

    用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。

    Postman的操作环境

    postman适用于不同的操作系统,Postman Mac、Windows X32、Windows X64、Linux系统,还支持postman 浏览器扩展程序、postman chrome应用程序等。

    Postman重要提示:

    由于2018年初chrome停止对chrome应用程序的支持,你的postman插件可能无法正常使用了。目前chrome应用商店能使用的就是chrome扩展程序和主题背景。

    postman基础功能介绍

    首先,看一下它的基础功能
  • Postman简介

    2021-12-23 21:25:36

    Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件

    Postman背景介绍

    用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。

    Postman的操作环境

    postman适用于不同的操作系统,Postman Mac、Windows X32、Windows X64、Linux系统,还支持postman 浏览器扩展程序、postman chrome应用程序等。

    Postman重要提示:

    由于2018年初chrome停止对chrome应用程序的支持,你的postman插件可能无法正常使用了。目前chrome应用商店能使用的就是chrome扩展程序和主题背景。



    作者:依北辰
    链接:https://www.jianshu.com/p/97ba64888894
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • Jmeter(一)简介以及环境搭建

    2019-03-06 10:24:05

     

     Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
    Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
                                                                    ----百度百科
      The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior. and measure performance. It was originally designed for testing Web Applications but has since expanded to other test functions.

    What can I do with it?

    Apache JMeter may be used to test performance both on static and dynamic resources, Web dynamic applications. 
    It can be used to simulate a heavy load on a server, group of servers, network or object to test its strength or to analyze overall performance under different load types.

    Apache JMeter features include:

      • Ability to load and performance test many different applications/server/protocol types:
        • Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …)
        • SOAP / REST Webservices
        • FTP
        • Database via JDBC
        • LDAP
        • Message-oriented middleware (MOM) via JMS
        • Mail - SMTP(S), POP3(S) and IMAP(S)
        • Native commands or shell scripts
        • TCP
        • Java Objects
      • Full featured Test IDE that allows fast Test Plan recording (from Browsers or native applications), building and debugging.
      • Command-line mode (Non GUI / headless mode) to load test from any Java compatible OS (Linux, Windows, Mac OSX, …)
      • A complete and ready to present dynamic HTML report
      • Easy correlation through ability to extract data from most popular response formats, HTMLJSON XML orany textual format
      • Complete portability and 100% Java purity.
      • Full multi-threading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.
      • Caching and offline analysis/replaying of test results.
      • Highly Extensible core:
        • Pluggable Samplers allow unlimited testing capabilities.
        • Scriptable Samplers (JSR223-compatible languages like Groovy and BeanShell)
        • Several load statistics may be chosen with pluggable timers.
        • Data analysis and visualization plugins allow great extensibility as well as personalization.
        • Functions can be used to provide dynamic input to a test or provide data manipulation.
        • Easy Continuous Integration through 3rd party Open Source libraries for Maven, Graddle and Jenkins                                                                                                                                                                                                                  ---------官方介绍(传送门:http://jmeter.apache.org/)  

      个人见解:Jmeter是一款十分优秀的工具,不过笔者觉得它和平常的工具不一样;首先Jmeter是跨系统的,在windows、Mac、Linux均可使用;一方面在于它支持丰富的协议(HTTP、FTP、JDBC、SOCKET。。。);功能方面也相对比较健全(各种各样的逻辑处理,如条件判断,循环,仅一次等等);各种检查点,对文本、Java对象均可进行处理;丰富的图表展示;此外还有许多第三方插件支持以及第三方集成;且最重要的是开源的。。。

      Jmeter安装:

          Jmeter是在JVM上运行的,因此必须先要安装JDK,不过切记一点,截至今天,Jmeter已经更新到3.3版本,它是不支持JDK1.9的,切记!

          

          传送门(http://jmeter.apache.org/download_jmeter.cgi)

          

          至于JDK安装以及环境变量配置,此处便不再列举;

          Jmeter环境变量配置:

          1,变量名:JMETER_HOME

             变量值:E:\apache-jmeter-3.2(根据自己的解压目录而定,笔者使用的是Jmeter3.2的版本)

          2,变量名:CLASSPATH

             变量值:%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;

       OK,环境变量配置结束,可以至E:\apache-jmeter-3.2\bin(安装目录下bin目录)下寻找jmeter.bat文件,双击打开。(可能安装会遇到各种各样的问题,笔者曾经在某些技术群中发现有不用配置环境变量便可以使用(至于到底什么情况,不是当事者也不清楚);还有找不到bat文件(系统默认将后缀名进行隐藏掉了嘛))

       

      

     

         看到上方小黑窗,随后下方Jmeter的弹窗跳出来。那么恭喜你,Jmeter已经被你给拿下了。

        可以观察该小黑窗中的同时内容,

            Don't use GUI mode for load testing, only for Test creation and Test debugging !
            For load testing, use NON GUI Mode:
            jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]
            & adapt Java Heap to your test requirements:
            Modify HEAP="-Xms512m -Xmx512m" in the JMeter batch file

        不要使用GUI模式进行负载测试,只用于测试创建和调试!---------------------what mean?

        GUI模式----便是下方的弹窗,此处的意思便是推荐使用GUI模式进行创建脚本以及调试脚本,不推荐进行负载测试(所谓负载测试是属于性能测试的一种类型,通过测试系统在资源超负荷情况下的表现,以发现设计上的错误和验证系统的负载能力,在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力;负载测试的目的是确定并确保系统在超出最大预期工作量的情况下仍能正常运行,此外,负载测试还要评估性能特征;例如:响应时间、事务处理速率和其他与时间相关方面),因此可以看出负载测试是比较浪费系统资源的,GUI界面本身便很浪费资源,因此如果出现大并发或者机器处于大负载的情况下,非但不会得到你想要的结果,机器是必然会出现卡死的情况。

        不过,小黑窗的下方一段话也给出了解决方案:

        For load testing, use NON GUI Mode:
            jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]
            & adapt Java Heap to your test requirements:
            Modify HEAP="-Xms512m -Xmx512m" in the JMeter batch file

        对于负载测试使用no-GUI的方式进行运行:

            jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]

        这段命令便是NO-GUI的方式运行。

        或者进行修改堆内存的大小:

            Jmeter的默认堆为512m,因此,如果使用Jmeter进行负载测试建议将堆内存进行修改到合适的大小;

        修改方法:

          至E:\apache-jmeter-3.2\bin,使用文本编辑器模式将jmeter.bat文件打开,进行修改heap:

      

     

         修改此处的堆内存大小只是一种手段,但并不是万能的。因此,做负载测试还是需要进行谨慎分析,再下结论。

        OK,本篇先记录到这。。

        

     

      

      

     

  • 数据测试方法

    2019-02-27 16:49:42

    最近的项目测试重点是数据库的测试,因为我们公司的数据库中数据准确性非常重要,现在总结出来分享给大家

        1、数据库日志查看测试法。

    这个方法就是你在前台添加一条数据,然后查看数据库中的日志,通过对日志的查看来明确数据的流向。从而来测试数据的正确性。

        2、接口数据的测试方法。

    这个方法也是跟开发人员学习来的。当2个系统之间有接口时,接口传输中数据的正确性非常重要。这时候可以将系统1中与接口有关的数据提取出来形成临时表;将系统2中与接口有关的数据提取出来形成临时表。比对2个表的接口数据的一致性。通过这种方法可以发现接口数据是否一致。当然,直接在前台看2个系统的数据是否一致也是很好的方法之一。

        3、数据测试的统计方法。

    这个方法可以同方法2组合使用,当一个系统试运行了一段时间后,可以统计系统一个月内或2个月内的数据,查看数据的正确性。因为由于数据流向的复杂性,导致我们测试数据正确性时很难能覆盖到所有的情况。这时就可以采用统计法来测试。

        4、对报表参数的整理测试法。

    对每个前台页面需要呈现的或生成的参数,整理一个计算方法。即此参数与后台哪些表相关,是怎么生成的。梳理数据库之间关系了解数据流,做一个数据流测试用例,根据用例执行追踪数据测试结果。

        上面是总结的4条测试方法,可能还不齐全,希望大家一起来补充。还有一点是当页面查询没有任何数据时,这时候一定要弄清楚为什么没有任何数据,可以在数据库中跟踪数据。好了,唠叨这么多。希望大家多提建议吧。

  • 数据库中数据测试的几种测试方法

    2019-02-27 16:35:35

    最近的项目测试重点是数据库的测试,因为我们公司的数据库中数据准确性非常重要,现在总结出来分享给大家

        1、数据库日志查看测试法。

    这个方法就是你在前台添加一条数据,然后查看数据库中的日志,通过对日志的查看来明确数据的流向。从而来测试数据的正确性。

        2、接口数据的测试方法。

    这个方法也是跟开发人员学习来的。当2个系统之间有接口时,接口传输中数据的正确性非常重要。这时候可以将系统1中与接口有关的数据提取出来形成临时表;将系统2中与接口有关的数据提取出来形成临时表。比对2个表的接口数据的一致性。通过这种方法可以发现接口数据是否一致。当然,直接在前台看2个系统的数据是否一致也是很好的方法之一。

        3、数据测试的统计方法。

    这个方法可以同方法2组合使用,当一个系统试运行了一段时间后,可以统计系统一个月内或2个月内的数据,查看数据的正确性。因为由于数据流向的复杂性,导致我们测试数据正确性时很难能覆盖到所有的情况。这时就可以采用统计法来测试。

        4、对报表参数的整理测试法。

    对每个前台页面需要呈现的或生成的参数,整理一个计算方法。即此参数与后台哪些表相关,是怎么生成的。梳理数据库之间关系了解数据流,做一个数据流测试用例,根据用例执行追踪数据测试结果。

        上面是总结的4条测试方法,可能还不齐全,希望大家一起来补充。还有一点是当页面查询没有任何数据时,这时候一定要弄清楚为什么没有任何数据,可以在数据库中跟踪数据。好了,唠叨这么多。希望大家多提建议吧。

  • Jmeter性能测试入门

    2017-11-22 09:18:00

    Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。

    熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了。

    【可可的教程】,将会覆盖Jmeter的各个功能,并且会通过丰富的实例,让读者快速掌握Jmeter的各种用法 。

    本文将通过一个实际的测试例子, 来讲解Jmeter的基本用法。本文的最后提供了本篇文章的脚本。 不喜欢看文章的同学直接看脚本也能看懂

    阅读目录 

    1. Jmeter介绍
    2. 如何学好Jmeter
    3. Jmeter下载和运行
    4. 实际测试的例子
    5. 第一步: 新建Thread Group
    6. 第二步: 新建HTTP Request
    7. 第三步: 新建HTTP Header Manager
    8. 第四步: 新建 View Results Tree
    9. 第五步: 运行测试,查看结果
    10. 第六步: 添加Assertion和Assertion Results
    11. 第七步: 使用用户自定义变量
    12. 第八步: 关联
    13. 源代码下载
    Jmeter介绍

    Jmeter  是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试). 

    而且用Jmeter 来测试 Restful API, 非常好用。

    如何学好Jmeter

    如果你用Jmeter去对Web进行功能测试,或者性能测试。 你必须熟练HTTP协议,才能学好Jmeter。 否则你很难理解Jmeter中得概念。

    不熟悉HTTP协议的话,可以参考http协议教程


    Jmeter下载和运行

    官方网站:http://jmeter.apache.org/

    解压后, 运行  “bin/jmeter.bat”   

    Jmeter 是支持中文的, 启动Jmeter 后, 点击 Options -> Choose Language  来选择语言


    实际测试的例子


    目标: 获取城市的天气数据:

     

    第一步: 发送request 获取城市的城市代号
    http://toy1.weather.com.cn/search?cityname=上海 

    从这个请求的response 中获取到上海的城市代码. 比如:

    上海的地区代码是101020100

    上海动物园的地区代码是:  10102010016A

     

    第二步:  发送request 到: http://www.weather.com.cn/weather2d/101020100.shtml   可以得到该城市的天气数据


    第一步: 新建一个Thread Group

    必须新建一个Thread Group,  jmeter的所有任务都必须由线程处理,所有任务都必须在线程组下面创建。

    第二步:新建一个 HTTP Request

    比如我要发送一个Get 方法的http 请求: http://toy1.weather.com.cn/search?cityname=上海 

    可以按照下图这么填

    第三步 添加HTTP Head Manager

    选中上一步新建的HTTP request. 右键,新建一个Http Header manager. 添加一个header

    第四步: 添加View Results Tree

    View Results Tree 是用来看运行的结果的

    第五步:运行测试,查看结果

    到这里。 我们已经成功运行起来了

    第六步:添加Assertion和Assert Results

    选择HTTP Request, 右键 Add-> Assertions -> Response Assertion.  添加 Patterns To Test

    然后添加一个Assetion Results 用来查看Assertion执行的结果. 

    选中Thread Group 右键  Add -> Listener -> Assertion Results. 

    运行后, 如果HTTP Response中没有包含期待的字符串。 那么test 就会Fail. 

    第7步: 使用用户自定义变量

    我们还可以在Jmeter中定义变量。 比如我定义一个变量叫 city.    使用它的时候用  ${city}

    添加一个 User Defined Variables.  选中Thread Group: 右键 Add -> Config Element -> User Defined Variables.

    我们添加一个变量: city

    然后在Http Request中使用这个变量

    第八步:关联

    所谓关联, 就是第二个Requst, 使用第一个Request中的数据

    我们需要在第一个Http Requst 中新建一个正则表达式,把Response的值提取到变量中,提供给别的Http Request 使用

    选择第一个Http Request, 右键 Add -> Post Processors -> Regular Expresstion Extractor

    到这, 脚本就全部写好了, 运行下,看下最终结果

  • bugfree 的安装及注意事项

    2011-04-14 13:16:48

    Bugfree是一款优秀的开源的缺陷管理工具。目前的版本为2.0版。 由于bugfree是用PHP开发的,数据库用的也是开源的mysql,所以安装时要配置apache、php、mysql,对于生手比较麻烦,且容易出错。基于此考虑,同样有一款开源工具xampp可以极大的减少配置工作量。以下就列出在我的机器上装Bugfree的详细过程,初装的朋友们可作参考:

    安装步骤如下:
    1. 在Windows上安装Apache,PHP,Mysql软件包,例如xampp, easyphp等,我用的是xampp-win32-1.6.3a-installer.exe,可以到其官方网站去下载。我的xampp安装目录为D:\xampp\。
    2. 下载BugFree安装包BugFree 2.0 RC1 build ,解压完成后,把解压后的Bugfree目录拷贝到D:\xampp\htdocs\目录下。
    3.在ie中运行 http://localhost:81/bugfree/install.php,进入安装界面。选择“安装全新的 BugFree2”,一步步完成安装即可。注意,要选择“创建数据库”。安装完毕后,删除目录中的install.php文件。
    4.在ie中运行http://localhost:81/bugfree/Login.php,即可进入登陆bugfree界面,如果没有修改默认用户名密码,则管理员为admin,密码为123456。
    注: 如果是从BugFree 1.x升级,需要把1.1版的BugFile目录下的文件拷贝到2.0版的BugFile目录下。

    安装注意事项:
    端口冲突问题:
    在我的机器上已经装了iis,安装xampp时,默认apache端口号为80,同iis(占用了80和443端口)冲突导致无法启动apache。这就需要手动设置apache的端口号。
    察看当前端口占用情况netstat -an -p tcp -o。
    修改apache端口:我的xampp装在了D:\xampp\目录下,所以查找D:\xampp\apache\conf目录,修改 httpd.conf文件,把listen 80修改成所分配的端口,如listen 81. 修改ServerName localhost:80为ServerName localhost:81。 同时,为了解决iis占用了443端口的问题,修改D:\xampp\apache\conf\extra\httpd-ssl.conf,将所有443 端口改为2117。然后,apache就可以启用了。

    关于xampp的简介:
    xampp-win32-1.6.3a-installer.exe。
    该安装包适用于 Windows 98、NT、2000、XP 和 Vista 的发行版。Vista 注意事项: 由于vista默认设置时没有足够的c:\program files 这个目录的写入权限, 我们建议把XAMPP放到其它目录、比如 c:\xampp 或 c:\myfolder\xampp。
    该版本包括:Apache、MySQL、PHP + PEAR、Perl、mod_php、mod_perl、mod_ssl、OpenSSL、phpMyAdmin、Webalizer、Mercury Mail Transport System for Win32 and NetWare Systems v3.32、Ming、JpGraph、FileZilla FTP Server、mcrypt、eAccelerator、SQLite 和 WEB-DAV + mod_auth_mysql。


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/eigo/archive/2008/03/21/2202645.aspx

  • 自我激励的十二种方法——转

    2009-04-14 15:22:51

    作者:Steve Chandler  来源:世界经理人杂志

    在我们不断塑造自我的过程中,影响最大的莫过于是选择乐观的态度还是悲观的态度。我们思想上的这种抉择可能给我们带来激励,也有可能阻滞我们前进。

        清晰地规划目标是人生走向成功的第一步,但塑造自我却不仅限于规划目标。要真正塑造自我和自己想要的生活,我们必须奋起行动。莎士比亚说得好:"行动胜过雄辩。"

        一旦掌握自我激励,自我塑造的过程也就随即开始。以下方法可以帮你塑造自我,塑造那个你一直梦寐以求的自我。

     树立远景迈向自我塑造的第一步,要有一个你每天早晨醒来为之奋斗的目标,它应是你人生的目标。远景必须即刻着手建立,而不要往后拖。你随时可以按自己的想法做些改变,但不能一刻没有远景。

    离开舒适区不断寻求挑战激励自己。提防自己,不要躺倒在舒适区。舒适区只是避风港,不是安乐窝。它只是你心中准备迎接下次挑战之前刻意放松自己和恢复元气的地方。

    把握好情绪人开心的时候,体内就会发生奇妙的变化,从而获得阵阵新的动力和力量。但是,不要总想在自身之外寻开心。令你开心的事不在别处,就在你身上。因此,找出自身的情绪高涨期用来不断激励自己。

    调高目标许多人惊奇地发现,他们之所以达不到自己孜孜以求的目标,是因为他们的主要目标太小、而且太模糊不清,使自己失去动力。如果你的主要目标不能激发你的想象力,目标的实现就会遥遥无期。因此,真正能激励你奋发向上的是,确立一个既宏伟又具体的远大目标。

    加强紧迫感20世纪作者Anais Nin(阿耐斯)曾写道:"沉溺生活的人没有死的恐惧"。自以为长命百岁无益于你享受人生。然而,大多数人对此视而不见,假装自己的生命会绵延无绝。惟有心血来潮的那天,我们才会筹划大事业,将我们的目标和梦想寄托在Denis Waitley(丹尼斯)称之为"虚幻岛"的汪洋大海之中。其实,直面死亡未必要等到生命耗尽时的临终一刻。事实上,如果能逼真地想象我们的弥留之际,会物极必反产生一种再生的感觉,这是塑造自我的第一步。

     撇开朋友对于那些不支持你目标的"朋友",要敬而远之。你所交往的人会改变你的生活。与愤世嫉俗的人为伍,他们就会拉你沉沦。结交那些希望你快乐和成功的人,你就在追求快乐和成功的路上迈出最重要的一步。对生活的热情具有感染力。因此同乐观的人为伴能让我们看到更多的人生希望。

    迎接恐惧世上最秘而不宣的秘密是,战胜恐惧后迎来的是某种安全有益的东西。哪怕克服的是小小的恐惧,也会增强你对创造自己生活能力的信心。如果一味想避开恐惧,它们会象疯狗一样对我们穷追不舍。此时,最可怕的莫过于双眼一闭假装它们不存在。

     做好调整计划实现目标的道路绝不是坦途。它总是呈现出一条波浪线,有起也有落。但你可以安排自己的休整点。事先看看你的时间表,框出你放松、调整、恢复元气的时间。即使你现在感觉不错,也要做好调整计划。这才是明智之举。在自己的事业波峰时,要给自己安排休整点。安排出一大段时间让自己隐退一下,即使是离开自己挚爱的工作也要如此。只有这样,在你重新投入工作时才能更富激情。

    直面困难每一个解决方案都是针对一个问题的。二者缺一不可。困难对于脑力运动者来说,不过是一场场艰辛的比赛。真正的运动者总是盼望比赛。如果把困难看作对自己的诅咒,就很难在生活中找到动力。如果学会了把握困难带来的机遇,你自然会动力陡生。

    首先要感觉好多数人认为,一旦达到某个目标,人们就会感到身心舒畅。但问题是你可能永远达不到目标。把快乐建立在还不曾拥有的事情上,无异于剥夺自己创造快乐的权力。记住,快乐是天赋权利。首先就要有良好的感觉,让它使自己在塑造自我的整个旅途中充满快乐,而不要再等到成功的最后一刻才去感受属于自己的欢乐。

    加强排练先"排演"一场比你要面对的珲要复杂的战斗。如果手上有棘手活而自己又犹豫不决,不妨挑件更难的事先做。生活挑战你的事情,你定可以用来挑战自己。这样,你就可以自己开辟一条成功之路。成功的真谛是:对自己越苛刻,生活对你越宽容;对自己越宽容,生活对你越苛刻。

    立足现在锻炼自己即刻行动的能力。充分利用对现时的认知力。不要沉浸在过去,也不要耽溺于未来,要着眼于今天。当然要有梦想、筹划和制订创造目标的时间。不过,这一切就绪后,一定要学会脚踏实地、注重眼前的行动。要把整个生命凝聚在此时此刻。

    敢于竞争竞争给了我们宝贵的经验,无论你多么出色,总会人外有人。所以你需要学会谦虚。努力胜过别人,能使自己更深地认识自己;努力胜过别人,便在生活中加入了竞争"游戏"。不管在哪里,都要参与竞争,而且总要满怀快乐的心情。要明白最终超越别人远没有超越自己更重要。

    内省大多数人通过别人对自己的印象和看法来看自己。获得别人对自己的反映很不错,尤其正面反馈。但是,仅凭别人的一面之辞,把自己的个人形象建立在别人身上,就会面临严重束缚自己的危险。因此,只把这些溢美之词当作自己生活中的点缀。人生的棋局该由自己来摆。不要从别人身上找寻自己,应该经常自省并塑造自我。

    走向危机危机能激发我们竭尽全力。无视这种现象,我们往往会愚蠢地创造一种追求舒适的生活,努力设计各种越来越轻松的生活方式,使自己生活得风平浪静。当然,我们不必坐等危机或悲剧的到来,从内心挑战自我是我们生命力量的源泉。圣女贞德(Joan of Arc)说过:"所有战斗的胜负首先在自我的心里见分晓。"

    精工细笔创造自我,如绘巨幅画一样,不要怕精工细笔。如果把自己当作一幅正在描绘中杰作,你就会乐于从细微处做改变。一件小事做得与众不同,也会令你兴奋不已。总之,无论你有多么小的变化,点点都于你很重要。

    敢于犯错有时候我们不做一件事,是因为我们没有把握做好。我们感到自己"状态不佳"或精力不足时,往往会把必须做的事放在一边,或静等灵感的降临。你可不要这样。如果有些事你知道需要做却又提不起劲,尽管去做,不要怕犯错。给自己一点自嘲式幽默。抱一种打趣的心情来对待自己做不好的事情,一旦做起来了尽管乐在其中。

    不要害怕拒绝不要消极接受别人的拒绝,而要积极面对。你的要求却落空时,把这种拒绝当作一个问题:"自己能不能更多一点创意呢?"不要听见不字就打退堂鼓。应该让这种拒绝激励你更大的创造力。

    尽量放松接受挑战后,要尽量放松。在脑电波开始平和你的中枢神经系统时,你可感受到自己的内在动力在不断增加。你很快会知道自己有何收获。自己能做的事,不必祈求上天赐予你勇气,放松可以产生迎接挑战的勇气。

    一生的缩影塑造自我的关键是甘做小事,但必须即刻就做。塑造自我不能一蹴而就,而是一个循序渐进的过程。这儿做一点,那儿改一下,将使你的一天(也就是你的一生)有滋有味。今天是你整个生命的一个小原子,是你一生的缩影。

        大多数人希望自己的生活富有意义。但是生活不在未来。我们越是认为自己有充分的时间去做自己想做的事,就越会在这种沉醉中让人生中的绝妙机会悄然流逝。只有重视今天,自我激励的力量才能汩汩不绝。

        原文摘自100 Ways to Motivate Yourself一书。作者1996年登记版权。Career Press出版社(Franklin Lakes,NJ 07417)出版。赵鹏译。

        作者Steve Chandler系一名作家、公共演说家兼企业培训人员,专为美国和加拿大的企业和非赢利组织举办各种培训和研讨会。

  • 测试用例设计白皮书--功能图分析方法(转)

    2008-12-01 09:24:14

     一、方法简介

      一个程序的功能说明通常由动态说明和静态说明组成。动态说明描述了输入数据的次序或转移的次序。静态说明描述了输入条件与输出条件之间的对应关系。对于较复杂的程序,由于存在大量的组合情况,因此,仅用静态说明组成的规格说明对于测试来说往往是不够的。必须用动态说明来补充功能说明。功能图方法是用功能图FD 形式化地表示程序的功能说明,并机械地生成功能图的测试用例 功能图模型由状态迁移图和逻辑功能模型构成。状态迁移图用于表示输入数据序列以及相应的输出数据。在状态迁移图中,由输入数据和当前状态决定输出数据和后续状态。逻辑功能模型用于表示在状态中输入条件和输出条件之间的对应关系。逻辑功能模型只适合于描述静态说明,输出数据仅由输入数据决定。测试用例则是由测试中经过的一系列状态和在每个状态中必须依靠输入/输出数据满足的一对条件组成。功能图方法其实是是一种黑盒白盒混合用例设计方法。

      (功能图方法中,要用到逻辑覆盖和路径测试的概念和方法,其属白盒测试方法中的内容。逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计方法。该方法要求测试人员对程序的逻辑结构有清楚的了解。由于覆盖测试的目标不同,逻辑覆盖可分为:语句覆盖,判定覆盖,判定-条件覆盖,条件组合覆盖及路径覆盖。下面我们指的逻辑覆盖和路径是功能或系统水平上的,以区别与白盒测试中的程序内部的。)

      1、功能图

      功能图由状态迁移图和布尔函数组成。状态迁移图用状态和迁移来描述。一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变。同时要依靠判定表或因果图表示的逻辑功能。例,一个简化的自动出纳机ATM的功能图。

      2、测试用例生成方法

      从功能图生成测试用例,得到的测试用例数是可接受的。 问题的关键的是如何从状态迁移图中选取测试用例。 若用节点代替状态,用弧线代替迁移,则状态迁移图就可转化成一个程序的控制流程图形式。问题就转化为程序的路径测试问题(如白盒测试)问题了。

      3、测试用例生成规则

      为了把状态迁移(测试路径)的测试用例与逻辑模型(局部测试用例)的测试用例组合起来,从功能图生成实用的测试用例,须定义下面的规则。在一个结构化的状态迁移(SST)中,定义三种形式的循环:顺序,选择和重复。但分辨一个状态迁移中的所有循环是有困难的。(其表示图形省略)。

      4、从功能图生成测试用例的过程

      1)生成局部测试用例:在每个状态中,从因果图生成局部测试用例。局部测试用例由原因值(输入数据)组合与对应的结果值(输出数据或状态)构成。

      2)测试路径生成:利用上面的规则(三种)生成从初始状态到最后状态的测试路径。

      3)测试用例合成:合成测试路径与功能图中每个状态中的局部测试用例。结果是初始状态到最后状态的一个状态序列,以及每个状态中输入数据与对应输出数据的组合。

      5、测试用例的合成算法:采用条件构造树。

      二、实战演习

      暂无

  • 测试用例设计白皮书--测试用例设计综合策略(转)

    2008-12-01 09:23:01

    1. Myers提出了使用各种测试方法的综合策略:

      1) 在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。

      2) 必要时用等价类划分方法补充一些测试用例。

      3) 用错误推测法再追加一些测试用例。

      4) 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例。

      5) 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。

      2.测试用例的设计步骤

      1) 构造根据设计规格得出的基本功能测试用例;

      2) 边界值测试用例;

      3) 状态转换测试用例;

      4) 错误猜测测试用例;

      5) 异常测试用例;

      6) 性能测试用例;

      7) 压力测试用例。

      3.优化测试用例的方法

      1) 利用设计测试用例的8种方法不断的对测试用例进行分解与合并;

      2) 采用遗传算法理论进化测试用例;

      3) 在测试时利用发散思维构造测试用例

  • 测试用例设计白皮书--因果图方法(转)

    2008-12-01 09:19:38

    . 方法简介

      1.定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

      2.因果图法产生的背景:

      等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

      如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

      3.因果图介绍

      1) 4种符号分别表示了规格说明中向4种因果关系。

                                              

       2) 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。

      3) Ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。Ciei均可取值010表示某状态不出现,1表示某状态出现。

      4. 因果图概念

      1) 关系

       恒等:若ci1,则ei也是1;否则ei0

       非:若ci1,则ei0;否则ei1

       或:若c1c2c31,则ei1;否则ei0可有任意个输入。

       与:若c1c2都是1,则ei1;否则ei0也可有任意个输入。

       2) 约束

      输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。

     

      A.输入条件的约束有以下4类:

       E约束(异):ab中至多有一个可能为1,即ab不能同时为1

       I约束(或):abc中至少有一个必须是1,即 ab c不能同时为0

       O约束(唯一);ab必须有一个,且仅有1个为1

       R约束(要求):a1时,b必须是1,即不可能a1b0

      B.输出条件约束类型

      输出条件的约束只有M约束(强制):若结果a1,则结果b强制为0

      5. 采用因果图法设计测试用例的步骤:

      1) 分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。

      2) 分析软件规格说明描述中的语义,找出原因与结果之间, 原因与原因之间对应的关系,根据这些关系,画出因果图。

      3) 由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。

      4) 把因果图转换为判定表。

      5) 把判定表的每一列拿出来作为依据,设计测试用例。

  • 测试用例设计白皮书--错误推测方法 (转)

    2008-12-01 09:16:12

     一. 方法简介

      1. 定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。

      2. 错误推测方法的基本思想:

      列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。

      1) 例如, 输入数据和输出数据为0的情况;输入表格为空格或输入表格只有一行。 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

      2) 例如,前面例子中成绩报告的程序,采用错误推测法还可补充设计一些测试用例:

      I.程序是否把空格作为回答

      II. 在回答记录中混有标准答案记录

      III.除了标题记录外,还有一些的记录最后一个字符即不是2也不是3

      IV.有两个学生的学号相同

      V. 试题数是负数。

      3) 再如,测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:

      I.输入的线性表为空表;

      II. 表中只含有一个元素;

      III.输入表中所有元素已排好序;

      IV.输入表已按逆序排好;

      V. 输入表中部分或全部元素相同。

      . 实战演习

       暂无

  • 测试用例设计白皮书--边界值分析方法 (转)

    2008-12-01 09:15:13

    .方法简介

      1. 定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

      2. 与等价划分的区别

      1) 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

      2) 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

      3. 边界值分析方法的考虑:

      长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

      使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

      4. 常见的边界值

      1) 16-bit 的整数而言 32767 -32768 是边界

      2) 屏幕上光标在最左上、最右下位置

      3) 报表的第一行和最后一行

      4) 数组元素的第一个和最后一个

      5) 循环的第 0 次、第 1 次和倒数第 2 次、最后一次

      5. 边界值分析

      1) 边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。

      例:测试计算平方根的函数

      --输入:实数

      --输出:实数

      --规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。

      2) 等价类划分:

      I.可以考虑作出如下划分:

      a、输入 (i)<0 (ii)>=0

      b、输出 (a)>=0 (b) Error

      II.测试用例有两个:

      a、输入4,输出2。对应于 (ii) (a)

      b、输入-10,输出0和错误提示。对应于 (i) (b)

      3) 边界值分析:

      划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:

      a、输入 {最小负实数}

      b、输入 {绝对值很小的负数}

      c、输入 0

      d、输入 {绝对值很小的正数}

      e、输入 {最大正实数}

      4) 通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。

      5) 相应地,以上类型的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、 最短/最长、 /满等情况下。

      6) 利用边界值作为测试数据

    边界值

    测试用例的设计思路

    字符

    起始-1个字符/结束+1个字符

    假设一个文本输入区域允许输入1个到255 字符,输入1个和255个字符作为有效等价类;输入0个和256个字符作为无效等价类,这几个数值都属于边界条件值。

    数值

    最小值-1/最大值+1

    假设某软件的数据输入域要求输入5位的数据值,可以使用10000作为最小值、99999作为最大值;然后使用刚好小于5位和大于5位的 数值来作为边界条件。

    空间

    小于空余空间一点/大于满空间一点

    例如在用U盘存储数据时,使用比剩余磁盘空间大一点(几KB)的文件作为边界条件

  • 测试用例设计白皮书--等价类划分方法(转)

    2008-12-01 09:14:10

    .方法简介

      1.定义

      是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。

      2.划分等价类:

      等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。

      1)有效等价类

      是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

      2)无效等价类

      与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。

      设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。

      3.划分等价类的标准:

      1)完备测试、避免冗余;

      2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;

      3)并是整个集合:完备性;

      4)子集互不相交:保证一种形式的无冗余性;

      5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"

      4.划分等价类的方法

      1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0100

     

      2)在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类;

      3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。

      4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

      例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。

      5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);

      6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

      5.设计测试用例

      在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:

      1)为每一个等价类规定一个唯一的编号;

      2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;

      3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。.方法简介

      1.定义

      是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。

      2.划分等价类:

      等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。

      1)有效等价类

      是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

      2)无效等价类

      与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。

      设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。

      3.划分等价类的标准:

      1)完备测试、避免冗余;

      2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;

      3)并是整个集合:完备性;

      4)子集互不相交:保证一种形式的无冗余性;

      5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"

      4.划分等价类的方法

      1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。如:输入值是学生成绩,范围是0100

     

      2)在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类;

      3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。

      4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

      例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。

      5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);

      6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

      5.设计测试用例

      在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:

      1)为每一个等价类规定一个唯一的编号;

      2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;

      3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

  • 测试用例设计白皮书--测试用例基本概念(转)

    2008-12-01 09:11:34

      1. 概述

      2. 测试用例基本概念

      2.1. 测试用例的定义

      2.2. 测试用例的特征

      2.3. 测试用例组成元素

      2.4. 测试用例设计原则

      3. 测试用例设计方法

      3.1. 等价类划分方法

      3.2. 边界值分析方法

      3.3. 错误推测方法

      3.4. 因果图方法

      3.5. 判定表驱动分析方法

      3.6. 正交实验设计方法

      3.7. 功能图分析方法

      3.8. 场景设计方发

      4. 测试用例设计综合策略

      1.概述

      Grenford J. Myers在《The Art of Software Testing》一书中提出:一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试,由此可见测试用例设计工作在整个测试过程中的地位,我们不能只凭借一些主观或直观的想法来设计测试用例,应该要以一些比较成熟的测试用例设计方法为指导,再加上设计人员个人的经验积累来设计测试用例,二者相结合应该是非常完美的组合。本文所介绍的测试用例设计方法对于测试设计人员将是一个很好的方法指导,当然看完本文也未必能设计出好的测试用例,有了好的方法作为指导后需要更多的实践经验加以巩固和提炼。只有将测试设计思想与丰富的实践经验相融合才能设计出高质量的测试用例,相信你行!

      本文描述的范围:测试用例基本概念、测试用例设计方法、测试用例设计综合策略。

      关键词:测试用例、等价类划分、边界值分析、错误推测、因果图、判定表驱动分析、正交实验、功能图分析、场景设计

      读者对象:测试设计人员、测试人员

      参考文献:

      1. 《计算机软件测试技术》 郑人杰

      2. The Art of Software Testing Grenford J. Myers

      2.测试用例基本概念

      2.1.测试用例的定义

      测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。测试用例是执行的最小实体。简单地说,测试用例就是设计一个场景,使软件程序在这种场景下,必须能够正常运行并且达到程序所设计的执行结果。

      2.2.测试用例的特征

      1.最有可能抓住错误的;

      2.不是重复的、多余的;

      3.一组相似测试用例中最有效的;

      4.既不是太简单,也不是太复杂。

      2.3.测试用例组成元素

      1.用例ID

      2.用例名称;

      3.测试目的;

      4.测试级别;

      5.参考信息;

      6.测试环境;

      7.前提条件;

      8.测试步骤;

      9.预期结果;

      10.设计人员。

      2.4.测试用例设计原则

      1.测试用例的代表性:能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。

      2.测试结果的可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。

      3.测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。

  • 测试工具的选择和使用

    2007-08-09 17:12:41

  • 测试工具的选择和使用

    2007-05-27 10:20:58

    主流黑盒功能测试工具集
    工具名
    公司名 官方站点
    WinRunner Mercury http://www.mercuryinteractive.com
    Astra Quicktest Mercury http://www.mercuryinteractive.com
    Robot IBM Rational http://www.rational.com
    QARun Compuware http://www.compuware.com
    SilkTest Segue http://www.segue.com
    e-Test Empirix http://www.empirix.com

    主流黑盒性能测试工具集
    工具名
    公司名 官方站点
    WAS M$ http://www.micro$oft.com
    LoadRunner Mercury http://www.mercuryinteractive.com
    Astra Quicktest Mercury http://www.mercuryinteractive.com
    Qaload Compuware http://www.empirix.com
    TeamTest:SiteLoad IBM Rational http://www.rational.com
    Webload Radview http://www.radview.com
    Silkperformer Segue http://www.segue.com
    e-Load Empirix http://www.empirix.com
    OpenSTA OpenSTA http://www.opensta.com

     

    测试管理工具典型产品的比较

    工具名称
    Testdirector ClearQuest BMS Bugzilla
    流程定制 Y Y N Y
    查询功能定制
    Y Y Y Y
    功能域定制
    Y Y Y Y
    用户权限分级管理
    Y Y Y Y
    Email通知
    Y Y Y Y
    构架模式
    B/S C/S,B/S B/S B/S
    报表定制功能
    Y 强,集成Crystal Report 有标准报表和高级报表,定制功能不够 Y
    支持平台 Windows Windows, Unix Windows Linux, FreeBSD
    支持数据库
    Oracle, M$ Access, SQL Server等
    Oracle, M$ Access, SQL Server SQL Server等MSDE MySQL
    安装配置的复杂度 简单 有些复杂 容易 不复杂
    许可证费用 昂贵 昂贵 适中 免费
    售后服务 国内有多家代理公司提供相关服务 在国内有分公司提供技术支持 技术支持和服务体系完备 可自行修改源代码
    与其他工具集成 本身又是测试需求、测试案例管理工具, 与winRunner, LoadRunner集成,并且具有多种主流Case工具接口Add-In 与rational公司的其它产品无缝集成,特别与Clear Case配合以可实现UCM的配置管理体系 M$ VSS, Project 开源配置管理工具CVS
    公司背景 世界主流测试软件提供商 已被IBM合并,世界著名软件公司 微软与上海市政府新成立的软件企业  世界著名开源项目


    商业化自动功能测试工具特性比较
    特性
    WinRunner SilkTest Etester
    易于安装 是,不支持设置代理服务等设置
    GUI对象和脚本分离 对象声明在单独的include文件中,但是case脚本中还有包含 两者都在VB脚本的case中
    toolbar/field定制 可以 无法定制toolbar,可以定制GUI的fields内容 无法定制
    操作系统 Windows Unix,Windows Unix, Windows
    浏览器 NetScape,IE NetScape,IE NetScape,IE
    支持测试对象 HTML,DHTML,Javascrīpt,VBscrīpt,XML,JAVA applets, ActiveX,VB, PowerBuilder,Delphi,Terminal Emulator,,Oracle,SAP,PeopleSoft, Siebel HTML, DHTML, Javascrīpt, XML, Java apps and applets, MFC, VB, Oracle, PowerBuilder, Delphi, SAP Java apps and applets in M$JVM/SunJVM, HTML, DHTML, Javascrīpt, XML, MFC, VB, Oracle, SAP, Delphi, Terminal Emulator, PowerBuilder, Oracle, Peoplesoft
    脚本语言 TSL 第四代面向对象的脚本语言4Test,类似C++ 提供可编程接口,用户可使用标准语言扩展可视脚本,如VB,C++,Java
    脚本调试功能 强大 类似C++Debugger VBA Debugger结合Visual scrīpt Debugger
    允许数据驱动的测试
    自动数据生成 支持 支持 不支持
    允许通过数据库 验证数据 通过ODBC及本地数据库连接 自带Database Tester 通过ODBC
    应用程序改变后的脚本维护 直接修改GUImap 更新include 文件 自动更新无需录制
    数据库支持 市场流行的数据库 市场流行的数据库 市场流行的数据库
    无人看管下的自动执行测试 通过Testdirector 允许 允许,通过eTestSuite
    分布式测试控制/同步/执行 Testdirector支持 支持 支持
    自动创建测试结果日志
    非预期错误的恢复 允许 允许 允许
    与测试管理工具接口 Testdirector 自带Case管理功能 e-test suite
    图形化设计脚本执行集合 通过Testdirector设计 不支持 通过e-test suite设计
    培训 有,Onsite及public training 有,提供kickoff training 有,onsite及public training
    技术支持 曾获SSPA STAR荣誉 很好 客户对其评价
    License 灵活的记费方式,既可以按使用次数计费也可以按协议算永久使用费 提供floating以及node-locked两种方式 提供Floating以及Node-locked两种方式
    价格 昂贵 较贵 一般
    Add-in收费 部分收费 不收费 不收费
    总论 在全球的市场占有率较高,功能全面,价格昂贵 在国内的推广还处于起步阶段 价格较低,只支持web的测试,在金融、证券、电子商务等领域有广泛应用。
     

  • 什么是Winrunner

    2007-05-27 10:06:35

       Winrunner是专门用于C/S和B/S架构功能测试的自动化测试工具.其强项在C/S架构功能测试上,B/S功能测试更适合于MERCURY公司的另一大测试工具QTP.在QTP的专栏中有介绍.
       WINRUNNER通过插件的形式支持包括DELPHI\JAVA\ORACLE\PEOPLE\SAP\.NET在内的众多主流语言和数据库,目前已经出到了9.2版.

       Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

  • 什么是QTP

    2007-05-27 09:45:03

       QTP的全称为QuickTest Professional,是Mercury公司的又一旗舰产品,被广泛用在B/S架构程序的功能测试,比如我们常见的网站功能测试
       QTP也可以通过插件的形式支持JAVA\.NET\Oracle\SIEBEL\PeopleSoft\Sap
    等常见的语言。
       目前最新版为9.2.有需要的朋友可以去mercury的官方网站下载试用版

  • 基础网络命令

    2007-08-09 15:59:21

    暂无
  • Rational系产品的大概介绍

    2007-07-19 17:15:48

    Rational系列产品大概的介绍

     

    Rational Application Developer for WebSphere Software51Testing软件测试网 ?t'G'I-I0X#B j5a
    用于架构和建模、模型驱动开发、组件、组件测试、运行时分析活动的工具。
    l/[(``T115857 
    $N,_9{\,T(}


    R115857Rational Professional Bundle51Testing软件测试网oH
    J(x OSQ G

    提供企业级桌面工具,以便设计、构建和测试J2EE/门户/面向服务的应用程序。
    sLu%Ps,aZ115857 
    7Ki ]


    k@4d115857Rational Rose Developer for UNIX
    C\|(n9?­X115857
    提供行业领先的模型驱动开发工具。 51Testing软件测试网-z jX"mKe

     51Testing
    软件测试网[1]U9J#bRg4M


    x
    Rational Rose Technical Developer
    Tg9i:@,aa w?0k-A115857
    一个模型驱动开发解决方案,针对JavaCC++自动进行从设计到代码的转换。 51Testing软件测试网!K7s ^ J;zr
     51Testing
    软件测试网+X9h~.ir i"V`
    Rational Rose XDE Developer for Java51Testing
    软件测试网E nH8O u Q`!K,wm
    为基于J2EE 的系统提供完整的可视化设计和开发环境。 51Testing软件测试网/I6N+U
    Z,m#v

     51Testing
    软件测试网8r0@ _${L(h
    Rational Rose XDE Developer for Visual Studio51Testing
    软件测试网/u#Q­k7U3r7Q


    C
    为基于.NET 的系统提供完整的可视化设计和开发环境。 51Testing软件测试网M8r C7z1QR
     
    )a`d2W"iyT115857Rational Rose XDE Developer Plus
    !@r n8F3HA@115857
    为基于J2EE 和基于.NET 的系统提供可视化设计和开发环境。  51Testing软件测试网'C,F%V6P(b"[(D Yu5}
     
    ­K7J[1]I;u p115857Rational Software Architect 51Testing
    软件测试网*~\4La;O ? ^
    利用 UML 为模型驱动开发提供整合设计和开发支持。
    cu7YJ {115857Rational Software Modeler 51Testing
    软件测试网 |k,R8AaJ
    支持 UML 可视化建模/设计,从不同的视图编制系统文档。51Testing软件测试网)JF0Ylz
    Rational Suite DevelopmentStudio for UNIX 51Testing
    软件测试网/E M6]?6N0d9C P'EW
    合并屡获殊荣的开发工具,帮助人们更快速地构建更好的软件。51Testing软件测试网 o1u'}'x|p1C
    Rational Suite for Technical Developers 51Testing
    软件测试网,Mcg$vz


    t(E
    支持诸如实时和嵌入式技术应用程序的可视化开发。51Testing软件测试网9fN C#F9\/Z3{
    Rational Web Developer for WebSphere Software
    F(@sJ0O4d/b115857
    简化和加速了 WebWeb 服务和 Java 开发。51Testing软件测试网w`‑ey-@ uP
     51Testing
    软件测试网


    r4q#qp{4F[
    51Testing
    软件测试网/q&I#J1N:J"C d
     %\gw[1]u(Ph@:L‑pII115857 51Testing
    软件测试网 hva{#l2[J3u
    过程和项目管理 51Testing软件测试网8j9S6S*~z
     51Testing
    软件测试网7~\R T q:|5o hw
    Rational Portfolio Manager51Testing
    软件测试网3b2D:].g"?B
    协调优先级、项目和人员。
    zhs$taW'e115857 51Testing
    软件测试网%l4z(c|R1\D

    Rational ProjectConsole51Testing
    软件测试网)|!R}o M w*r.W F$_
    提供项目 Web 站点和度量指示板。
    w-k[.F4VP[1]fg115857 
    :OFpjkX_ }'D T&j115857Rational SoDA51Testing
    软件测试网/fh!wu ^x
    在整个生命周期中自动化软件项目的文档编制工作。  51Testing软件测试网%I'af[1]f-y


    Qn!x%z-in
     
    -T.a9|7tIf,x115857Rational Suite51Testing
    软件测试网:S p];N RA k­S7o%I
    提供最佳实践、工具和服务的完整而整合的生命周期解决方案。  51Testing软件测试网v^


    D8Ky5g5e;r(?a @ ]
     
    []:D(p N
    gVI115857
    Rational SUMMIT Ascendant
    9Tz&S0GxC.q1}5j+v115857
    为交付企业级 IT 项目提供方法库。  51Testing软件测试网rj$P9S b8I Wn&S
     
    c8e/M X
    }115857
    Rational Team Unifying Platform51Testing
    软件测试网W,l$PE7A,]
    允许公共访问开发资产、需求和过程指导。 
    0G
    ?A6N3]i115857
     51Testing
    软件测试网)y/S0QF0}m
    Rational Unified Process51Testing
    软件测试网 p.x­`C"v:xnj%@
    经过验证的开发过程,可进行配置以满足您的项目要求。
    l}.M{G[1]k;V!N115857 51Testing
    软件测试网][{:@l/E‑e"l
    h

     51Testing
    软件测试网‑r­N Bc


    }+o
     
    ‑Q1B


    f[1]yv7_7q d115857 
    zO'H [5z[1]dV[1]] v Y115857需求分析
    Yp*t‑n
    I‑x9|6E115857
     51Testing
    软件测试网e&Cm(p$\"or
    IBM Rational RequisitePro
    gm*p0V6q)b kY M}115857
    需求和使用案例管理的强大、简便易用的集成产品,有助于促进更全面的通信,增强团队协作和降低项目风险。 51Testing软件测试网1t9I[1]K~#g]
     

    ~h}


    S1~p F"Z*b*kw;E115857IBM Rational Rose Data Modeler
    &o.M*B,m6\8U?115857
    数据库设计人员、分析人员、开发人员以及开发小组中的任何人能够协作的可视建模工具,从而能够捕获和共享企业需求,在整个流程中跟踪需求的变化。
    &c_­|9L:p3Fl115857 51Testing
    软件测试网 f z


    ?lRt)[
    IBM Rational Rose XDE Modeler51Testing
    软件测试网 D‑N
    H"J:|l

    使设计人员能够使用统一建模语言UML)来进行由模型驱动的开发。用户可以建立与平台无关的软件架构、企业需求、可重复使用的资产和管理级通信模型。
    S‑^7@0i pI-b9x` ~115857 
    y%F[ K%YA$d,] R d115857 51Testing
    软件测试网)Y/p|F­~@51Testing软件测试网
    [1]iFaG:L+{^
     
    D
    ‑\!@Thq'G*M‑[115857 
    *i6rV6G[1]oK9d-\)N115857
    软件配置管理
    ^K6Q$^ m.Px*cY S$Q115857 51Testing
    软件测试网H4ziB&Ea

    Rational ClearCase
    Mh A­L&j%r0BB.q ^8}F115857
    为大中型开发团队提供可靠的、可伸缩的和灵活的软件资产管理。
    'qm w;H LW115857 
    ;S8W4L2a:l,` i115857Rational ClearCase and MultiSite
    e Zy BwyT v7@3Z(v115857
    为地域性分布式环境提供完整的软件资产管理。

    lP#q[1]L#C&qt-U115857 51Testing
    软件测试网7[$Hw-H-vu
    Rational ClearCase Change Management Solution Enterprise Edition51Testing
    软件测试网;m‑d-lrw \[d*y
    为大中型项目和分布式团队提供集成的软件配置管理。
    5].d1BAU(eO|;K‑g1m115857 
    '[1K
    e­A5F @115857
    IBM Rational ClearCase LT51Testing
    软件测试网xcLXh ? XR
    为中小型集中项目团队提供可靠的、入门级版本控制思路。  51Testing软件测试网$S;D'u[1]A‑Zt;xk
     
    y r*YM9E$M8`115857Rational ClearCase MultiSite

    YLtE;T7|O115857
    支持跨地域性分布式环境的并行开发方式。 51Testing软件测试网#d0`fp8gWm}:p
     51Testing
    软件测试网.~8Ja:a6~?C
    Rational ClearQuest
    "xs!Gz.Oc)v115857
    在整个应用程序开发生命周期中提供灵活的缺陷和变更跟踪功能。
    ‑gK1P
    \8}!yJ115857
     51Testing
    软件测试网[1]i l Qg]:V
    Rational ClearQuest and MultiSite
    ,Pq u3zS&a-U115857
    为地域性分布式环境提供完整的缺陷和变更跟踪功能。 51Testing软件测试网(d\­_#Cm` y
     51Testing
    软件测试网e&S C!\4XYA.@7Hs
    Rational ClearQuest MultiSite51Testing
    软件测试网K D)m1S%e3}4T [ HW
    支持整个分布式环境中的缺陷和变更跟踪。
    ;f
    @8K


    s Xj[1]}115857 
    Q0tGpg l8X11585751Testing
    软件测试网m:N;NUo Y"K|9v
     51Testing
    软件测试网 yb8o


    ^L%r8{G"t
    软件质量 51Testing软件测试网 ?S1S;g\
    G.Wsof

     51Testing
    软件测试网TL:|U B
    Rational Functional Tester51Testing
    软件测试网[*KGQx7W[1]I
    JavaWeb 和基于 VS.NET WinForm 的应用程序进行高级自动化功能测试 51Testing软件测试网-r(q4Wz Yb1s4g2X


    x
     
    3|"VMn,]4ZuO115857Rational Functional Tester Extension for Terminal-based Applications
    :A­Oq q,\7S%b$I[(Z115857
    扩展了Rational Functional Tester,以支持基于终端的应用程序的测试。 51Testing软件测试网,C5URl5L6T9^0Y(e+v
     51Testing
    软件测试网@G0N1}8w(AP
    Rational Manual Tester
    b‑Lo8X[1]x&M115857
    使用新测试设计技术来改进人工测试设计和执行工作。 51Testing软件测试网8[0T)mb[1]ec-zq


    KB
     
    -vzMH?&t i115857Rational Performance Tester
    :T6cD7D GP115857
    检查可变多用户负载下可接受的应用程序响应时间和可伸缩性。

    `*RS#[z115857
     51Testing
    软件测试网m/S2C.Yz|
    Rational Purify for Linux and UNIX51Testing
    软件测试网deNz%e


    Y


    m


    yKu
    Linux UNIX提供了内存泄漏和内存损坏检测。 51Testing软件测试网3l/X_ w[`um
     51Testing
    软件测试网'K!f3U ~ [q
    Rational Purify for Windows
    ~2W


    \­?9\ l m115857 Windows 提供了内存泄漏和内存损坏检测。
    8} QntL.o?115857 
    L@ SA^ NqTSo115857Rational PurifyPlus
    企业版

    xo[1]I.T8qT0EE115857
    WindowsLinux UNIX 提供了运行时分析。
    "W6cx)X‑U(S%A(@?115857 
    k2P6XA­P(g#g-a115857Rational PurifyPlus for Linux and UNIX
    e3{­U+}{~0uH o115857
    基于 Linux Unix Java C/C++ 开发提供了分析工具集。 51Testing软件测试网
    !d6c*yY f
    a+J

     
    :xN


    ]l$l4~E9c Z[1]o'b115857

  • 软件测试常用单词

    2007-07-19 16:07:41

    软件测试常用单词:
    1.静态测试:Non-Execution-Based Testing或Static testing
        代码走查:Walkthrough
    代码审查:Code Inspection
    技术评审:Review
    2.动态测试:Execution-Based Testing
    3.白盒测试:White-Box Testing
    4.黑盒测试:Black-Box Testing
    5.灰盒测试:Gray-Box Testing
    6.软件质量保证SQA:Software Quality Assurance
    7.软件开发生命周期:Software Development Life Cycle
    8.冒烟测试:Smoke Test
    9.回归测试:Regression Test
    10.功能测试:Function Testing
    11.性能测试:Performance Testing
    12.压力测试:Stress Testing
    13.负载测试:Volume Testing
    14.易用性测试:Usability Testing
    15.安装测试:Installation Testing
    16.界面测试:UI Testing
    17.配置测试:Configuration Testing
    18.文档测试:Documentation Testing
    19.兼容性测试:Compatibility Testing
    20.安全性测试:Security Testing
    21.恢复测试:Recovery Testing
    22.单元测试:Unit Tes
    23.集成测试:Integration Test
    24.系统测试:System Test
    25.验收测试:Acceptance Test
    26.测试计划应包括:
    测试对象:The Test Objectives,
    测试范围: The Test Scope,
    测试策略: The Test Strategy
    测试方法: The Test Approach,
    测试过程: The test procedures,
    测试环境: The Test Environment,
    测试完成标准:The test Completion criteria
                              测试用例:The Test Cases
                              测试进度表:The Test Schedules
                              风险:Risks
                              Etc
    27.主测试计划: a master test plan
    28.需求规格说明书:The Test Specifications
    29.需求分析阶段:The Requirements Phase
    30.接口:Interface
    31.最终用户:The End User
    31.正式的测试环境:Formal Test Environment
    32.确认需求:Verifying The Requirements
    33.有分歧的需求:Ambiguous Requirements
    34.运行和维护:Operation and Maintenance.
    35.可复用性:Reusability
    36.可靠性: Reliability/Availability
    37.电机电子工程师协会IEEE:The Institute of Electrical and Electronics Engineers)
    38.要从以下几方面测试软件:
    正确性:Correctness
    实用性:Utility
    性能:Performance
    健壮性:Robustness
    可靠性:Reliability

    关于Bugzilla:
    1.Bug按严重程度(Severity)分为:
    Blocker,阻碍开发和/或测试工作
            Critical,死机,丢失数据,内存溢出
            Major,较大的功能缺陷
            Normal,普通的功能缺陷
            Minor,较轻的功能缺陷
    Trivial,产品外观上的问题或一些不影响使用的小毛病,如菜单或对话框中的文字拼写或字体问题等等
        Enhancement,建议或意见
    2.Bug按报告状态分类(Status)
      待确认的(Unconfirmed)
     软件测试常用单词(经典)

     
  • 性能测试方案模板

    2007-04-29 14:44:42

    1引言

    1.1编写目的

    编写本方案的目的是用于指导XXXX系统的性能测试,主要从测试环境、测试工具、测试策略、测试具体执行方法、任务与进度表等事先计划和设计。

    1.2适用范围

    XXXX系统性能测试组

    XXXX系统开发组

    XXXX系统性能优化组

    1.3参考资料

    系统性能测试指南

    1.4术语和缩写词

    缩写、术语

    性能测试

    performance testing

    运行这些测试通常要确定程序运行有多快,以便确定是否需要优化

    负载测试

    (load testing)

    通过在面临很多资源要求的系统上运行,攻击被测程序或系统

    可靠性测试

    (reliability testing)

    持续进行的性能测试,目标是发现短序列程序测试遗漏的情况

    ……

     

     

     

     

     

    2系统介绍

    3测试环境

    3.1网络拓扑图

    3.2硬件环境

    3.3软件环境

    4测试范围与主要内容

    测试范围:

    如:XXXX系统各项性能指标,反应时间的性能测试、CPUMemory的性能测试、负载的性能测试(压力测试)、可靠性测试

    主要检测内容:

    如:

    1. 典型应用的反应时间

    2. 客户端、服务器的CPUMemory使用情况

    3. 服务器的响应速度

    4. 系统支持的最优负载数量

    5. 网络指标

    6. 系统可靠性测试

    5测试工具和测试方法

    5.1测试工具

    MIMercury Interactive)公司的LoadRunner7.5.1创建虚拟用户脚本工具Virtual User Generator

    MIMercury Interactive)公司的LoadRunner7.5.1创建、运行实际场景工具Controller

    MIMercury Interactive)公司的LoadRunner7.5.1分析测试结果工具Analysis

    性能监视器(MicroSoft Win2000自带)

    5.2测试方法

    5.2.1反应时间的性能测试

    处理点或事件

    期望的反应时间

    实际反映时间平均值(至少3次)

    上次或上版本实际反映时间平均值(至少3次)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    测试结果分析:

    5.2.2CPUMemory的性能测试

    条件:

    1.客户端情况

    2. 应用服务器情况

    3.数据库服务器情况

    测试结果分析:

    5.2.3负载的性能测试(压力测试

    输入/动作

    输出/响应

    能否正常运行

    10个用户操作

     

     

    20个用户操作

     

     

    30个用户操作

     

     

    50个用户操作

     

     

    100个用户操作

     

    查看(3037) 评论(0) 收藏 分享 管理