软件的质量已经越来越成为软件产品成功的关键性因素,质量保证的一个重要方法就是通过测试来尽早的发现问题。而缺陷管理是软件正是软件开发过程中,完成对缺陷报告的记录、分析和状态更新等管理的重要手段,是软件开发生命周期中的重要组成部分,并且贯穿整个软件开发生命周期。IBM
Rational ClearQuest是特别针对动态的、不断更新的软件开发工作的缺陷管理软件,提供了最佳的变更需求管理解决方案。
随着软件产业的发展,软件的质量已经越来越成为软件产品成功的关键性因素,质量保证的一个重要方法就是通过测试来尽早的发现问题。而缺陷管理是软件正是软件开发过程中,完成对缺陷报告的记录、分析和状态更新等管理的重要手段,是软件开发生命周期中的重要组成部分,并且贯穿整个软件开发生命周期。一个完善的缺陷跟踪管理系统对于测试的成功实施是非常重要的。
IBM Rational ClearQuest 是特别针对动态的、不断更新的软件开发工作的缺陷管理软件,提供了最佳的变更需求管理解决方案。运用
ClearQuest 可以方便地跟踪、管理相关的软件变更需求,充分掌握变更的现状,用户也可按不同需要调节 ClearQuest
的操作模式,从而来保证软件产品的质量。
ClearQuest 具有完善的用户权限控制系统,可以对整个开发团队中的全部成员实现权限管理,对于不同用户,可以根据其在开发团队中担任的角色来分配其相应的权限。这样在使用
ClearQuest 实现缺陷管理之前,首先需要对 ClearQuest 中的用户及用户组进行相应的配置。而在配置过程中,需要首先弄清
ClearQuest 用户权限中 User Privilege 和 User Permission 的作用及相互之前的关系。本文介绍了在使用
ClearQuest 实现缺陷管理过程中,如何对 ClearQuest 中用户及用户组进行配置管理,从而实现对不同的角色设定不同权限。
ClearQuest 有独立的用户权限管理工具。当用户安装好 ClearQuest 后,就可以通过 ClearQuest 中的“ClearQuest
User Administrator”来对 ClearQuest 的用户进行管理。在“ClearQuest User Administrator”中可以添加、修改
ClearQuest 用户和组,编辑用户属性信息,同时也可以修改用户的特权 Privilege 属性。
在进行 ClearQuest 用户配置之前,需要了解的是 ClearQuest 中用户配置包括两部分,分别是 User Privilege
和 User Permission。下面分别来对这两个部分的内容进行简要介绍。
- User Privilege(用户特权):这部分用户权限的设定是在ClearQuest User Administrator中进行设定的。主要是用来设定每一个用户对ClearQuest中各部分组件的权限,其中包括9种不同类别的特权。可以说是ClearQuest总体权限设置。
- User Permission(文件夹访问控制权限):这部分用户权限的设定是在ClearQuest客户端中进行设定的。主要是设定不同用户或用户组对ClearQuest中各文件夹访问权限控制。
- 设置 User Privilege(用户特权):ClearQuest 中各部分组件及功能模块,都可以通过设置 User
Privilege(用户特权)来限制用户的访问权限。因此用户特权设定是对于每一个 ClearQuest 的用户总的权限控制,包括用户是否激活、是否能够编辑
Schema、是否能够察看其他用户及用户组等;
- 设置 User Permission(文件夹访问控制权限):对于使用 ClearQuest 实现缺陷管理的具体软件开发项目,在
ClearQuest 中都会包含有特定的项目文件夹实现对该项目的缺陷跟踪管理,该文件夹中包括大量 Defect 信息及报告。而对于该项目中,根据用户角色的不同,其所具有的对该项目文件夹中内容的访问权限也会不同。例如:一个项目的开发测试人员对其他项目的缺陷管理文件夹是不可见的,而该项目的项目经理对其他相关项目的缺陷管理文件夹是只读的权限,对某些特定文件夹是读限制的。这些都是通过设置
User Permission(文件夹访问控制权限)来实现对于不同用户组及用户的文件夹的访问控制权限。
下面分别来对这两部分进行介绍。
在使用 ClearQuest 之前,首先需要通过“ClearQuest User Administrator”来设定对 ClearQuest
用户进行配置。主要包括添加用户、用户组,设定用户密码及其他属性信息,同时还需要对不同用户设定用户特权(User Privilege)。以下来分别介绍
9 种不同的用户特权及其作用。9 种用户特权如图 1、图 2 所示:
图 1: 9 种用户特权
图 2: 9 种用户特权
- Super User(超级用户):被选中该项的用户会包含所有特权;
- Active User(活动用户):该选项决定该用户是否处于活跃状态;
- Dynamic List Administrator(动态列表管理员):被选中该项并处于活跃状态的用户,可以在 ClearQuest
客户端中编辑动态列表(Dynamic List);
- Public Folder Administrator(公共文件夹管理员):被选中该项并处于活跃状态的用户,可以进行的操作包括:
- SQL Editer(SQL 编辑器):被选中该项并处于活跃状态的用户,可以在 ClearQuest 客户端中编辑相应的
SQL 语句,通过 hooks 中的 API 来执行 SQL,如图 5 所示;
图 5: SQL Editer
- User Administrator(用户管理员): 被选中该项并处于活跃状态的用户,可能进入“ClearQuest用户管理(ClearQuest
User Administrator)”进行用户管理操作,主要包括修改用户密码及其他用户信息,同时只可以修改用户“Active
User”、“All Users/Groups Visible”及“User Administrator”特权;
- Schema Designer(模式设计员):被选中该项并处于活跃状态的用户,可以进入“ClearQuest Designer”对模式进行编辑;
- All Users/Groups Visible(所有用户/组可见):被选中该项并处于活跃状态的用户,能够在所有察看用户及组的组件中察看到所有用户及组的信息。
- Security Administrator(安全管理员):被选中该项并处于活跃状态的用户,其可进行的操作包括:
- 可能进入“ClearQuest用户管理(ClearQuest User Administrator)”来查看 ClearQuest
用户,但不能修改用户属性及特权;
- 可以在 ClearQuest 客户端中,对“ClearQuest Permission文件夹许可权”进行修改;
各特权间的连带关系如图 6 所示:
图 6: 各特权间的连带关系
User Permission 文件夹访问控制权限,主要是用来设置对于不同文件夹及内容,ClearQuest 用户组所具有的访问控制权限,从而实现对于不同的项目,对于不同的用户组所具有的访问权限不同。如图
7 所示:
图 7: User Permission 文件夹访问控制权限
从图中可以看到,对应每一个 Folder 的 Permissions 信息,都在一个表中显示出来。该表的第二列为用户组名,第三列为“Permissions”值,第四列为“Effective
Permissions”值,第五列为“Change Permissions”值。下面分别来看这几列值的作用:
- Effective Permission:当前文件夹对应有效的 Permission 值,其取值范围为:Read-Only、Read-Write、Read-Limited、No-Access。该列
permission 的取值就是当前文件夹对应用户组的访问控制权限。需要注意的是,任意用户都不能直接修改该列的值,只能通过修改“Permissions”的值,来间接修改“Effective
Permissions”;
- Permission:该列用来提供用户可以应用的权限,用来修改对应文件夹对应用户组的访问控制权限。当该列值被修改的同时,“Effective
Permissions”对应的值也随即被修改为相同的 Permission 值。需要注意的是,满足下列条件的用户才可以修改该列的值:
- 当前登陆 ClearQuest 的用户,其自身的对应文件夹的“Effective Permissions”值为
Read-Write;
- 当前登陆 ClearQuest 的用户,其自身的对应文件夹的“Change Permissions”值为 Yes;
- Change Permission:该列用来控制该用户组是否有权限修改“Permission”列的值,其取值范围为:Yes、(Yes)以及
No,当该列中某单元的取值为 Yes 和(Yes)时,同行对应的组中的全部用户成员,都有权限修改对应文件夹的“Permission”列的值。需要注意的是:满足下列条件的用户才可以修改“Change
Permissions”的值:
- 当前登陆 ClearQuest 用户具有“Super User”的 Privilege;
- 当前登陆 ClearQuest 用户具有“Public Folder Administrator”的Privilege;
- 当前登陆 ClearQuest 用户具有“Security Administrator”的Privilege.
我们以一个表来建立一个简单的开发团队用户及用户组关系,同时通过“ClearQuest User Administrator”在
Clear Quest 中进行创建。
- 用户及用户组表
假设一个开发团队中,根据角色的不同,将工作人员分成了如下表所示的 7 个组.通过用户组的划分来细化不同角色用户群,以便于设定特定用户组的文件夹访问权限。根据以下用户及用户组表,就可以在
Rational ClearQuest User Administration 中创建相应用户及用户组,同时进行分组的操作。
用户组 |
包含的用户 |
包含的用户组 |
Company |
admin、User |
Employees、Managers |
Employees |
SecAdmin、CQAdmin |
Developers、Testers |
Developers |
DevelopmentManager |
Managers、
Developers-Core、
Developers-GUI |
Developers-Core |
CoreDeveloper |
|
Developers-GUI |
GUIDeveloper |
|
Testers |
Tester、
TestingManager |
Managers |
Managers |
DevelopmentManager、
TestingManager |
|
- 用户对应 Privilege 特权表
该开发团队中全部用户的特权设定如下表所示。其中 admin 用户是整个开发团队中最高权限的用户,用于创建和配置整个 Clear
Quest 环境;SecAdmin 用户是安全管理用户,用来创建、修改其他用户的属性及权限;CQAdmin 是 Clear Quest
缺陷管理控制用户,用于整个缺陷管理模式的编辑工作;而 Manager 用户是项目经理,可以对整个开发过程中每一个项目的缺陷管理文件夹进行管理。
用户 |
对应特权(Privilege) |
admin |
Super User |
SecAdmin |
Security Administrator、Active User |
CQAdmin |
Public Folder Administrator、Schema Designer、SQLEditer、Active
User |
Developer |
Active User |
CoreDeveloper |
Active User |
GUIDeveloper |
Active User |
DevelopmentManager |
Active User |
Tester |
Active User |
TestingManager |
Active User |
User |
Active User |
Manager |
Public Folder Administrator、Active User |
- ClearQuest 中创建项目文件夹关系图
假设在开发过程中,将开发项目分为两个部分,分别是内核开发 Core-Project 以及图形界面开发 GUI-Project。因此在相应的
ClearQuest 缺陷管理中,可以建立两个文件夹 Core-Project 和 GUI-Project 来区分两部不同的项目工程,如图
8、9 所示:
图 8: 建立两个文件夹 Core-Project 和 GUI-Project 来区分两部不同的项目工程
图 9: 建立两个文件夹来区分两部不同的项目工程
- 用户组对应 Applied Permission 表(可以通过 Super User 用户:admin
来进行设定)
使用 admin 用户,登陆 ClearQuest 后,对于不同的文件夹打开 Permission 对话框后,可以根据下表来指定不同用户组所具有的文件夹访问权限。
这里我们模拟了一个简单的开发团队文件夹访问权限环境。对于 Everyone、Company、Employees 三个用户组,对应项目文件夹多数采用了
RL(Read-Limitted)及 NA(No-Access)权限,这样保证了了一些没有特定工作任务的用户对于大部分项目文件是不可见的,例如
User 用户,该用户只属于 Everyone 用户组,因此对于项目文件夹是不可见的,而 CoreDeveloper 用户虽然也属于
Everyone 用户组,但该用户同时也属于 Developers-Core 用户组,因此按照取对应文件夹最高访问权限用户组的权限值的原则,对于
Core-Project 项目文件夹,CoreDeveloper 用户就同时具有了 RW(Read-Write)及 CP(Change-Permission)的权限。
这样根据下表便很容易发现,该开发团队是按照项目的不同来划分访问权限的,对应项目的开发人员对于自身负责项目的文件夹具有读写访问权限,而对于其他项目文件夹具有只读权限,同时对于其他项目中的部分文件是读限制的。例如:CoreDeveloper
对于 Core-Project 项目文件夹具有读写权限,而对于 GUI-Project 项目文件夹只读,而对于 GUI-Project
项目中 sub-GUIProject 是读限制的。
因此对于项目中不同角色的用户,就很很好的划分其在 ClearQuest 缺陷管理系统中所具有的权限。从而很好的控制了软件开发项目的缺陷跟踪及管理,让整个开发过程严谨、有条不紊的进行。
Group/Folder |
Public Queries |
Core-Project |
Sub-CoreProject |
GUI-Project |
Sub-GUIProject |
Everyone |
RL |
|
NA |
|
NA |
Company |
RL |
|
|
|
|
Employees |
RL |
|
|
|
|
Developers |
|
RL |
|
RL |
|
Developers-Core |
|
RW.CP |
RW |
RO |
RL |
Developers-GUI |
|
RO |
RL |
RW.CP |
RW |
Testers |
|
RO |
|
RO |
|
Managers |
|
RW |
RL |
RW |
RL |
注:RO: Read-Only RW: Read-Write NA:No-Access
RL: Read-Limitted CP: Change-Permission(Yes)
以上是一个简单的例子。通过该例子中,对不同用户的特权 Privilege 设定,实现了不同角色用户,对于 Clear Quest
系统中各部分组件及功能模块的可操作性加以严格的控制;同时通过设定不同用户组的 Applied Permission 权限,实现了对应不同项目,特定用户组对于该项目文件夹具有不同的访问控制权限。
本文简要介绍了 ClearQuest 用户及用户组的管理与配置。讨论了用户特权 Privilege 的设定,以及通过配置用户组
Permission 来控制用户对于特定文件夹的访问控制权限。希望通过本文,能为使用 ClearQuest 的人员在用户配置及权限管理方面,提供一定的参考。
|