TSL脚本规范完整版

上一篇 / 下一篇  2006-12-06 16:40:57 / 个人分类:WinRunner测试

 

TSL脚本编写规范

 

导言

我们在Mercury Interactive SystemsWinRunner)中创建的脚本是由TSLTest scrīpt Language)写成的。TSL是一种强化了的类C的编程语言。它是专门设计来用于测试的。在Meercury Interactive的集成测试环境的核心中,TSL是比较高层次的,而且也比较容易使用的。它既有传统编程语言的灵活与强大,也结合了许多Mercury Interactive专门开发来用于测试的功能。

       为了使自己和他人能够比较容易的阅读和理解源程序,本文对今后TSL的编写制订了一个规范。

 

一、排版

1.1 程序块采用缩进风格编写

说明:缩进的空格数为4个,不能使用Tab键。不同的编辑环境导致不同的结果。

 

错误的示范:

for(counter = count - 24; counter < count - 1; counter++)
{
list_get_item("ListBox",counter,item);
str = str & item &
"\r\n";
}

 

正确的示范一:

for(counter = count - 24; counter < count - 1; counter++)

{
   
list_get_item("ListBox",counter,item);
    str = str & item &
"\r\n";
}

 

正确的示范二:

for(counter = count - 24; counter < count - 1; counter++){
   
list_get_item("ListBox",counter,item);
    str = str & item &
"\r\n";

 

1.2相对独立的程序块之间、变量说明之后必须加空行

说明:便于清晰的显示程序的结构。

 

错误的示范:

   row1=0;
   row2=
0; 
  
##open two tables
   rc =
ddt_open(tableFirst, DDT_MODE_READ);
  
if (rc!= E_OK && rc != E_FILE_OPEN)
      
pause("Cannot open table");
  
ddt_get_row_count(tableFirst,RowCount1);

 

正确的示范:

row1=0;
   row2=
0; 


  
##open two tables
   rc =
ddt_open(tableFirst, DDT_MODE_READ);
  
if (rc!= E_OK && rc != E_FILE_OPEN)
      
pause("Cannot open table");


  
ddt_get_row_count(tableFirst,RowCount1);

 

1.3较长的语句要分成多行书写

说明:对大于80个字符的语句,要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读

 

 

1.4循环、判断中有较长的语句需要划分成多行

说明:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

 

 

1.5若函数中的参数较长,则要进行适当的划分

说明:便于清晰的阅读函数

 

错误的示范:

tl_step("2:对比两张表",FAIL,""&tableFirst&"的第"&col1&"列第"&table_Row1&"行的值为:"&val1&");

 

正确的示范:

tl_step("2:对比两张表",FAIL,

""&tableFirst&"的第"&col1&"列第"&table_Row1&"行的值为:"&val1&");

 

1.6不允许把多个短语句写在一行中

说明:即一行只写一条语句

错误的示范:

auto a;auto b;

 

正确的示范:

auto a;
auto b;

 

1.7 条件、循环语句需要对语句块进行控制

说明:if for do while case switch default 等语句自占一行,且if for do while 等语句的执行语句部分无论多少都要加括号{}

 

错误的示范:

if (rc!= E_OK && rc != E_FILE_OPEN) pause("Cannot open table");

 

正确的示范:

if (rc!= E_OK && rc != E_FILE_OPEN){
   
pause("Cannot open table");
}

 

1.8操作符前后需要加空格

说明:在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格。采用这种松散方式编写代码的目的是使代码更加清晰。由于留空格所产生的清晰性是相对的,所以,在已经非常清晰的语句中没有必要再留空格,如果语句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格。在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。给操作符留空格时不要连续留两个以上空格。

 

正确的示范一:逗号、分号在后面加空格

static a, b, c;

正确的示范二:比较操作符、赋值操作符、逻辑操作符等双目操作符的前后加空格

if (current_time >= MAX_TIME_VALUE && current_date<=DATE){
   
    a = b + c;
   
}

 

正确的示范三:单目操作符的前后不加空格

if (current_time!=MAX_TIME_VALUE){
   
    a++;
   
}

 

1.9 ifforwhileswitch等与后面的括号间应加空格

说明:使关键字更加突出、明显。

 

错误的示范:

 

if(a > 0){

    b=
1; 
 
}

 

正确的示范:

if (a > 0){

    b=
1; 
 
}

 

二、注释

 

2.1有效注释量必须适中

说明:一般情况下,源程序的有效注释量必须在20%以上。注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。

 

2.2脚本程序的头部注释

 

说明:脚本程序头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等

 

正确的示范:

 

###########################################################

#  Copyright (C), 1988-1999, HSIT. Co., Ltd.


TAG: WinRunner测试

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar