发布新日志

  • loadrunner11和QTP 11的下载地址

    2011-01-20 15:52:10

    LoadRunner 11:
    http://219.239.26.11/download/8009651/9327422/3/zip/49/108/1286952922673_876/Software_HP_LoadRunner_11.00_T7177_15013.zip

    http://h30316.www3.hp.com/prdownloads/Software_HP_LoadRunner_11.00_T7177_15013.z01?ordernumber=520699787&itemid=1&downloadid=57459549&merchantId=SGBU_ECATALOG&dlm=ON

    qtp 11:
    http://www.genilogix.com/downloads/unified-functional-testing/quicktest-professional-11.iso
     

  • loadrunner9.5和ie8.0兼容补丁

    2011-01-18 15:56:19

    在默认情况下,loadrunner9.5无法使用ie8.0进行脚本的录制,需要安装补丁文件。
    下载地址:
    http://www.timetoyou.com/download/loadrunner952_IE8patch.rar
     
    win7下,需要右键“以管理员身份运行”,安装最后注册时,我这里出现了错误:
    cowebrecorder.dll无法注册,HRESULT - 2147024769
     
    在网上没有找到解决方案。忽略该提示后,安装成功,不知道是否是因为这个原因,脚本录制后,回放时出现如下提示:
    Fatal Error -26000: LoadLibrary("LrwNetSocket.dll") failed, Windows error code=127   
          [MsgId: MERR-26000]
    Warning: Extension lrwreplaymain.dll reports error -1 on call to function
    ExtPerProcessInitialize
    Error: Thread Context: Call to service of the driver failed, reason - thread context
    wasn't initialized on this thread.
     
    目前无法继续执行了,改天再研究解决方法吧。
     
     
     
  • win7旗舰版下安装loadrunner9.5

    2011-01-18 15:41:27

  • 如何将EXCEL表中的测试需求、测试用例、缺陷记录直接导出到TD中

    2010-02-01 15:01:13

    TD7.6的EXCEL插件使用指南

    使用TD的EXCEL插件,可以将EXCEL表中的测试需求、测试用例、缺陷记录直接导出到TD中。
    TD7.6标准版或企业版的EXCEL插件支持Microsoft Excel97、2000、XP。(我安装的是EXCEL2003,也是支持的。)
    第1章 安装及配置EXCEL插件
    一、安装EXCEL插件
    安装插件前,必须先安装EXCEL。
    安装步骤如下:
    1.        关闭EXCEL程序。
    2.        打开浏览器,输入TD的URL:
    3.        点击页面上的“Add-Ins Page”链接:
    4.        点击“More TestDirector Add-Ins”链接,进入“More TestDirector Add-ins”页面。
    5.        点击“Microsoft Excel”链接,打开“Microsoft Excel Add-in”页面。
    6.        点击“Download Add-in”链接,下载插件程序,并进行安装。
    7.        如果你使用的是EXCEL2000、XP(或2003),在插件安装完成后,必须进行EXCEL的安全设置。(详见下面的“Microsoft Excel 安全设置”。)
    二、Microsoft Excel 安全设置
    步骤如下:
    打开Excel,选择“Tools>Macro>Security”,打开Security对话框。

    在Excel2000中,执行以下操作之一:
    选择Medium选项。在“Tursted Sources”页签,选中“Turst all installed add-ins and templates”。点击OK按钮关闭对话框。
    选择Low选项。在“Tursted Sources”页签,清除“Turst all add-ins and templates”选项。点击OK关闭对话框。关闭Excel程序,然后再打开Excel程序,系统自动弹出以下窗口,在窗口中点击“Enable Macros”使Excel插件功能生效。

    在Excel XP中,需进行以下操作:
    选中Medium选项。在“Trusted Sources”页签,清除“Truest all installed aadd-ins and templates”选项,点击OK按钮关闭对话框。关闭Excel程序,然后再打开Excel程序,系统自动弹出以下窗口,在窗口中点击“Enable Macros”使Excel插件功能生效。

    第2章        将Excel数据导出到TD
    一、在Excle中定义测试需求
    在将Excel需求数据导出到TD之前,必须在Excel工作表中定义测试需求。所定义的测试需求可以属于测试需求树的同一层级,也可以属于测试需求树的不同层级。
    例如,下面的的测试需求属于同一层级:

    当你将需求导出到TD中后,这些需求显示在测试需求树的同一层级:

    Excel中所定义的测试需求也可以属于测试需求树中的不同层级。
    例如:需求Child 1 与Child的同属于Child 4的下级,Child 3是Child 2的下级。
    在定义下级需求时,必须指定该下级需求的路径。如下图示例:

    在需求被导出到TD中后,在TD中显示如下:

    因此,定义测试需求的步骤如下:
    1.        打开Excel程序。
    2.        每个测试需求定义占用单独的一行。每个测试需求必须包含所必须的数据项。如果需求不属于同一层级,必须指定路径。
    3.        将需求导出到TD。(详见“将Excel中的数据导出到TD”)
    二、在Excel中定义测试用例
    在将Excle中的用例导出到TD的Test Plan模块之前,必须在Excle工作表中定义测试用例。所定义的测试用例可以属于测试用例树的同一层级,也可以属于测试用例树的不同层级。
    例如,测试用例Test 1与Test 2同属于目录Subject 1:

    当导出到TD中后,它们在测试用例树中显示如下:

    所定义的测试用例也可以属于测试用例树中的不同层级,例如,Test 3属于目录Subject 2,而Subject 2属于Subject 1的下级。

    当用例被导出到TD中后,Test 3与Test 1、Test 2在测试用例树中就显示如下,Test 3与它们不在同一层级中:


    因此,定义测试用例的步骤如下:
    1.        打开Excel工作表。
    2.        每个测试用例占用单独的一行。对于每个测试用例,必须包含所必须的数据项,也必须指定每个测试用例在测试用例树中的Subject目录路径。
    3.        导出到TD。(详见“将Excel中的数据导出到TD”)
    三、在Excel中定义缺陷记录
    在将缺陷导出到TD的Defects模块之前,必须在Excel中定义缺陷。例如,假设你希望将以下缺陷信息导入到TD中:

    将它们导出到TD后,在TD中它们显示如下:

    定义缺陷步骤如下:
    1.        打开EXCEL工作表。
    2.        在Excle工作表中,每个缺陷占用单独的一行。每个缺陷,必须包含所必须的数据项。
    3.        导出到TD。更多信息。(详见“将Excel中的数据导出到TD”)
    四、将Excel中的数据导出到TD
    当你在EXCEL中定义好需求、用例、缺陷后,可以将它们导出到TD中。
    注:当你将需求或用例导出到TD时,要确认它们的名称是唯一的。如果不唯一,前面的将会被后面的覆盖。例如:假设Excel工作表中有两个同名需求,它们又属于同一层级,那么导出到TD时,将只会创建一条需求,该需求是Excel表中的第2个需求。在设置测试用例的测试步骤时,同样存在相同的问题。当没有为测试步骤设计步骤名称,或存在两个或多个同名的步骤,导出到TD时,将只会创建一个测试步骤。
    当你向TD导出需求、用例或缺陷记录时,你必须相应拥有TD的需求模块、用例模块或缺陷模块的创建与修改权限。

    导出到TD的步骤:
    1.        在Excel工作表中定义需求、用例或缺陷。
    2.        在工作表中高亮选中需导出的内容(不包括标题)。
    3.        在Excel菜单中选择“Tools>Export to TestDirector”,打开“TestDirector Export Wizard”对话框的第1个步骤界面(共8个步骤界面)。

    输入TD服务器名称以及虚拟目录名(格式:http://[TestDirector server name]/[virtual directory name])。如:http://localhost/tdbin
    4.        点击Next按钮。进入第2步骤。

    输入Domain name及Project name。
    5.        点击Next按钮,进入第3步骤。

    输入用户名及密码。
    6.        点击Next按钮,进入第4步骤。

    选择一个数据类型。
    7.        点击Next,进入第5步。

    建立TD数据项与Excel列之前的映射关系。
    你可以:
    选择一个已存在的映射。
    创建一个新的映射。
    临时创建一个映射(该映射不会被保存)。
    8.        点击Next按钮,进入第6步骤。

    建立TD数据项与Excel表列之间的映身关系:在左侧列表中选择一个TD数据项名称,然后点击“>”按钮,打开映射对话框,在对话框中输入Excel相应的列名,点击OK。
    注意:左侧列表中红色的数据项是必须映射的数据项。
    9.        点击Next,进入第7步骤。

    10.        如果导出出现错误,则打开“Scan Report Error”对话框。

    点击“Launch Notepad”按钮,可以将上述错误信息保存为文本文件。
    点击“Cancel”按钮,退出导出程序。修正错误后重复第1-10步。
    11.        如果导出成功,则进入导出的第8步骤界面。
  • LR监控windows、linux、UNIX、IBM AIX时常见问题及操作步骤

    2010-01-22 10:46:25

  • td插件下载地址

    2010-01-05 17:50:56

  • 安装TD8.0的相关配置

    2010-01-05 17:48:09

    1.       安装前环境配置
    TD
    WEB服务容器为IIS,必须得先安装IIS环境。
    TD
    的后台
    数据库默认为Access,可以选择使用Sybase MS-SQL ServerOracle
    TD
    也支持邮件服务,可以选择安装邮件服务或则暂时不安装。如果需要安装则在安装前做好邮件服务器的相关配置。
    2.      
    安装事项
    在安装时,要对系统进行一些安装设置,以下对一些关键设置进行简单解释。
    1
    )数据库连接设置
    设置数据库连接时,Access为默认必选,可以选择另外一种合适的数据库做为TD的连接数据库,该数据库可以在创建TD项目时,选择作为项目的数据库。

    2
    )虚拟目录设置

    其中的虚拟目录名TDBIN下将保存TD的一些运行文件。

    3.      
    安装注意
    安装TD时,系统资源消耗比较大,容易造成安装失败或错误,所以在安装时,尽不要进行其他的系统操作,等待安装完成。

    4.      
    安装后配置
    1
      汉化
    在安装目录TDBIN/Install/下存放的是一些为连接服务的客户端加载的系统文件。其中的tdclientui80.xco文件,该文件会自动加载到客户端的C:\Program Files\Common Files\Mercury Interactive\TD2000_80目录下,并生成为tdclientui80.ocx文件。
    注意其中两个文件的后缀名区别。文件后缀可通过更改方式变换为OCXXCO

    由于Mercury并为发行官方的汉化包,所以采用第三方的资源包进行汉化。汉化方式,把得到的汉化资源dclientui80.xco文件粘贴到服务器TDBIN/Install/目录下,覆盖掉原文件即可。

    在之前访问过服务器的客户端,在下次连接时由于不再加载更新后的数据,所以必须得删除客户端下的C:\Program Files\Common Files\Mercury Interactive\TD2000_80目录下覆盖tdclientui80.ocx文件,使再次访问时自动加载汉化后的新组件。

    也可以通过在客户端C:\Program Files\Common Files\Mercury Interactive\TD2000_80目录下覆盖tdclientui80.ocx文件达到汉化的目的。

    2
      设置MS-SQL的数据库连接

    对数据库的客户端
    网络实用工具进行配置。选择协议Named PipesTCP/IP,别名设置最好选择本机计算机名。

    对数据库的
    安全性设置--身份验证,设置为SQL ServerWINDOWS

    设置后,在后台PING连接数据库,如果成功,则可正常创建该类数据库的项目。

    3
      IE7.0兼容性

    安装TD后,并不能顺利支持IE7.0的客户端浏览器。此时可以用记事本等打开服务器TDBIN/目录下的start_a.htm源文件,然后进行编辑。

    查找” var fMSIE3456”

    然后在该行的末尾处分号前添加一段语句
    ”|| (ua.lastIndexOf('MSIE 7.0') != -1)”

    保存即可。



    4
    TD系统信息修改

    C:\Program Files\Common Files\Mercury Interactive\目录中的DomsInfo文件夹,该文件夹中保存TD系统的关键信息,其中有TD系统配置信息的数据库doms.mdb文件,该数据库文件已默认被加密,密码为tdtdtd。在Templates文件夹中的文件为初始化生成的项目模板文件,包括TestDir.mdb,该文件为生成项目的初始数据库表。这样的话我们,就可以在每次创建项目时初试化出我们想要的,预定好的数据库表和相关数据来。就可以避免每次创建项目时重复的手工定义字段了,我们可以定制自己的项目数据库模板。


    如当遗忘ADMIN的密码时,可以通过往doms.mdbADMIN表中的ADMIN_PSWD字段更换写入456711”,登陆时输入密码“test”即可进入。

     

  • TD学习:IE7.0浏览器下无法使用TD8.0问题的解决办法

    2010-01-05 17:41:41

    IE7.0浏览器下无法使用TD8.0问题的解决办法:
    默认的IE7.0是无法打开TD8.0的,现在只需要在TD8.0的服务器上稍作修改就可以使用TD8.0而不用像我一开始那样把IE7.0卸载成IE6.0了。

    具体做法:
    安装路径下inetpub\tdbin\start_a.htm中找到var fMSIE3456,然后修改成如下:
    var fMSIE3456 = (ua.lastIndexOf('MSIE 3.0') != -1) || (ua.lastIndexOf('MSIE 4.0') != -1) || (ua.lastIndexOf('MSIE 5.0') != -1) || (ua.lastIndexOf('MSIE 5.5') != -1) || (ua.lastIndexOf('MSIE 6.0') != -1) || (ua.lastIndexOf('MSIE 7.0') != -1);

    保存,然后使用IE7.0访问下试试看。
    OK,可以访问了。

  • 创建关联规则--手动关联

    2008-12-16 15:24:50

    手动关联的过程大致如下:
    第一步:录制测试脚本,录制二遍
    第二步:使用WinDiff工具找出两次脚本的不同,判断是否需要进行关联
    第三步:确定插入关联的位置
    第四步:在VIEW TREE中使用web_reg_save_param函数手动建立关联
    第五步:将脚本中有用到关联的数据,用参数代替
    第六步:验证关联的正确性

    下面详细介绍:
    第一步:
    录制测试脚本,录制二遍
    这一步就不用多说了,相同的操作,录制两份,分别保存
    第二步:
    使用WinDiff工具协助找出需要关联的数据
    1. 在第二份脚本中,点选VuGen的【Tools】>【Compare with Vuser…】,并选择第一份脚本。
    2. 接着WinDiff会开启,同时显示二份脚本,并显示有差异的地方。WinDiff会以一整行黄色标示有差异的脚本,并且以红色的字体显示真正差异的文字。(假如没看到红色字体,请点选【Options】>【View】>【Show Inline Differences】)。
    查看二份脚本中差异的部份,每一个差异都可能是需要做关联的地方。
    注意:lr_thik_time部分的差异可以忽略
    找到不同的部分后,复制,然后打开Recording Log或是Generation Log,按Ctrl+F,在查找窗口中粘贴差异部分的内容,点击查找找到后,查看该部分的信息,确认是客户端的请求信息还是服务器回应的信息
    如果出现在$$$$$$ Request Header For Transaction With Id 3 Ended $$$$$$这个部分,那证明是客户端发出的请求,这里是不需要做关联的
    一般做的关联都是出现在****** Response Header For Transaction With Id 7 ******和****** Response Body For Transaction With Id 7 ******中的部分。
    在找到这个信息后,需要记录如下信息:
    a.记录这个不同数据之前的内容和之后的内容
    b.记录这个不同数据出现的位置,是Header还是Body

    第三步:
    确认插入关联的位置
    我们在日志中找到了两次脚本的不同点的位置,根据这个位置,我们再确定是在哪个请求之后产生的,也就是说要定位发生不同点的response是由哪个request产生的,找到了这个请求的函数位置,我们就知道要往哪里做关联了
    一般情况下关联函数写到发出请求的函数之前就可以了

    第四步:
    插入关联函数
    在插入关联函数前,我们先介绍关联函数web_reg_save_param
     一个web_reg_save_param函数的例子:

    1. web_reg_save_param ("sessionid",
    2.       "LB=Session_id:",
    3.       "RB=;",
    4.       "Search=Body",
    5.       LAST);

    在这里我们只介绍几个常用参数的含义

    语法:int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);

    参数说明:

    ParamName: 存放得到的动态内容的参数名称

    list of Attributes: 其它属性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。属性值不分大小写

    LB( Left Boundary ) : 返回信息的左边界字串。该属性必须有,并且区分大小写。

    RB( Right Boundary ): 返回信息的右边界字串。该属性必须有,并且区分大小写。

    Search : 返回信息的查找范围。可以是HeadersBodyNoresourceAll(缺省)。该属性质可有可无。

     

    那么如何插入该关联函数呢?

    1.vugun切换到 view tree 模式下

    2.在左边的列表中,找到在上一步发出请求的函数,点击“右键”选择“insert before

    3.在弹出的“add step”对话框的“find function”中输入“web_reg_save_param”,点击“ok

    在“parameter name”中输入关联函数的名称,这里最好有含义,“sessionid

    在“left boundary”中输入刚才记录下的不同点字符串的左面的几个字符,定义左边界,Session_id:

    在“right boundary”中输入刚才记录下的不同点字符串的右面的几个字符,定义右边界;

    在“search in ”中,选择“body

    点击“ok

    4.回到脚本编辑模式下,查看该函数插入是否正确

    在发出请求的函数前应该看到:

    1. web_reg_save_param ("sessionid",
    2.       "LB=Session_id:",
    3.       "RB=;",
    4.       "Search=Body",
    5.       LAST);

    第五步:

    将脚本中有用到关联的数据,用参数代替

    如发出请求的参数如下,那么将原来服务器返回的动态值使用{ sessionid } 来替换:

    1. web_submit_form("login.php_2",
    2.       "Snapshot=t2.inf",
    3.       ITEMDATA,
    4.       "Name=login""Value=wangjin", ENDITEM,
    5.       "Name=password""Value=wangjin", ENDITEM,
    6.       "Name=Session_id","Value={ sessionid } ", ENDITEM,
    7.       "Name=Submit""Value=Login", ENDITEM,
    8.       EXTRARES,
    9.       "URL=/media/images/border_bg_l.gif", ENDITEM,
    10.       "URL=/media/images/header_bg.gif", ENDITEM,
    11.       "URL=/media/images/th.gif", ENDITEM,
    12.       LAST); 

    第六步:

    验证关联的正确性

    回放脚本,验证关联的正确性

  • loadrunner自动关联规则创建-自动关联

    2008-12-16 15:23:35

    原来loadrunner中关联也是一个很重要的操作,而且应用非常的广泛。往往我们录制的脚本中会存在一些内容是执行一次就生成一个id的,比如:呼入编号、服务编号或者处理时间之类。这些内容如果不做关联,会导致系统反复的在执行一个动作,无法正常模拟实际情况。因此,我们有必要对脚本做关联。

    今天,偶学会了自动关联,顺便从网上搜了一些与关联相关的内容,转载下来,便于以后学习:

    自动关联包含两种机制:

    一种是loadrunner通过对比录制和回放时服务器响应的不同,而提示用户是否进行关联,用户可自己创建关联规则,这个功能可以方便的使我们获得需要关联的部分,但同时也存在一定的问题,如:自动关联所检测到的关联点不一定真的需要进行关联,这要我们更具实际情况进行判断;有些需要关联的动态数据自动关联无法找到,这是就需要做手动关联

    另一种是loadrunner自带的自动关联规则,在录制脚本时,会根据这些规则自动创建关联

    自动关联的步骤如下:

    1.开启自动关联选项

    刚才提到的两种关联机制,如果用户想使用loadrunner自带的关联规则创建关联,那么需要在Recording Options>Internet Protocol>Correlation】中启用关联规则,选中“Enable correlation during recording”,当录制这些应用系统的脚本时,VuGen会在脚本中自动建立关联。也可以在【Recording Options>Internet Protocol>Correlation】中添加关联规则,达到自动关联的目的。

    如果需要在回放脚本时,loadrunner自动检测需要关联的部分,那么需要在【Tools>general options>Correlation】中选中“save correlation information during replay”和“show scan for correlations popup after replay of vuser”,当回放玩脚本后,会弹出Scan action for correlation窗口,进行关联点的搜索

     

    2.录制脚本

    录制脚本的过程在这里就不多说了

     

    3.回放脚本

    如果录制的脚本存在需要做关联的部分,那么在回放脚本时会出现错误

     

    4.系统自动弹出检测关联对话框,或手动启动关联检测对话框

    如果选择了Tools>general options>Correlation】中的“save correlation information during replay”和“show scan for correlations popup after replay of vuser”,那么在回放脚本后会自动弹出“Scan action for correlation”窗口,点击“yes”进行自动查找

    如果没有选择上述设置,那么也可以按CTRL+F8启动关联自动搜索

     

    5.查看系统检测出的关联点进行关联设置

    如果在录制和回放中存在差异,loadrunner会在“Correlation Results”中列出需要做关联的内容,用鼠标点击一条需要做关联的内容,点击“Create Rule”,系统会显示获得当前数据的规则,点击“yes”,完成规则的创建,同时查看脚本中增加了一个web_reg_save_param函数

    也可以点击Correlate】按钮创建关联,一笔一笔做,或是按下【Correlate All】让VuGen一次就对所有的数据建立关联。

    注意:由于Correlation Studio会找出所有有变动的数据,但是并不是所有的数据都需要做关联,所以不建议您直接用【Correlate All】。

     

    6.回放脚本检查关联的正确性

    创建好关联后,回放脚本检查关联的正确性

  • LR8.0、8.1、9.0下载和破解方法

    2008-12-16 13:32:09

    LR8.0、8.1、9.0下载和破解方法

    1、[url]http://www.3atesting.com/bbs/thread-3188-1-2.html[/url]  LR8.14 ---IE7补丁
    2、[url]http://www.3atesting.com/bbs/thread-1001-1-3.html[/url]  LR8.0 --java1.5 patch下载
    3、[url]http://www.3atesting.com/bbs/thread-909-1-13.html[/url] LR8.1 ServicePatch4 下载
    4、[url]http://www.3atesting.com/bbs/thread-524-1-13.html[/url] LR9.0软件下载
    5、[url]http://www.3atesting.com/bbs/thread-1680-1-14.html[/url] LR install文件

    破解方法,目前只对8.1的破解有经过测试,且有效:
    将LR7.8或者LR8.0(安装包或者安装后目录中的都可以)中的
    lm70.dll
    mlr5lprg.dll
    这两个文件复制并粘贴到LR8.1安装目录下的bin文件夹下,一般是C:\E:\Program Files\Mercury\LoadRunner\bin;
    lm70.dll 文件的描述是 with conbined license support,是一个license的支持文件;
    mlr5lprg.dll应该是一个保存license的文件。
    大家可以试一试,其实不要替换mlr5lprg.dll也是可以的,只替换lm70.dll文件,老的license一样能注册通过,但是软件的试用的license还在。
    3、运行LR8.1,打开license管理器,点击添加new license,将老license复制进去,OK,验证通过!
    7.8、8.0通用的license有:
    golba-100: AEAMAUIK-YAFEKEKJJKEEA-BCJGI
    web-10000: AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB
    此方法适用于英文原版8.1和中文版8.1

    2007-12-14补:
    这个链接是lr9.0的破解方法
    [url]http://www.3atesting.com/bbs/viewthread.php?tid=709&highlight=%C6%C6%BD%E2[/url]
  • Loadrunner中参数设置详细分析收藏

    2008-12-15 14:42:34

    做负载或者压力测试时,很多人选择使用了Loadrunner测试工具。该工具的基本流程是先将用户的实际操作录制成脚本,然后产生数千个虚拟用户运行脚本(虚拟用户可以分布在局域网中不同的PC机上),最后生成相关的报告以及分析图。但是在录制脚本的过程中会遇到很多实际的问题,比如不同的用户有不同的使用数据,这就牵涉到参数的设置问题。本文就Loadrunner中参数的设置进行说明,希望对大家有所帮助。
        在录制程序运行的过程中,VuGen(脚本生成器) 自动生成了包含录制过程中实际用到的数值的脚本。如果你企图在录制的脚本中使用不同的数值执行脚本的活动(如查询、提交等等),那么你必须用参数值取代录制的数值。这个过程称为参数化脚本。
        本文主要包括如下内容:理解参数的局限性、建立参数、定义参数的属性、理解参数的类型、为局部数据类型设置参数的属性、为数据文件设置参数的属性、从已经存在的数据库中引入数据。
        除了GUI,以下的内容适合于各种类型的用户脚本。
    一、关于参数的定义
        在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本。函数中参数的值就是在录制过程中输入的实际值。
        例如,你录制了一个Web应用程序的脚本。脚本生成器生成了一个声明,该声明搜索名称为“UNIX”的图书的数据库。当你用多个虚拟用户和迭代回放脚本时,也许你不想重复使用相同的值“UNIX”。那么,你就可以用参数来取代这个常量。结果就是你可以用指定的数据源的数值来取代参数值。数据源可以是一个文件,也可以是内部产生的变量。
        用参数表示用户的脚本有两个优点:
    ① 可以使脚本的长度变短。
    ② 可以使用不同的数值来测试你的脚本。例如,如果你企图搜索不同名称的图书,你仅仅需要写提交函数一次。在回放的过程中,你可以使用不同的参数值,而不只搜索一个特定名称的值。
        参数化包含以下两项任务:
    ① 在脚本中用参数取代常量值。
    ② 设置参数的属性以及数据源。
        参数化仅可以用于一个函数中的参量。你不能用参数表示非函数参数的字符串。另外,不是所有的函数都可以参数化的。

    二、参数的创建
        可以指定名称和类型来创建参数。不存在对脚本中参数个数的限制。在Web程序的用户脚本中,你可以使用如下过程在基于文本的脚本视图中创建参数。或者,也可以在基于图标的树形视图中创建参数。
        在基于文本的脚本视图中创建一个参数:
    1、 将光标定位在要参数化的字符上,点击右键。打开弹出菜单。
    2、 在弹出菜单中,选择“Replace with a Parameter”。选择或者创建参数的对话框弹出。
    3、 在“Parameter name”中输入参数的名称,或者选择一个在参数列表中已经存在的参数。
    4、 在“Parameter type”下拉列表中选择参数类型。
    5、 点击“OK”,关闭该对话框。脚本生成器便会用参数中的值来取代脚本中被参数化的字符,参数用一对“{}”括住。
        注意:在参数化CORBA或者General-Java 用户脚本的时候,必须参数化整个字符串,而不是其中的部分。另外注意:除了Web或者WAP,缺省的参数括号对于任何脚本都是 “{}”。你可以在“General Options”对话框中的“Parameterization”标签(Tools>General Options)中定义参数括号种类。
    6、 用同样的参数替换字符的其余情况,选中参数,点击右键,弹出菜单。从弹出的菜单中,选择“Replace More Occurrences”。搜索和替换对话框弹出。“Find What”中显示了你企图替换的值。“Replace With”中显示了括号中参数的名称。选择适当的检验框来匹配整个字符或者大小写。如果要搜索规则的表达式(.,!,?等等),选中“Regular Expression”检验框,然后点击“Replace”或者“Replace All”。
        注意:小心使用“Replace All”,尤其替换数字字符串的时候。脚本生成器将会替换字符出现的所有情况。
    7、 如果想用以前定义过的参数来替换常量字符串的话,选中该字符串,点击右键,然后选择“Use Existing Parameter”,子菜单“Use Existing Parameters”弹出。从子菜单“Use Existing Parameters”选择参数,或者用“Select from Parameter List”来打开参数列表对话框。
        注意:如果用以前定义过的参数来替换常量字符串的话,那么,使用“Parameter List”非常方便。同时,还可以查看和修改该参数的属性。
    8、 对于已经用参数替换过的地方,如果想取回原来的值,那么,就在参数上点击右键,然后选择“Restore Original value”。
        在Web用户脚本的树形视图中创建参数:
    1、将光标定位在企图参数化的地方,点击右键,从弹出的菜单中选择“Properties”。则相关的属性对话框打开。
    2、点击在要参数化的参量的旁边的“ABC”形状的图标。“Select or Create Parameter”对话框打开。
    3、在“Parameter name”中输入参数的名称,或者从列表中选择一个已经存在的参数。
    4、在“Parameter type”中输入参数的类型。
    5、点击“OK”关闭该对话框。用户脚本生成器会用参数来替换最初的字符串常量,并用一个表格形状的图标替换“ABC”形状的图标。
    6、要恢复参数化以前的值,点击图标,然后从弹出的菜单中选择“Undo Parameter”,则以前的值便会重现。

     

    三、定义参数的属性
        创建参数完成后,就可以定义其属性了。参数的属性定义就是定义在脚本执行过程中,参数使用的数据源。在Web用户脚本中,你既可以在基于文本的脚本视图中定义参数属性,也可以在基于图标的树形视图中定义参数属性。下面的过程将教你如何在基于本文的脚本视图中定义参数属性。
        在基于文本的脚本视图中定义参数属性步骤:
    1、 在参数上点击右键,有菜单弹出。
    2、 在弹出的菜单中,选择“Parameter Properties”。参数属性对话框打开,显示和当前参数类型相关的属性。
    3、 输入参数的属性值。
    4、 点击“Close”关闭参数属性对话框。
        在Web用户脚本的树形视图中定义参数的属性:
    1、 将关标定位在参数上,然后点击右键,选择“Properties”。属性对话框打开。
    2、 点击要定义属性的参数旁边的表格形状按钮,点击右键,选择“Parameter Properties”。参数属性对话框打开,和参数类型相关的属性显示出来。
    3、 输入参数的属性。
    4、 点击“Close”关闭参数属性对话框。
        使用参数列表:
      使用参数列表可以在任意时刻查看所有的参数,创建新的参数、删除参数,或者修改已经存在参数的属性。
    1、 点击参数列表按钮或者用“Vuser>Parameter List”。参数列表对话框打开。
    2、 要创建新的参数,点击“New”按钮。新的参数则被添加在参数树中,该参数有一个临时的名字,你可以给它重新命名,然后回车。设置参数的类型和属性,点击“OK”,关闭参数列表对话框。
        注意:不要将一个参数命名为“unique”,因为这个名称是用户脚本生成器本身的。用户脚本生成器创建新的参数,但是不会自动用该参数在脚本中替换任意选中的字符串。
    3、 要删除已有的参数,那么,要先从参数树中选择该参数,点击“Delete”,然后确认你的行为即可。
    4、 要修改已有参数,那么,要先从参数树中选择该参数,然后编辑参数的类型和属性。

    四、理解参数的类型
      在你定义参数属性的时候,要指定参数值的数据源。你可以指定下列数据源类型的任何一种:
    Internal Data―― 虚拟用户内部产生的数据。
    Data Files ――存在于文件中的数据。可能是已存在的文件或者是用脚本生成器新创建的。
    User-Defined Functions―― 调用外部DLL函数生成的数据
      Internal Data包括以下几种:
    1、 Date/Time
      Date/Time用当前的日期/时间替换参数。要指定一个Date/Time格式,你可以从菜单列表中选择格式,或者指定你自己的格式。这个格式应该和你脚本中录制的Date/Time格式保持一致。
    2、 Group Name
      Group Name 用虚拟用户组名称替换参数。在创建scenario的时候,你可以指定虚拟用户组的名称。当从用户脚本生成器运行脚本的时候,虚拟用户组名称总是None。
    3、 Load Generator Name
      Load Generator Name用脚本负载生成器的名称替换参数。负载生成器是虚拟用户在运行的计算机。
    4. Iteration Number
      Iteration Number用当前的迭代数目替换参数。
    5、 Random Number
      Random Number用一个随机数替换参数。通过指定最大值和最小值来设置随机数的范围。
    6、 Unique Number
      Unique Number用一个唯一的数字来替换参数。你可以指定一个起始数字和一个块的大小。
    7、 Vuser ID
      Vuser ID用分配给虚拟用户的ID替换参数,ID是由Loadrunner的控制器在scenario运行时生成的。如果你从脚本生成器运行脚本的话,虚拟用户的ID总是-1。

    五、数据文件
      数据文件包含着脚本执行过程中虚拟用户访问的数据。局部和全局文件中都可以存储数据。可以指定现有的ASCII文件、用脚本生成器创建一个新的文件或者引入一个数据库。在参数有很多已知值的时候数据文件非常有用。数据文件中的数据是以表的形式存储的。一个文件中可以包含很多参数值。每一列包含一个参数的数据。列之间用分隔符隔开,比如说,用逗号。
      对数据文件设置参数属性
      如果使用文件作为参数的数据源,必须指定以下内容:文件的名称和位置、包含数据的列、文件格式,包括列的分隔符、更新方法。
      如果参数的类型是“File”,打开参数属性(Parameter Properties)对话框,设置文件属性如下:
    1、 在“File path”中输入文件的位置,或者点击“Browse”指定一个已有文件的位置。缺省情况下,所有新的数据文件名都是“parameter_name.dat”,注意,已有的数据文件的后缀必须是.dat。
    2、 点击“Edit”。记事本打开,里面第一行是参数的名称,第二行是参数的初始值。使用诸如逗号之类的分隔符将列隔开。对于每一新的表行开始一行新的数据。
      注意:在没有启动记事本的情况下如果想添加列,就在参数属性对话框中点击“Add Col”,那么“Add new column”对话框就会弹出。输入新列的名称,点击“OK”。脚本生成器就会添加该列到表中,并显示该列的初始值。
    3、 在“Select Column”部分,指明包含当前参数数据的列。你可以指定列名或者列号。列号是包含你所需要数据的列的索引。列名显示在每列的第一行(row 0)。
    4、 在“Column delimiter”中输入列分隔符,你可以指定逗号、空格符等等。
    5、 在“First data line”中,在脚本执行的时候选择第一行数据使用。列标题是第0行。若从列标题后面的第一行开始的话,那就在“First data line”中输入1。如果没有列标题,就输入0。
    6、 在“Select next row”中输入更新方法,以说明虚拟用户在脚本执行的过程中如何选择表中的数据。方法可以是:连续的、随机的、唯一的、或者与其它参数表的相同行。
      6.1、 顺序(Sequential):该方法顺序地给虚拟用户分配参数值。如果正在运行的虚拟用户访问数据表的时候,它会取到下一行中可用的数据。
      6.2、 随机(Random):该方法在每次迭代的时候会从数据表中取随机数
      6.3、 使用种子取随机顺序(Use Random Sequence with Seed):如果从Loadrunner的控制器来运行scenario,你可以指定一个种子数值用于随机顺序。每一个种子数值在测试执行的时候代表了一个随机数的顺序。无论你何时使用这个种子数值,在scenario中同样的数据顺序就被分配给虚拟用户。如果在测试执行的时候发现了一个问题并且企图使用同样的随机数序列来重复测试,那么,你就可以启动这个功能(可选项)。
      6.4、 唯一(Unique):Unique方法分配一个唯一的有顺序的值给每个虚拟用户的参数。
      6.5 、与以前定义的参数取同一行(Same Line As <parameter>):该方法从和以前定义过的参数中的同样的一行分配数据。你必须指定包含有该数据的列。在下拉列表中会出现定义过的所有参数列表。注意:至少其中的一个参数必须是Sequential、Random或者Unique。
        如果数据表中有三列,三个参数定义在列表中:id1,name1和title1,如下:。
    ID Name Title
    132 Kim Manager
    187 Cassie Engineer
    189 Jane VP
        对于参数id1,你可以指示虚拟用户使用Random方法,而为参数name1和title1就可以指定方法“Same Line as id1”。所以,一旦ID“132”被使用,那么,姓名(Name)“Kim”和职位(Title)“Manager”同时被使用。

    7、Updta value on数据的更新方法

    7.1、Each iteration――每次反复都要取新值

    7.2、Each occurrence――只要发现该参数就重新取值

    7.3、Once――在所有的反复中都使用同一个值

    8、When out of values超出范围:(选择数据为unique时才可用到)

    8.1、Abort Vuser――中止

    8.2、Continue in a cyclic manner――继续循环取值

    8.3、Continue with last value――取最后一个值

    9、Allocate Vuser values in the Controller在控制器中分配值:(选择数据为unique时才可用到)

      9.1、Automatically allocate block size――自动分配

      9.2、Allocate()values for each Vuser――指定一个值

    六、从已存在的数据库中导入数据
      Loadrunner允许你利用参数化从已经存在的数据库中导入数据。可以使用下列两种方式之一:
    1、 使用Microsoft Query(要求在系统上先安装MS Query)。
    2、 指定数据库连接字符串和SQL语句。
        用户脚本生成器在从数据库中导入数据的过程中提供了一个向导。在向导中,你指明如何导入数据-通过MS Query创建查询语句或者直接书写SQL语句。在导入数据以后,以.dat为后缀并作为正规的参数文件保存。要开始导入数据库中数据的过程,在参数属性对话框中点击“Data Wizard”,则,数据库查询向导弹出。
      要创建新的查询
    1、 选择“Create new query”。如果需要MS Query的帮助,选择“Show me how to use Microsoft Query”,然后点击“Finish”。
    如果你还没有安装Microsoft Query,Loadrunner会提示你这个功能不可用。在进行之前,从Microsoft Office中安装MS Query。
    2、 在Microsoft Query中遵循以下步骤,导入期望的表和列。
    3、 在完成数据的导入后,选择“Exit and return to Virtual User Generator”,然后点击“Finish”。在参数属性对话框中数据库记录以data文件的形式显示出来。
    要在MS Query中编辑并查看数据,选择“View data or edit in Microsoft Query”。若要结束,则选择“File>Exit and return to Virtual User Generator”返回到脚本生成器。
    4、 在“Select Column”部分,指定包含当前参数数据的列可以指定列号或者列名。注意:列标题默认为第0行(row 0)。
    5、 从“Select next row”列表中选择一个更新方法来告诉虚拟用户在脚本指定的过程中如何选择表中的数据。可选项是:Sequential、Random、Unique或者Same Line As。其中每一项的含义文章前面已经讲述,就不再赘述。
    6、 如果选择“Advance row each iteration”,虚拟用户在每次迭代的时候会使用新的一行的数据而不是重复同样的数据。
      要指定数据库连接或者SQL语句
    1、 选择“Specify SQL Statement”,然后点击“Next”。
    2、 点击“Create”指定一个新的连接字符串。选择数据源的窗口弹出。
    3、 选择已有的数据源,或者点击“New”创建一个新的数据源。向导将提示你穿过创建ODBC数据源的过程。在完成后,连接字符串就会在连接字符串框中显示出来。
    4、 在SQL框中,输入或者粘贴SQL语句。
    5、 点击“Finish”继续SQL语句并导入数据。数据库记录将以data文件的形式显示在参数属性框中。
    6、 在“Select Column”部分中,指定包含当前参数数据的列。你可以指定列号或者列名。
    7、 从“Select next row”列表中选择一个更新方法来告诉虚拟用户在脚本指定的过程中如何选择表中的数据。可选项是:Sequential、Random、Unique或者Same Line As。
    8、 如果从Update out of values中,选择“each iteration”,虚拟用户在每次迭代的时候会使用新的一行的数据而不是重复同样的数据。

  • 测试工具下载地址

    2008-11-07 15:37:29

    测试工具下载推荐
    CC/CQ,PCVS, CVS ,WinCVS , TD/QC所有配置管理工具下载网站:
    SCMLife--致力于做一流得配置管理社区电驴测试工具资源下载:
    1)        LoadRunner7.8
    http://lib.verycd.com/2005/01/07/0000034096.html
    2)WinRunner7.6
    http://lib.verycd.com/2005/03/16/0000042388.html
    3)TestDirector 7.6 http://board.verycd.com/t162206.html
    FTP:TD7.6下载:
    TD 7.6 SP4 企业版
    TD 7.6 SP4标准版
    4)WinRunner 7.6下载用快车就行http://www.clzx.net.cn/Soft/ShowSoft.asp?SoftID=450
    WinRunner8。0电驴下载
    http://lib.verycd.com/2005/09/18/0000065515.html
    5)QuickTest Pro 8.2 电驴下载http://lib.verycd.com/2005/09/19/0000065551.html
    6)LoadRunner 8.0下载地址:http://lib.verycd.com/2005/10/01/0000067173.html
    LoadRunner 8.1下载地址
    Ftp: LoadRrunner 8.0下载http://esd.mercury.com/akdlm/trial/lr/LR8DownLoad.exe
    7).  TestDirector 8.0 电驴下载http://lib.verycd.com/2006/03/19/0000095046.html

    七  Java开源测试工具汇总

            1  JUnit 
    JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功 能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

    http://www.junit.org/

    2 Cactus 
    Cactus 是一个基于JUnit框架的简单测试框架,用来单元测试服务端Java代码。Cactus框架的主要目标是能够单元测试服务端的使用Servlet对象的 Java方法如HttpServletRequest,HttpServletResponse,HttpSession等

    http://jakarta.apache.org/cactus/

    3 Abbot 
    Abbot是一个用来测试Java GUIs的框架。用简单的基于XML的脚本或者Java代码,你就可以开始一个GUI。

    http://abbot.sourceforge.net/

    4 JUnitPerf 
    Junitperf实际是junit的一个decorator,通过编写用于junitperf的单元测试,我们也可使测试过程自动化。http://www.clarkware.com/software/JUnitPerf.html

    5        DbUnit 
    DbUnit是为数据库驱动的项目提供的一个对JUnit 的扩展,除了提供一些常用功能,它可以将你的数据库置于一个测试轮回之间的状态。

    http://dbunit.sourceforge.net/

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

    http://mockrunner.sourceforge.net/index.html
    7        DBMonster 
    DBMonster是一个用生成随机数据来测试SQL数据库的压力测试工具。

    http://dbmonster.kernelpanic.pl/


    8        MockEJB 
    MockEJB是一个不需要EJB容器就能运行EJB并进行测试的轻量级框架。

    http://mockejb.sourceforge.net/

    9        StrutsTestCase 
    StrutsTestCase 是Junit TestCase类的扩展,提供基于Struts框架的代码测试。StrutsTestCase同时提供Mock 对象方法和Cactus方法用来实际运行Struts ActionServlet,可以通过运行servlet引擎来测试。http://strutstestcase.sourceforge.net/

    10  JFCUnit 
    JFCUnit使得你能够为Java偏移应用程序编写测试例子。它为从用代码打开的窗口上获得句柄提供了支持;为在一个部件层次定位部件提供支持;为在部件中发起事件(例如按一个按钮)以及以线程安全方式处理部件测试提供支持。
    http://jfcunit.sourceforge.net/

    11JTestCase 
    JTestCase 使用XML文件来组织多测试案例数据,声明条件(操作和期望的结果),提供了一套易于使用的方法来检索XML中的测试案例,按照数据文件的定义来声明结果。

    http://jtestcase.sourceforge.net/

    12SQLUnit 
    SQLUnit是一个单元测试框架,用于对数据库存储过程进行回归测试。用 Java/JUnit/XML开发。

    http://sqlunit.sourceforge.net

    13 JTR 
    JTR (Java Test Runner)是一个开源的基于反转控制(IOC)的J2EE测试框架。它允许你构建复杂的J2EE测试套件(Test Suites)并连到应用服务器执行测试,可以包括多个测试实例。JTR的licensed是GPL协议。

    http://jtrunner.sourceforge.net/

    14 Marathon 
    Marathon是一个针对使用Java/Swing开发GUI应用程序的测试框架,它由recorder, runner 和 editor组成,测试脚本是python代码。Marathon的焦点是放在最终用户的测试上。

    http://marathonman.sourceforge.net

    15 TestNG 
    TestNG是根据JUnit 和 NUnit思想而构建的一个测试框架,但是TestNG增加了许多新的功能使得它变得更加强大与容易使用比如:
    *支持JSR 175注释(JDK 1.4利用JavaDoc注释同样也支持)
    *灵活的Test配置
    *支持默认的runtime和logging JDK功能
    *强大的执行模型(不再TestSuite)
    *支持独立的测试方法。

    http://testng.org/

    16 Surrogate Test framework 
    Surrogate Test framework是一个值得称赞单元测试框架,特别适合于大型,复杂Java系统的单元测试。这个框架能与JUnit,MockEJB和各种支持模拟对象(mock object )的测试工具无缝给合。这个框架基于AspectJ技术。
    http://surrogate.sourceforge.net

    17 MockCreator 
    MockCreator可以为给定的interface或class生成模拟对象(Mock object)的源码。

    http://mockcreator.sourceforge.net/

    18 jMock 
    jMock利用mock objects思想来对Java code进行测试。jMock具有以下特点:容易扩展,让你快速简单地定义mock objects,因此不必打破程序间的关联,让你定义灵活的超越对象之间交互作用而带来测试局限,减少你测试地脆弱性。

    http://www.jmock.org/

    19 EasyMock 
    EasyMock为Mock Objects提供接口并在JUnit测试中利用Java的proxy设计模式生成它们的实例。EasyMock最适合于测试驱动开发。

    http://www.easymock.org/

    20 The Grinder 
    The Grinder是一个负载测试框架。在BSD开源协议下免费使用。

    http://grinder.sourceforge.net/

    21 XMLUnit 
    XMLUnit 不仅有Java版本的还有.Net版本的。Java开发的XMLUnit提供了两个JUnit 扩展类XMLAssert和XMLTestCase,和一组支持的类。这些类可以用来比较两张XML之间的不同之处,展示XML利用XSLT来,校验 XML,求得XPath表达式在XML中的值,遍历XML中的某一节点利DOM展开,

    http://xmlunit.sourceforge.net/

    22        Jameleon 
    Jameleon一个自动化测试工具。它被用来测试各种各样的应用程序,所以它被设计成插件模式。为了使整个测试过程变得简单Jameleon提供了一个GUI,因此Jameleon实现了一个Swing 插件。

    http://jameleon.sourceforge.net/index.html

    23        J2MEUnit 
    J2MEUnit是应用在J2ME应用程序的一个单元测试框架。它基于JUnit.

    http://j2meunit.sourceforge.net/

    24        Jetif 
    Jetif 是一个用纯Java实现的回归测试框架。它为Java程序单元测试以及功能测试提供了一个简单而且可 伸缩的架构,可以用于个人开发或企业级开发的测试。它容易使用,功能强大,而且拥有一些企业级测试的重要功能。Jetif来源于JUnit, JTestCase以及TestNG的启发,有几个基本的概念直接来自于JUnit, 比如说断言机制,Test Listener的概念,因此从JUnit转到Jetif是非常容易的。
    http://jetif.sourceforge.net/

    25        GroboUtils 
    GroboUtils 使得扩展Java测试变得可能。它包括用在Java不同方面测试的多个子项目。在GroboUtils中最常被到的工具是:多线程测试(multi- threaded tests),整体单元测试(hierarchial unit tests),代码覆盖工具(code coverage tool)。
    http://groboutils.sourceforge.net/

    26        Testare 
    TESTARE是用来简化分布式应用程序(比如:在SERVLETS,JMS listeners, CORBA ORBs或RMI环境下)测试开发过程的一个测试框架.
    https://testare.dev.java.net/


    官方下载:
    http://downloads.mercury.com/cgi-bin/portal/download/index.jsp

    LoadRunner 8.1下载
    http://esd.mercury.com/akdlm/trial/lr/LR81Download.exe

    TestDirector for Quality Center
    http://esd.mercury.com/akdlm/trial/qc/quality-center-starter-edition.zip

    QTP 9.2下载
    http://esd.mercury.com/akdlm/trial/qtp/qtp92.zip

    QTP 9.5下载
    https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&cp=1-11-127-24^1352_4000_313

    其他下载地址:
    LoadRunner 8.0下载
    http://www.tomore.com/catalog/3_25/7.htm
    LoadRunner.8.0.工业级测试工具.part01.rar
    ……
    ……
    LoadRunner.8.0.工业级测试工具.part22.rar

    QTP 8.2下载:
    http://www.tomore.com/catalog/3_25/5.htm
    QuickTest.Pro.8.2.中文版.强大测试工具.QuickTest_Pro_82_CHS_ENG.part01.rar
    ……
    ……
    QuickTest.Pro.8.2.中文版.强大测试工具.QuickTest_Pro_82_CHS_ENG.part18.rar

    loadrunner 9.0:
    http://esd.mercury.com/akdlm/trial/lr/LR9Download.exe
  • 中文解释性能测试中HTTP Status Code

    2008-11-07 14:31:12

        HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,采用了请求/响应模型。客户端向服务器发送一个请求,请求头包 含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议 的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。
        通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。
        HTTP服务器状态代码定义(Status Code Definitions)
        1**----消息类
        该类状态代码用于表示临时回应
        2**----成功类
        表示客户端请求被成功接收、理解、接受。例如:200---OK  表示请求成功。
        3**----重定向类
        该类状态码表示用户代理要想完成请求,还需要发出进一步的操作。
        例如:302---Moved Temporarily  请求到的资源在一个不同的URL处临时保存。因为重定向有时会被更改,客户端应继续用请求URI来发出以后的请求。
             304---Not Modified    如果客户端成功执行了条件GET请求,而对应文件自If-       Modified-Since域所指定的日期以来就没有更新过,服务器应当回应此状态码,而不是将实体主体发送给客户端。
        4**----客户端错误类
        例如:404---Not Found   服务器没有找到与请求URI相符的资源。404状态码并不指明状况是临时性的还是永久性的。(眼熟吧
        5**----服务器错误类
        例如:500---Internal Server Error    服务器碰到了意外情况,使其无法继续回应请求。(最常见吧
  • loadrunner分析中的HTTP Responses Summary

    2008-08-05 14:41:25

    Analysis:

    HTTP_200: The request has succeeded. The information returned with the response is dependent on the method used in the request。【页面响应正常】

    HTTP_302: The requested resource resides temporarily under a different URI. Since the redirection might be altered on occasion, the client SHOULD continue to use the Request-URI for future requests. This response is only cacheable if indicated by a Cache-Control or Expires header field. 【不正常情况,可能有数据丢失】

    HTTP_404: The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent. 【找不到页面,或者页面未加载完全】

    HTTP_500: The server encountered an unexpected condition which prevented it from fulfilling the request.【内部服务器错误】
  • Error -27791 connection prematurely错误解答

    2008-04-15 17:42:54

    运行Controller时遇到这个error:
    Action.c(7): Error -27791: Server "10.10.0.88" has shut down the connection prematurely

    解决方案如下:

    1、应用服务器死掉。小用户时程序上的问题,程序上处理数据库的问题
    2、应用服务没有死。应用服务参数设置问题。例如:在许多客户端weblogic应用服务器被拒绝,而在服务器端没有错误显示,则有可能是weblogic中的server元素的acceptbacklog属性值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%。
    3、数据库的连接
    在应用服务的性能参数可能太小了
    数据库启动的最大连接数(跟硬件的内存有关)

    4、有时关闭卡巴斯基也会解决如上问题

  • Loadrunner监控windows系统“找不到网络路径”问题解决

    2008-04-15 09:41:42

    全策略在作怪(管理工具 -> 本地安全策略 -> 安全选项 -> "网络访问:本地帐户的共享和安全模式")。默认情况下,XP的访问方式是"仅来宾"的方式,那么你访问它,当然就固定为Guest来访问,而guest账户没有监控的权限,所以要把访问方式改为“经典”模式,这样就可以以administrator的身份登陆了。
    备注:Remote Registry    这个服务要启动

    相关问题:监视windows系统注意事项

    1 监视连接前的准备工作
            首先保证被监视的windows系统开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry Service (这里具体在那里开起服务就不说了)。
            被监视的WINDOWS机器:右击我的电脑,选择管理->共享文件夹->共享 在这里面要有C$这个共享文件夹,(要是没有自己手动加)。
            然后保证在安装LR的机器上使用运行.输入\\被监视机器IP\C$ 然后输入管理员帐号和密码,如果能看到被监视机器的C盘了,就说明你得到了那台机器的管理员权限,可以使用LR去连接了。

            说明: LR要连接WINDOWS机器进行监视貌似要有管理员帐号和密码才行。
    2 用LR监视windows的步骤
    (这里就不详细说明了,只要在窗口中右击鼠标选择Add Measurements就可以了)

  • 主要软件测试工具介绍

    2008-02-01 16:22:15

    测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理(测试流程管理、缺陷跟踪管理、测试用例管理)的工具,这些产品主要是MercuryInteractive(MI)、Segue、IBM  Rational、 Compuware和Empirix等公司的产品,而MI公司的产品占了主流。

    白盒测试工具

      白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。

      静态测试工具:直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。静态测试工具的代表有:Telelogic公司的Logiscope软件;PR公司的PRQA软件。

      动态测试工具:动态测试工具与静态测试工具不同,动态测试工具的一般采用"插桩"的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。动态测试工具的代表有:Compuware公司的DevPartner软件;Rational公司的Purify系列等。

    黑盒测试工具

      黑盒测试工具适用于黑盒测试的场合,黑盒测试工具包括功能测试工具和性能测试工具。黑盒测试工具的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。黑盒测试工具的代表有:Rational公司的TeamTest、Robot;Compuware公司的QACenter。

    性能测试工具

      专用于性能测试的工具包括有:Radview公司的WebLoad;Microsoft公司的  WebStress等工具;针对数据库测试的TestBytes;对应用性能进行优化的EcoScope等工具。   MercuryInteractive的LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。

    测试管理工具

      测试管理工具用于对测试进行管理。一般而言,测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。测试管理工具的代表有:Rational公司的Test Manager;Compureware公司的TrackRecord;Mercury Interactive公司的TestDirector等软件。

  • 主要软件测试工具介绍

    2008-02-01 16:20:41

    测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理(测试流程管理、缺陷跟踪管理、测试用例管理)的工具,这些产品主要是MercuryInteractive(MI)、Segue、IBM  Rational、 Compuware和Empirix等公司的产品,而MI公司的产品占了主流。

    白盒测试工具

      白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。

      静态测试工具:直接对代码进行分析,不需要运行代码,也不需要对代码编译链接,生成可执行文件。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。静态测试工具的代表有:Telelogic公司的Logiscope软件;PR公司的PRQA软件。

      动态测试工具:动态测试工具与静态测试工具不同,动态测试工具的一般采用"插桩"的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。动态测试工具的代表有:Compuware公司的DevPartner软件;Rational公司的Purify系列等。

    黑盒测试工具

      黑盒测试工具适用于黑盒测试的场合,黑盒测试工具包括功能测试工具和性能测试工具。黑盒测试工具的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。黑盒测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。黑盒测试工具的代表有:Rational公司的TeamTest、Robot;Compuware公司的QACenter。

    性能测试工具

      专用于性能测试的工具包括有:Radview公司的WebLoad;Microsoft公司的  WebStress等工具;针对数据库测试的TestBytes;对应用性能进行优化的EcoScope等工具。   MercuryInteractive的LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。

    测试管理工具

      测试管理工具用于对测试进行管理。一般而言,测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。测试管理工具的代表有:Rational公司的Test Manager;Compureware公司的TrackRecord;Mercury Interactive公司的TestDirector等软件。

  • 如何通过LoadRunner监控Linux和Unix操作系统的资源状况

    2007-12-20 14:22:13

    我们在使用LR进行性能测试的时候,经常有需要监控OS的资源使用情况的需求。对于Windows系统,这个工作进行起来很方便,直接在LR的资源监控窗口中添加需要被监控的机器名或IP即可,但对于Linux/Unix系统,则要稍微复杂一些,我在这里简单介绍一下如何在LR中监控Linux/Unix系统的资源使用情况:

      Linux

      对于Linux系统,要想通过LR监控Linux/Unix系统的资源使用情况,需要运行rstatd服务。如果OS没有安装rstatd(可以查找一下系统中是否存在rpc.rstatd这个文件,如果没有,则说明系统没有安装rstatd),则需要进行安装。rstatd安装步骤如下:

      获得rstatd的安装介质(rstatd.tar.gz)。rstatd可以从redhat的安装CD中获得,或者从网站上下载(给出一个下载地址,sourceforge的:http://heanet.dl.sourceforge.net/sourceforge/rstatd)。

      将rstatd.tar.gz拷贝到Linux系统中,解压,赋予可执行权限,进入rpc.rstatd目录,依次执行如下命令:
          #./configure
          #make
          #make install 
      结束后,运行./rpc.rstatd命令,启动服务。这个时候,你就可以在LR中监控Linux资源了。

      Unix

    对于Unix系统,比如Solaris,AIX或者HP UX等,它们的配置过程比较简单——在inetd.conf(在/etc目录下)文件中去掉rstatd前面的注释,然后启动rstatd服务即可。

401/212>
Open Toolbar