|
在测试脚本中,往往会遇到很多意外,比如一个button,click她就转入另一个web页面。TSL使用button_press函数,可能在执行它的时候,虽然调用了这个函数,但由于意外,没能正常地click这个button,就导致了那个期待中的web页面没能打开,这就影响了整个测试脚本(因为紧接着的几个TSL脚本需要新WEB页面的GUI),如何解决这个问题呢?当TSL脚本很大量,需要长时间无人监管测试时,这个问题就很明显,可能因为一个button的点击失败就影响整个测试。
我原来尝试根据不同的测试目的,或者不同的回归BUG,或者不同的TESTCASE,把TSL脚本分成一个模块一个模块,让模块独立。当测试出现意外,相应模块就放弃继续测试,但不会影响其他模块。
############## module 1 (testcase 1)##############
state=button_press("xxx");
if(state==0)
{
#continue test
}
else
#drop this module
####################################
############## module 2 (testcase 2)#######
state=web_click("xxx");
if(state==0)
{
#continue test
}
else
#drop this module
###################################
这样测试就可以处理意外,特别是对bug回归测试这样非常容易“模块”的东西很有用。但也来了问题,当模块很大,里面的press,click这样的函数很多时,就需要做很多判断,很麻烦!
后来我又考虑采用折中的办法,那些不容易出现意外的地方就不加这样的state判断,反之,就要加。但这个折中的地方很难找。需要高手们建议。 |
|