原创日志转载请标明出处与连接! 大家的支持是我的动力!_______卢晨之
(luchenzhi@21cn.com/@hotmail.com)
【关于如何解决QTP后期运行速度】
上一篇 /
下一篇 2008-09-11 12:41:13
/ 个人分类:QTP
查看( 3974 ) /
评论( 38 )
51Testing软件测试网(sW!d)gD"|~
Lm【关于如何解决QTP后期运行速度】 51Testing软件测试网j
dgBl"`+a Z
目前项目中的QTP脚本运行速度,会随着时间的增长而脚本的速度降低,特别是跑了7,8个小时后这种情况越是明显。脚本主要偏向描述的使用,对象库为辅。导致了其中的原因个人分析大概有一下几点:51Testing软件测试网,@D}NrD%C{a&Na3n
1,PC机本身的问题。有时候更糟糕的是提示虚拟内存不足(2G物理内存3G虚拟内存)。大家都有这样的感觉,就算不跑QTP,PC机在自己运行一段时间后,操作响应速度会很明显下降,这个和机器性能有很大关系,一台服务器与一台PC机器跑一个晚上的脚本第2天会发现PC机的程序已经跑不动了,即使有做脚本错误恢复处理,包括重启IE,设置标签等方法再跑,但还是跑不动。
5j(r
@ lsTfgI H8U051Testing软件测试网0FUjme}
2,系统庞大,如果大概有2100个不同web页面,当脚本跑不到一半时候速度也会明显下降,系统的临时文件,cookies等的增多,所导致的响应速度降低,会出现IE呈现白色page不无法操作的情况。51Testing软件测试网(r1P3IuH$u5Z
51Testing软件测试网*_kp1GQ Pw
3,脚本在编写过程,忽略对对象的释放操作,这个或者是非程序员的一个通病吧,因为在小的程序或者脚本中,对象释放与否看不出什么效果,但小数怕长计,也会导致QTP本身所占用的系统资源增多。51Testing软件测试网s m;W X0?w"f6o
51Testing软件测试网h.se!eW$g/o[:`,O
4,脚本编写思想。脚本中过度偏向递归使用,深度越大,函数调用与递归增多,对象增多等,会导致QTP到后期时候速度会有所回落,有时也会让QTP出现假死状态,有可能是内存溢出的情况发生。
dqzE)K!v*jo0
(feI qj#}5K&t0 5,过分依赖错误处理与智能对象识别。或者很多人说,智能识别不推荐使用,但是,当一个脚本和滚雪球一样,递归也多了,程序的可控性就降低,跟踪难度增大,脚本的维护成本就增多,所以选择维护与开启智能识别时候,后者有更大的优势。由于依靠了智能识别,有时候一些结果报告中会看到很多对象识别不到而懒得去找原因。积累多了问题也会慢慢浮现出来。
qe.Q7w_mlc0 51Testing软件测试网pvdHGK&p4mc
所以如何在QTP的运行过程中,及时的释放系统资源有着很重大和深远的意义。51Testing软件测试网![Gc XzX W
`4E1J
51Testing软件测试网or5b4^zZ
e/h{w-M'M
|(yv0经过和大家讨论的结果还有与实际的结合,反复测试等到:
N:dQ'PiS01,引起问题的主要是QTP,IE的内存无法很有效的释放导致
(?.bokm2\H02,脚本问题51Testing软件测试网 {/a[B&d)on$Sn-|
3,AJAX技术的使用51Testing软件测试网#|.K4jiWD
51Testing软件测试网
[x&P0a'N9P
%Pg(L0Q
p@ F0解决方法:51Testing软件测试网4L4b-`yriGx
1,使用工具是不可能的了,这个本人已经测试过了。QTP,IE都无法删除。只有在代码中实现内存的回收:51Testing软件测试网}XM)CbE
大家可以参见http://topic.csdn.net/u/20070501 ... 6-87a645e75cfd.html
DqD9^n3s$XsV0 自然,我们不是开发,无法做到在QTP运行过程中实现这样的效果