2.6.1 State Transition
Matrix(状态转移矩阵)设置
前面说了很多的状态(State),这里就是关于状态设置的。
选择Record Types->Defect->States and Actions-> State
Transition Matrix,打开状态转移矩阵设置页面。
每个缺陷都有自己现有的State(状态),缺陷状态可以通过Action改变。
比如测试人员提交的新缺陷,状态是[等待处理],[等待处理]的缺陷经过开发人员修改后,变为[已经修改],测试人员验证[已经修改]的缺陷,发现缺陷被修复,就Action缺陷为[关闭],完成了一个缺陷的变更过程。
通常情况下,缺陷都是从[等待处理]开始,到[关闭]结束。
为了看着直观方便,所以我设计变更过程的时候,把大部分的Action和State起了一样的名字。
总共录入修改以下状态:
1.等待处理――测试人员经过提交操作,缺陷为[等待处理]
2.已经修改――开发人员修复了缺陷,经过<已经修改>Action
3.暂不修改――错误由于某种原因暂时不处理。,经过<暂不修改>Action
4.系统限制――确实是问题,但是由于开发工具的限制等原因暂时无法处理错误,开发人员经过<系统显示>Action标记缺陷为[系统限制]。
5.间接修复――在修改其他地方的时候把此缺陷记录修复,或者新版本自动修复了此问题缺陷。
6.无法再现――测试人员提交的错误无法在开发人员那里重现。
7.使用错误――测试人员由于操作等原因理解误会了某些地方。开发人员可以用使用错误来处理这些不是问题的记录。
8.等待分配――测试人员无法确认的问题,经过<提交管理员>Action使缺陷状态变为[等待分配],等待分配的问题是交给管理组人员处理的。
9.再次出现――缺陷没有被修改。
10.关闭――缺陷已修改。或缺陷不再处理。
具体的Action和State变化关系,参照2.6.2进行。
2.6.2 Actions设置
Action是变更中很重要的一个环节。每种成员对应着不同的Action,通过Action,处理各种缺陷。
选择Record
Types->Defect->States and Actions->Actions,打开Action设置页面。
通过鼠标右键菜单,可以添加(Add
Action)、删除(Delete Action)、重命名(Rename Action)、设置(Action Properties)Action。
在这里,我们保留Import、Init_Note_Entry、Send_Email_Notif三项,其他的项目,按照下表进行设置。
其中Access
Control选项,可以选择哪个组有此操作权限。可以设定为所有组(All Users),也可以选择部分组(User Groups),或者进行编码(SCRIPTS)控制。
Action Name
Type Access
Control
提交
SUBMIT
All Users
提交管理者
CHANGE_STATE
测试组、开发组
再次出现
CHANGE_STATE
测试组、开发组
关闭
CHANGE_STATE
测试组、开发组
暂不修改
CHANGE_STATE
开发组
无法再现
CHANGE_STATE
开发组
间接修复
CHANGE_STATE
开发组
使用错误
CHANGE_STATE
开发组
已经修改
CHANGE_STATE
开发组
系统限制
CHANGE_STATE
开发组
修改
MODIFY 编码控制
删除
DELETE
管理组
修改的编码,请参照附录。
设置完毕后,如下图所示:
在Actions页后面的列中,可以通过编程对Action进行限定。如果在这里对Action进行了编程限制,Behaviors中相关的状态使用USE_HOOK。
这里的编程,自己研究,我写了一些代码,但是在Behaviors中,编码控制实在有些烦琐,这里我在使用过程中就去掉了那些编码。可以在附录中找到与此相关的一些代码片段。修改的Access
Control的编码主要是限制非缺陷提交人只能浏览记录,不可以修改记录。
比如经过<无法再现>Action操作后,缺陷的状态变为[无法再现]。一定要记住,虽然两者名称,但本质是不同的,一个是State,一个是Action。
在状态转移矩阵中,右键点击状态名称,会出现列表,里面可以添加(Add
State)、删除(Delete State)、重命名(Rename State)、设置缺省值(Properties)State。
状态转移矩阵中,状态从列到行进行变化,比如[等待处理]列状态经过<已经修改>Action后,变为[已经修改]行状态。
下面是说明如何设计State Transition Matrix中的Action和State管理。
鼠标右键点击需要设置的Action状态,从列表中选择Action
Properties,打开Action设置窗体。选中窗体的State页,在此设计Action和State的交互关系。
State页中的Source(源状态),相当于State Transition Matrix(状态转移矩阵)中的列,Destination
State(目的状态)相当于状态转移矩阵的行。也就是说,经过当前的Action,可以把Source中的状态,转变为Destination
State中的状态。可以选择多个Source,但是只能有一个Destination State。
下面图表是各个Action的设置情况:
Action Name
; Sourc
; Destination State
提交
; 无
; 等待处理
提交管理者
; 暂不修改、系统限制、无法再现、间接修复、使用错误
; 等待分配
再次出现
; 等待分配、已经修改、间接修复、无法再现、使用错误
; 再次出现
关闭
; 等待分配、已经修改、间接修复、无法再现、使用错误
; 关闭
暂不修改
; 等待处理、再次出现
; 暂不修改
无法再现
; 等待处理、再次出现
; 无法再现
间接修复 ;
等待处理、再次出现
; 间接修复
使用错误 ; 等待处理、再次出现
; 使用错误
已经修改 ;
等待处理、再次出现
; 已经修改
系统限制
; 等待处理、再次出现
; 系统限制
注意,以上的Action是可以按照软件的需要随时修改的,上面的表格只是一种建议。
2.6.3
Behaviors设置
选择Record Types->Defect->States and Actions->Behaviors,打开Behaviors设置页面。
这里是整个CQ中最麻烦的地方。主要是设置CQ中的字段在各种缺陷下的权限。
Behaviors设置中,行是各个字段,列是缺陷状态。表中内容说明字段在状态下的权限。在表中点击鼠标右键就会出现权限菜单。
字段权限包括:
1.
Read Only:字段只能读取,不能修改。
2.
Mandatory:字段必需填写。
3.
Optional:字段可添可不添。
4.
Use Hook:字段权限通过编程进行控制。
这里的内容,我就不一一列举了,根据需要自己修改。这里牵扯了我最多的精力,每次总会在这里因为字段的限制出问题,现在字段权限设置我仍然不是很满意。
注意:这里字段对应的状态是指Action以后的状态,而不是缺陷当前的状态。比如原本是[等待处理]状态的缺陷,经过<已经处理>Action后,这个时候限制缺陷的Behaviors不是[等待处理],而是[已经处理],这里要特别注意。
2.7其他设置
2.7.1 File菜单
Delete
Schema:删除计划。
Delete
Schema Version:删除计划的版本。这个可以选择删除任意的计划版本。
Undo
Check Out:不保留当前版本,恢复Check In状态。
Test
Work:如果使用了Test Database,就可以进行Test Work,Test Database和Product Database是不同的数据库。
Validate:校验当前计划是否有错误。这个应该在Save
Work前进行。
2.7.2 Edit菜单
Add(Edit、Delete)
Record Type/Family:创建(修改、删除)记录类型。我们一般所用的是Defect类型。
一般的添加、修改、删除操作,都可以在Edit菜单中找到,而且一些功能,只能在这里完成。
2.7.3 View菜单
Schema
Summary:从这里,可以看到计划的版本、连接的数据库等记录。
Database
Summary:查看使用的数据库各种信息。
2.7.4 Database
Delete
Databases:删除数据库。
Undelete
Databases:恢复原先删除的数据库。
View
Database Properties:查看数据库属性。查看计划连接的数据库的详细情况。
Move
User Database:把现在使用的数据库转移到其他的地方。比如test计划现在使用的数据库是test机器的test数据库。那么你可以通过Move
User Database把test计划连接的数据库设置到test8机器上的test数据库。说明的是,在移动数据库的同时,相关的缺陷记录会一起移动。实际相当于一个数据库Copy的过程。
Updata
User Database:更新使用的数据库。这个实际是修改数据库连接属性。Update和Move不同的地方在于,Updata只连接,不转移记录。
Set
Test Database:设置test数据库。这个不是我们所使用的数据库。在我们创建数据库连接的时候,选择的是Product库而不是Test库,Test库使用中会有一些问题,在最后的附录中会给予说明。
Database Timeout:Timeout
(延迟)和Poll Interval(间隔)设置。一般设置为0就可以了。
提交缺陷,除了使用CQ客户端外,也可以通过浏览器进行提交。
这里的浏览器要求IE5.01版本以上,Netscape
4.72版本以上。
如果想要使用CQ的Web端功能,CQ服务器在安装CQ的过程中,一定要选择Custom(自定义安装),在Choose
Features中,把Web Server Components选中。
下面说明CQ
Web服务器的配置。建议使用Win2000 Server系统。下面配置使用Win2000 Server(非域中机器)进行说明的。如果进行其他系统的配置,参照ClearQuest安装目录下books目录里面的InstallationGuideClearQuest.pdf。
CQ Web使用的是ASP。
下面的设置,都是使用的Administrators用户组中的用户登陆的系统。
在IE使用的过程中,缺省的Web登陆用户是anonymous(匿名用户),但是在系统中,anonymous用户并没有太多的存取权限,下面就是设置anonymous用户的存取权限。
1.
点击“开始->运行”,输入“regedt32”,点击确定打开“注册表编辑器”。
2.
在HKEY_LOCAL_MACHINE子窗体,打开“Software->Rational
Software->ClearQuest”
3.
点击注册表编辑器的菜单“安全->权限”,出现ClearQuest权限设置窗口。
4.
点击添加,打开“选择用户或者组”界面。
5.
选择IUSR_机器名用户,这里我选择的是IUSR_TEST
6.
点击添加,再点击确定,选择IUSR_TEST用户并关闭“选择用户或者组”界面。
7.
在名称中选中刚才添加的Internet来宾账号,在权限中,允许完全控制。
8.
选择“允许将来自父系的可继承权限传播给对象”,点击“确定”完成权限设置。
9.
在HKEY_USERS子窗体,打开“.Default->Software->Rational
Software->ClearQuest”
10.
重复第3步到第8步,设置HKEY_USERS。
非NTFS格式的机器可以不用看这一小节。
在NTFS格式的机器上,每个目录都有相应的读取权限,所以下面的就是设置internet匿名用户也有Web目录的读取权限。
在CQ的安装目录下,有一个WWW目录,鼠标右键点击WWW目录,出现WWW目录属性设置界面,选择其中的安全页,点击“添加”按钮,选择IUSR_机器名的用户添加到用户列表中,如下图所示,点击“确定”完成WWW目录权限设置。
我个人不很喜欢NTFS格式,也许安全性高了些,但使用不是很方便,所以我本身用的TEST机器是FAT32格式,FAT32格式的机器不用进行目录权限设置。上面的抓图使用的是TEST8机器,和前面的有差别,这里要特别注意。
如果是NTFS格式的机器,安装的时候,可能没有安装cache目录。手工在WWW目录中添加cache目录,并按照上面的方法,给予cache目录以ISUR_机器名的存取权限
|