UML软件工程组织

Rational ClearQuest使用说明书(附录)

六、附录

1.脚本片段

这里应该是大家很期待的部分了。CQ功能的强大,就体现在这里。这里我也只明白了一小部分,更多的功能,等待大家的挖掘。

代码并不是万能的,一些代码,只对使用客户端的用户有效,对用Web端提交错误的用户就不好使了。

 

首先来看一个标准的脚本片段:

 

1 Sub tjsj_DefaultValue(fieldname)

2  ' fieldname As String

3  ' record type name is Defect

4  ' field name is 提交时间

5    REM Set the initial value of the field here.  Example:

6    REM   SetFieldValue fieldname, 12345

 

7   SetFieldValue "提交时间", time

   

8 End Sub

上面是一个标准的CQ中使用的子函数。

灰颜色:表示系统自动生成的代码,不可修改。

暗绿色:表示注释。在CQ中,以“REM+空格”或“’+空格”开头的都表示是注释,注释内容不运行

黑色:表示手工填写的代码。

紫色:为了方便说明加上的序号。在代码中紫色序号是不存在的。

分析:第1行说明此为一个basic子过程,tjsj_DefaultValue是过程名。过程名前面的tjsj是“提交时间”字段的数据库列名,代表此函数是提交时间字段的脚本;后面的Defultvalue是字段列表中列的名称,也可以说是字段的属性。

2-4行是自动给出的关于此过程的定义说明。

5-6行是CQ中关于此字段属性的说明。有的说明中会有代码示例,可以参照代码示例进行脚本的编写。

7行就是自己所编写的脚本。具体编程代码,可以参照VB的一些相关文档,或者是Rational关于编程方面的资料。

8行表示过程结束。

 

除了在Field和Actions可以编写脚本外,在Record Scripts中也可以编写自己的函数,这部分我没有使用过,不知道应该如何使用。

如果有时间,可以看看Global Script中的脚本,对理解CQ中自动给出的一些功能会有更深的体会。

Actions中编写代码后,千万不要忘记了在Behaviors中相应的地方设置为USE_HOOK,否则编写是不会有效果的。

 

下面的是一些常用的指令:

1.SetFieldValue fildname, value

这个恐怕是最常用的了。就是赋值函数。Filename就是字段名(中文使用””号括起来就可以了),value就是赋予此字段的值。

代码示例:取当前系统时间,赋予提交时间字段。

SetFieldValue "提交时间", time

2.GetFieldValue(fildname).GetValue() 

fildname字段的值

GetFieldValue("模块").GetValue()代表把模块的值取出来。

代码示例:判断选择的模块名,给予不同的程序员修改(此代码只对使用CQ客户端的用户有效,对用Web提交缺陷的用户无效)

 

  Dim module

  Module = GetFieldValue("模块").GetValue()   ' 取模块内容

 

  Select case Module   ' 下面的内容按照实际情况修改

 

  case "模块1"

  SetFieldValue "负责人", "programmer1"

 

  case "模块2"

  SetFieldValue "负责人", " programmer2"

 

  case "模块3"

  SetFieldValue "负责人", " programmer3"

 

  End Select

 

3.Getsession,GetUserLoginName

获得登陆用户名

代码示例:把提交人设置为登陆的用户

DIM session

    DIM username

   

    set session = GetSession

    username = session.GetUserLoginName

    SetFieldValue "submmitter",username

4.GetActionType

获得状态名。

这里可能会有一些问题,因为状态命名方式为AD_Action。但是我在配置的时候,Action定义为中文,好像无法在代码中使用,所以这个部分只好放弃了。

我之所以用中文,是因为很多的时候,此程序都是不了解CQ的人在使用,如果使用过多的英文名,会让人看着发晕。所以只要可能,我都进行了相关的汉化。

1.  Call 过程

调用过程

可以在Record Scripts中编写自己的函数,之后在其他的地方调用此函数

2.补充说明

1.如果安装的是SQL正版软件,安装过程中,会有一个规则选项,在InstallationGuideClearQuest.pdf第30页中说明了规则的选择。其实,我记得这个按照缺省的选择就可以了,不用修改。

1.  Access数据库,应该是可以使用远端连接的,只要放在共享目录中就可以。

3.一定要选择正确的维护库,才可以进入相应的数据库。

4.创建维护库中,可以选择“Create sample database”,这个例子十分的好,里面有方方面面的设置,对于CQ设置来说,很有启发意义。

5.这里为了方便,举例的时候,使用的是TEST计划。实际使用中,应该配置一个缺省的计划,其他计划都从此计划中集成,这样每个使用的计划只要根据需要进行部分的修改就可以了。

6.用户和组,只能添加修改,不能删除,所以添加的时候,一定要小心谨慎。

7.计划修改完毕后,一定不要忘记了Upgrade Database。

8.计划和数据库可以不相关,也就是说,设计计划的时候可以不连接数据库。但是在使用计划的时候,就必须要连接数据库了。

9.最好修改admin的密码,或者干脆删除。设置其他用户为超级管理员。缺省的太简单了,很容易被别人使用破坏。

10.使用中,应该尽量用英文,因为一些地方对中文的支持不是很好。

11.CQ可以和其他Rational产品一起使用,而且其他产品使用的用户都是在CQ Designer中创建的。

12.CQ的帮助系统做的十分好,到处都有帮助按钮,如果遇到不清楚的地方,可以点击“帮助”按钮进行相关的查找。

13.在CQ安装目录中,有一个books目录,英文好的,里面的六个文档都可以看一下,可以更深刻的理解CQ的功能。

14.在每建立一个缺陷库的时候,测试人员不要忘记了在CQ客户端中使用admin建立各种查询和图表,很少有开发人员会去查看帮助文档自己建立查询。

15.使用SQL Server数据库,缺陷记录在800兆以上的时候,可能会出现问题。

16.我曾经碰到过使用的用户组损坏的情况,组内用户在客户端无法进行Action操作。这个时候,新建一个用户组,把原组人员挪到新的用户组就能用了。

17.建议:测试组人员由于是固定的,可以使用一个用户组,赋予所有的计划和数据库权限;每个项目组都单独建立一个用户组,组内用户只有本测试计划的权限,这样权限能清晰些。

18.其他的以后再补充。

    

版权所有:UML软件工程组织