唯你测吧欢迎来自五湖四海的朋友!!! 希望大家为唯你测吧更添一道色彩!!! 欢迎大家加入Q群:34973397 欢迎大家访问测试中国网站:www.testingcn.com

发布新日志

  • LR中参数类型和更新方法

    2007-10-30 12:29:45

    1.参数更新方法:

    每次出现指示Vuser在每次参数出现时使用新值。当使用同一个参数的几个语句不相关时,该方法非常有用。例如,对于随机数据,在该参数每次出现时都使用新值可能是非常有用的。

    每次迭代指示Vuser为每次脚本迭代使用新值。如果一个参数在脚本中出现了若干次,则Vuser为整个迭代中所有出现的该参数使用同一个值。当使用同一个参数的几个语句相对时,该方法非常有用。

    一次指示Vuser在方案运行期间仅对参数值更新一次。Vuser为所有出现的该参数和所有迭代使用同一个参数值。当使用日期和时间时,该类型可能会非常有用。

    2.“文件”类型参数选择分配方法

           顺序顺序地向Vuser分配参数值。当正在运行的Vuser访问数据表格时,它将会提取下一个可用的数据行。如果在“更新值的时间”列表框中指定了“每次迭代”,则Vuser将为每一次迭代从数据表格中提取下一个值。如果在“更新值的时间”列表框中指定了“每次出现”,则Vuser将为每一次参数的出现从数据表格中提取下一个值,即使它在同一次迭代中。如果在“更新值的时间”列表框中指定了“一次”,则第一次迭代中分配的值就会在每个Vuser接下来所有的迭代中使用。

           随机:当测试开始运行时,“随机”方法为每个Vuser分配一个数据表格中的随机值。如果在“更新值的时间”列表框中指定了“每次迭代”,则Vuser将会为每一次迭代从数据表格中提取一个新的随机值。如果在“更新值的时间”列表框中指定了“每次出现”,则Vuser将为每一次参数的出现从数据表格中提取一个新的随机值,即使它在同一次迭代中。如果在“更新值的时间”列表框中指定了“一次”,则第一次迭代中分配的随机值就会在该Vuser的所有迭代中使用。

           唯一:为每一个Vuser的参数分配一个唯一的属性值。如果在“更新值的时间”列表框中指定了“每次迭代”,则Vuser将为每一次迭代从数据表格中提取下一个唯一值。如果在“更新值的时间”列表框中指定了“每次出现”,则Vuser将会为每一次参数的出现从数据表格中提取一个新的唯一的值,即使它在同一次迭代中。如果在“更新值的时间”列表框中指定了“一次”,则第一次迭代中分配的唯一值就会在每个Vuser的所有接下来的迭代中使用。

  • LoadRunner中的C Vuser函数[转]

    2007-07-27 16:03:39

    事务函数:

    lr_end_sub_transaction

    标记子事务的结束以便进行性能分析。

    lr_end_transaction

    标记事务的结束。

    lr_end_transaction_instance

    标记事务实例的结束以便进行性能分析。

    lr_fail_trans_with_error

    将打开事务的状态设置为 LR_FAIL 并发送错误消息。

    lr_get_trans_instance_duration

    获取事务实例的持续时间(由它的句柄指定)。

    lr_get_trans_instance_wasted_time

    获取事务实例浪费的时间(由它的句柄指定)。

    lr_get_transaction_duration

    获取事务的持续时间(按事务的名称)。

    lr_get_transaction_think_time

    获取事务的思考时间(按事务的名称)。

    lr_get_transaction_wasted_time

    获取事务浪费的时间(按事务的名称)。

    lr_resume_transaction

    继续收集事务数据以便进行性能分析。

    lr_resume_transaction_instance

    继续收集事务实例数据以便进行性能分析。

    lr_set_transaction_instance_status

    设置事务实例的状态。

    lr_set_transaction_status

    设置打开事务的状态。

    lr_set_transaction_status_by_name

    设置事务的状态。

    lr_start_sub_transaction

    标记子事务的开始。

    lr_start_transaction

    标记事务的开始。

    lr_start_transaction_instance

    启动嵌套事务(由它的父事务的句柄指定)。

    lr_stop_transaction

    停止事务数据的收集。

    lr_stop_transaction_instance

    停止事务(由它的句柄指定)数据的收集。

    lr_wasted_time

    消除所有打开事务浪费的时间。



    命令行分析函数

    lr_get_attrib_double

    检索脚本命令行中使用的 double 类型变量。

    lr_get_attrib_long

    检索脚本命令行中使用的 long 类型变量。

    lr_get_attrib_string

    检索脚本命令行中使用的字符串。

    信息性函数

    lr_user_data_point

    录制用户定义的数据示例。

    lr_whoami

    将有关 Vuser 的信息返回给 Vuser 脚本。不适用于应用程序管理。

    lr_get_host_name

    返回执行 Vuser 脚本的主机名。

    lr_get_master_host_name

    返回运行 LoadRunner Controller 或优化控制台的计算机的名称。不适用于应用程序管理。

    字符串函数

    lr_eval_string

    用当前值替换参数。

    lr_save_string

    将以 NULL 结尾的字符串保存到参数中。

    lr_save_var

    将可变长度字符串保存到参数中。

    lr_save_datetime

    将当前日期和时间保存到参数中。

    lr _advance_param

    前进到下一个可用参数。

    lr _decrypt

    解密已编码的字符串。

    lr_eval_string_ext

    检索指向包含参数数据的缓冲区的指针。

    lr_eval_string_ext_free

    释放由 lr_eval_string_ext 分配的指针。

    lr_save_searched_string

    在缓冲区中搜索字符串实例,并相对于该字符串实例,将该缓冲区的一部分保存到参数中。

     

    消息函数

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

  • LR在安装和卸载问题上的一点总结

    2007-04-26 14:04:23

    在安装 Loaderunnner 过程中也许你经常遇到,提示无法安装的情况,我也遇到过相关问题,于是查阅了相关资料,总结了一下,好东西不敢独享,拿出来和同行一起交流

    (一)  提示:“ the link file .... may be corrupted or has illegated link string ”的,提示重复多次均无法安装。

    原因 :你的 Loaderunner 的安装文件夹名写成中文了,造成 Lr 的安装教本无法识别路径,最终导致不断有这样的错误提示。

    解决方案:把安装文件的目录名改为非中文就可以了。

    (二)  没法完全卸载

    要想把 LR 的老版本完全卸载,正确的步骤是:

    1.         停止所有的运行的 LR 的进程和服务( including the Controller, VuGen, Analysis or the LoadRunner Agent Process/Service

    2.         备份已有的脚本,你的脚本有可能在你的默认安装路径下

    3.         在控制面板的添加删除程序中,删除 LR ,并重启机器

    4.         手动删除所有 LR 的文件夹,包括您的开始菜单里的 LR 快捷方式

    5.         如果你的版本是 6 0 系列的,删除 Borland 文件夹(通常在 C:\Borland or C:\BDE  目录下)

    6.         搜索    wlrun.*    vugen.* ,除了安装文件夹中的文件,其他的都删除

    7.         打开注册表,找到

    如果只安装了 MI 公司的 LoadRunner 这一个产品,请删除:

    HKEY_LOCAL_MACHINESOFTWAREMercury Interactive.

    HKEY_CURRENT_USERSOFTWAREMercury Interactive.

    否则请删除:

    HKEY_LOCAL_MACHINESOFTWAREMercury InteractiveLoadRunner.

    HKEY_CURRENT_USERSOFTWAREMercury InteractiveLoadRunner.

    删除所有和 LR 有关的数值,除了你的 License2 License

     

    8.         清空回收站

    实现以上步骤后,即可放心安装了,切记在重装后,一定要重启机器,因为一些必要信息要写入注册表。

    (三)  卸载后 , 执行安装过程时出现“ license security violation.Operation is not allowed ”提示信息 , 安装失败

    解决方案: :

    1.         进入一台 Loadrunner 运行正常的电脑 ( 安装路径要和你的相同 ) 进入注册表 , 导出以下两个目录 :

    HKEY_CURRENT_USER\Software\Mercury Interactive

    HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive

    2.         回到刚才安装不成功的电脑 , 进入注册表导入刚才这两个文件 .

    3.         再次执行安装 .

    建议 : 如果有用 Ghost 提前做 Ghost, 或者为系统设置还原点 .

  • LoadRunner经常遇到的问题

    2007-03-23 10:58:11

    8 经常遇到的问题

    8.1 VuGen的问题

    在使用VuGen 中经常会遇到的问题。

    8.2 Controller的问题

    在使用Controller 中经常会遇到的问题。

    1. 在添加完Load Generators 机器时, 连接老是失败; 添加的机器明明已经安装了

    loadrunner, 并且网络通讯正常。

    解决方法: 在安装loadrunner 的第七步骤, 应该选择第2 项, 如果选择了第一项,

    就会有这种问题。重新安装一下即可。

    2. VuGen 中运行良好的脚本, 到Controller 中运行却出问题。

    这种问题可能会遇到。为了确定问题出在Controller 中的场景,而不是脚本的问题,

    你应该在所有的Load Generators 机器上使用VuGen 运行测试脚本, 确保都能够运

    行正确。因为VuGen Controller 运行的机制不一样。在VuGen 中运行时使用的

    是完整的浏览器, 而在Controller 中运行时使用的只是浏览器的基本的部分。

    8.3 计数器的问题

    在使用性能计数器中经常会遇到的问题。

    1. 添加了Windows Resources 计数器后, 却看不到实时的数据。

    解决方法: 要得到监视的数据, 必须要在被监视的服务器(Web Server) 上获得管

    理员权限。最简单的方法是在 网络邻居中以administrator 身份登陆Web Server


    当然使用下面的控制台命令也可以:net use \\< 机器名> 然后登陆用户名和密码即

    可。(登陆的用户名必须具有管理员权限)

    2. 添加了一些默认的性能计数器后, 出现了错误。

    解决方法: 可能是一些LoadRunner 默认的计数器在WebServer 上已经不存在的原

    因, 尤其是数据库的计数器方面。简单的解决方法,就是删除有问题的计数器, 添

    加比较接近的计数器( 可能需要参考Windows 帮助或者数据库的帮助)
  • LoadRunner 8.1 中的新内容

    2007-02-11 11:33:01

  • lr_debug_message

    向输出窗口或业务流程监控器日志文件发送调试消息。

    lr_error_message

    向输出窗口或业务流程监控器日志文件发送错误消息。

    lr_get_debug_message

    检索当前消息类。

    lr_log_message

    将消息发送到日志文件。

    lr_output_message

    向输出窗口或业务流程监控器日志文件发送消息。

    lr_set_debug_message

    设置调试消息类。

    lr_vuser_status_message

    生成带格式的输出,并将其打印到 Controller 或控制台 Vuser 状态区域。不适用于应用程序管理。

    Mercury已于2005年9月7日正式发表LoadRunner 8.1,但是一直到最近才有机会试一下LoadRunner 8.1,发现LoadRunner 8.1比8.0多了一些新功能,像是说明文件、支持的protocol、monitor,其中我觉得改变最大的是整个VuGen的使用介面变得更为简单,而且透过工作流程精灵的方式,一步一步地引导使用者使用VuGen建立脚本,不仅是让初学者更容易上手,即使你已经很熟悉VuGen的使用,透过工作流程精灵更是可以让你在整个脚本建立过程中,减少出错的机会,并大大缩短建立脚本所需花费的时间。

    线上说明文件
    在说明文件部分,除了原本就有的Tutorial教学文件之外,Tutorial教学文件中使用到的范例档案(脚本、Scenario、分析结果)也可以在Tutorial目录下找到。
    另外还多了一个20页的QuickStart文件,快速并且简单的说明如何使用LoadRunner。
    除此之外,说明文件还提供了一份Troubleshooting Guide的线上说明文件,内容清楚的解释了在Controller output视窗或是VuGen Execution Log中出现的错误讯息,而更方便的是你可以直接选取错误讯息后,按下F1按键就会直接开啟该错误讯息的说明文件,省却另外再搜寻的时间。
    支援的Protocol
    在支援的protocol部分则是多了ADO.NET以及Oracle 10G的录製与播放。
    支援的Monitor
    在monitor部分多了SAP Transaction Breakdown(原本在LoadRunner 8.0就提供了J2EE, .NET, Oracle的Transaction Breakdown)以及与SiteScope(Mercury的系统监控软体)整合。
    VuGen
    最后则是VuGen的部份,感觉上Mercury以「让使用者更容易使用」为目标,做了很大的改进,以下将逐一说明:
    工作流程精灵(Workflow Wizard)
    首先是新版的VuGen加入了工作流程精灵(Workflow Wizard)的引导模式,这种工作流程精灵的使用介面,其实在另一家压力
    测试工具Silk Performer是早就已经提供的。
    当你开啟一个新脚本,如Web脚本,首先你会看到以下的画面,在视窗的左边会出现一个显示工作流程的工作窗格,右边则是显示建立脚本的流程:Recording → Verification → Enhancements → Prepare for Load。
    在工作流程的工作窗格上会列出建立虚拟使用者脚本的详细流程与工作,同时上面会有个红色的箭头,指示你目前是位于流程中哪一阶段的工作,同时在右边的画面,也会显示出此工作的相关操作与说明,引导你完成整个建立脚本的流程。当你完成某个工作之后,就可以按一下工作窗格下方的【Next】按钮,进入下一阶段的工作。

    当你点一下左边工作窗格上的【Recording Application】就会出现下面的画面,说明录製前的准备动作、什么是Action、设定Recording Options,然后按下【Start Recording】开始录製。

    在右边画面中类似超连结的文字都是可以点选的,点选之后就会开啟相关的视窗或是说明文件。例如按下【Open Recording Options】会开啟【Recording Options】的视窗。
    当按下【Start Recording】后,VuGen一样会开啟【Start Recording】视窗,输入【URL Address】后按下【OK】就会自动执行瀏览器并且开啟刚刚输入的URL。

    同样的录製时也会有浮动工具列。

    当录製完整个操作动作后,按下【Stop】,进入到下一个工作【Recording Summary】,显示刚刚是以哪种Protocol录製脚本,并且录製在哪个Action中,假如有问题,还可以点【Recording log】看看录製过程中倒底发生了哪些事件。当然假如录製的脚本不小心操作作错了,或是过程中有发生问题,你还可以按下【Record Again】按钮再重录一遍。
    在画面的最右边,你还可以看到录製过程中,VuGen擷取的缩图(Thumbnails),这也是VuGen新增加的功能支一,主要是方便你了解刚刚录製的操作,你可以更改缩图的名称或是加上註解,以便让其它人也可以知道你的脚本在做些什么。

    录製完成之后,当然就是执行脚本,看看脚本能不能正确执行无误囉!所以就按一下【Verify Replay】进入下一个工作Verification。在执行脚本前,可以根据需要,点一下【Run-Time Settings】,开啟【Run-Time Settings】视窗,做些设定,像是执行次数、log、think time等。OK后就可以按下【Start Replay】按钮,执行脚本了。

    脚本执行完后,你会看到下面的画面,显示最新一次的执行结果,最主要是Replay Status地方有没有出现Error的字样,没有的话,恭喜你,脚本执行是OK的。当然你也可以对照右边录製以及执行的缩图,看看业面对不对,来判断脚本执行有没有问题。假如脚本执行有问题,也提示你有可能是伺服器产生的动态资料(Dynamic Server Values)所造成的,这时就需要使用关联(Correlation)的技巧来解决。

    脚本执行都没问题之后,进入下一工作Enhancement,加强脚本,例如加上交易(Transactions)、加上参数(Parameters)、加上内容检查(Content Checks)等。

    点一下左边的【Transactions】,就会出现交易编辑器(Transaction Editor),这也是新版VuGen新增的功能。要加上一个交易,只需要简单的三个步骤。例如要加上一个Login的交易,先按下右边【New Transaction】按钮后,滑鼠的游标会改变成Star_Transaction的图示,然后在登入的页面左边点一下,然后滑鼠游标便成End_Transaction图示后,在登入页面右边点一下,最后再输入交易名称「Login」,就完成建立一个交易的动作了。
    除了建立之外,你也可以在交易编辑器管理并修改所有的交易。在编辑器的右边会出现脚本所有的交易,方便你选取任一个交易,并且执行更名以及删除的动作,当然也可以直接跳到脚本中交易的位置。在中间的画面,你更可以透过拖曳方式任意移动交易的起始结束点,并且做更名的动作。所以透过交易编辑器,对于所有交易的管理,是不是变得更容易了!

    加完交易之后,点一下右边的【Parameterization】,进入参数化的工作。在这边你可以点选【switch to edit mode】进入脚本的编辑模式进行参数化的动作,之后再点选【Parameter list】开啟参数设定视窗,新增并修改参数值,以及设定参数的行为。
    假如你不知道怎么做参数化,甚至不清楚什么是参数化,没关係,点选【Parameterization Tutorial】会开啟参数化的说明文件,一步一步的教你,让你搞懂如何做参数化。
    当然做完之后,记得要按一下【Replay scrīpt】执行脚本,以确保参数化是正确的。

    做完参数化之后,你还可以针对页面内容做检查点,例如在买完机票后,一定要在Invoice页面出现「Thank you for booking through Mercury Web Tours.」的字串,你可以在【Content Checks】这个阶段加上文字检查点。

    到这边脚本基本上算是完成了,但是工作流程还是建议你,在真正执行压力测试之前,在做二个动作,以确保压力测试能够成功的执行。一个就是让脚本执行多个迴圈,另外就是让脚本执行少量的同时上线使用者。毕竟之前脚本的执行,都是在一个使用者的状态下执行一个迴圈而已,很难确保执行多次或是多个使用者同时执行的状况下,脚本还是能正确执行。例如参数化的资料没有考虑的唯一性,在之前的执行是不会发现的,只有在少量的同时上线使用者一起执行时,问题才会发生。

    要让脚本执行多次迴圈,只要开啟【Run-Time Setting】的【General】>【Run Logic】设定执行的次数即可。

    要让脚本模拟少量同时上线使用者一起执行,就需要开啟LoadRunner的Controller,选择Manual Scenario,设定2~3个使用者,执行看看有没有错误讯息就可以了。

    最后整个脚本的建立与验证,总算是大功告成,接下就就是使用Controller建立压力测试的Scenario囉!

    以上大致把LoadRunner 8.1 的工作流程精灵的整个流程跑完一遍!!
    除错功能(Debugging Capabilities)
    当你想要建立比较复杂的脚本时,就会需要透过写程式码的方式修改脚本,这时VuGen的除错功能就会变得很重要,在新版的VuGen提供了不输给一般IDE的除错功能,像是书籤(bookmark)、中断点(breakpoint)以及执行时期资料(Run Time Data)。书籤的目的是要让使用者可以方便的在脚本中快速切换位置。中断点则是方便使用者控制脚本要执行到某个步骤就停止,VuGen除了可以设置中断点之外,使用者还可以透过中断点编辑器(Breakpoint editor),管理中断点的设置、停用与删除。

    例如在上面中断点编辑器中显示脚本中有二个中断点,分别是在第14行以及第25行,打勾表示这二个中断点都是啟用的。假如你要禁用其中一个中断点,只要把打勾给取消掉就可以了,不用把中断点删除掉。
    还有执行时期资料(Run Time Data),可以让你在VuGen执行脚本时,即时观察脚本中变数的值,这个功能在
  • 如何才能做好测试自动化

    2007-01-19 08:54:00

    -选择好工具,最流行的工具不一定适合自己,真正适合自己的工具才是最好的。如Robot不一定是最好的,但它的多机交互协作能力是其它工具没有的

    -根据客户端、Web和服务器的不同特点可选择不同的测试工具,如Web的链接、UI变化快和复杂的逻辑,工具的录制功能要强、稳定,适应不同的平台(Windows, Linux, Mac OS)和浏览器(IE, ForeFox, NS, ...)。而服务器一般不存在UI界面,主要是对不同协议的支持。

    -负载、性能自动化测试比较容易实现,但功能性测试更困难

    -软件测试自动化(TA)虽然具有很多优点,但只是对手工测试的一种补充,TA绝不能代替手工测试。在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法; 单元测试、集成测试、系统负载或性能、稳定性、可靠性测试等比较适合采用TA。

    - 工具本身并没有想象力和灵活性,自动测试只能发现15-30%的缺陷,而手工测试可以发现70-85%的缺陷;TA工具在进行功能测试时,其准确的含义是回归测试工具,因为工具不能发现更多的新问题,但可以保证对已经测试过部分进行测试的准确性和客观性 

     -找准测试自动化的切入点,一般从长期的新产品开始、同步进行,并选用一些相对容易进行自动化处理的、手工测试较繁的模块着手,如大量API调用、邮件模板处理等;

     -把测试开发纳入整个软件开发体系,是必要的,系统不具有可测试性,再好的工具也无能为力。而且测试自动化前期投入大,这样软件开发的前期分配的时间要多些,测试执行的时间可短些;人力分配也不同,进行资源的合理调度。
     

    -测试自动化依赖测试流程和测试用例。没有好的测试流程或者没有设计有效的测试用例,测试工具会事倍功半。
     软件测试自动化的投入较大

  • TD与QTP连接

    2007-01-08 12:07:53

    1 、安装 TD,检验 TD 是否安装成功,启动 TD Server 服务器后,在与 Server 相连的其他计算机上,打开 IE 浏览器,在地址栏输入 http://TD Server ip 地址 /TDbin/start_a.htm 如果能够浏览到 TD 界面 说明安装成功。

    2
    、安装 QTP,验证 QTP 安装成功,进入 windows 操作系统,点击,开始 -> 程序 ->Quick Test Professional-> Quick Test Professional ,打开 QTP 使用界面,进行简单的录制,保证脚本录制成功,并且可以回放,与你的预操作达到的结果一致,证明 QTP 安装成功。

    3
    、安装插件,进入 TD 首页,点击见面上的 TD Add In,进入 TD Add In 界面点击 More TestDirector Add Ins 进入 More TestDirector Add Ins 界面,下载名为 TDplugInsSetup 的插件,大约 35 兆并且在 Server QTP 客户机上安装这个插件,安装成功后,会要求你重启电脑,重启后会看到,开始-程序中有个新安装的程序 “Quick Test Professinal add in for Quality Center” ,登入 TD 进入 test plan 检测是否可以在 test plan 中添加 QTP 类型的测试用例,点击后
    出现QUICKTEST.TEST 并且可以建立 QTP 的测试用例。

    4
    、检查没有问题之后
    还需要在安装 QTP 的机子上做一些相应的设定,进入 QTP 主界面 点击文件栏的 Tools-Options 进入 Options 对话框 在 Run Tab 中选择 Allow other Mercury products to run test and components 以及 Submit a defect to Qualiyt Center for each failed step 选中后 点击 ok 保存这个设置,在 QTP 主界面中点击 Tool Quality Center Connection,在 Server 中输入 http:// TDServer ip 地址 /TDbin( 本例中使用 htt......) 点击 connect 按钮 QTP 连接到服务器上 如果服务器连接有问题 则会提示连接失败。

    5
    、在 project connection 中包含一下几项:
       Domain
    TD 服务器站点管理中建立项目的域
       Project
    :域中你所建立的项目
       User
    :登陆项目所用的用户名
       Password
    :相应用户名使用的密码
       Reconnect on startup
    在下次启动 QTP 时自动登陆到你的项目中
       Save password for reconnection on startup
    为下次登陆保存密码
    完成了上述操作就 TD QTP 就连接起来
    可以从 TD 调用 QTP 脚本了。
Open Toolbar