51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 8248|回复: 9
打印 上一主题 下一主题

[原创] QTP的随机数问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-22 14:50:28 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
QTP的RandomNumber不能随机了?运行多少次都是一样的?
其实之前有人问过我,当时搞清楚了就给忘记了;现在又有人问起,想想就把自己的结论写下来
我们目前所用的随机数其实都是伪随机
由于我们所用的电子计算机基于冯诺依曼理论的
必须是按“规律”来运作
可是随机不就是“不规律”么?
于是就有了根据随机种子产生“伪随机”的方法
随机种子是一定的不重复序列(用时间戳就是很好的)
再经过“规律”的算法处理产生“不同”的结果,就可以得到“假装”的随机数(按照“规律”去“不同”)

为什么要说这个呢
因为QTP是运行在电子计算机上的,也自然无法突破上述限制了
所以QTP所用的随机种子就是影响产生的随机数的重要根源了
从我的试验得知:
可以肯定的结论是QTP所用的随机种子中一定包含使用的轮次和时间戳
当同一轮次使用(比如反复多次运行,但都只运行一次,也就等于都是第一次)以及时间相近(比如在1~2分钟之内)
得到的随机数可能是一样的。

所以没什么特别好的解决办法,其实也不需要解决:只要让脚本跑起来,它的随机数就是“随机”的了
开篇所说的现象,大家可以自己试验一下:
写一个脚本,就只有一个用RandomNumber的随机数相关的操作(找个地方显示一下随机数,比如msgbox)
点一下run,运行一次,记下随机数
马上再点一下run,再运行一次,记下随机数
一定可以发现,要么两次的随机数是一样的,要么就是刚好+1
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-12 01:52 , Processed in 0.065533 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表