軟件的質量已經越來越成為軟件產品成功的關鍵性因素,質量保證的一個重要方法就是通過測試來盡早的發現問題。而缺陷管理是軟件正是軟件開發過程中,完成對缺陷報告的記錄、分析和狀態更新等管理的重要手段,是軟件開發生命周期中的重要組成部分,并且貫穿整個軟件開發生命周期。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種不同類別的特權?梢哉f是ClearQuest總體權限設置。
- User Permission(文件夾訪問控制權限):這部分用戶權限的設定是在ClearQuest客戶端中進行設定的。主要是設定不同用戶或用戶組對ClearQuest中各文件夾訪問權限控制。
- 設置 User Privilege(用戶特權):ClearQuest 中各部分組件及功能模塊,都可以通過設置 User Privilege(用戶特權)來限制用戶的訪問權限。因此用戶特權設定是對于每一個 ClearQuest 的用戶總的權限控制,包括用戶是否激活、是否能夠編輯 Schema、是否能夠察看其他用戶及用戶組等;
- 設置 User Permission(文件夾訪問控制權限):對于使用 ClearQuest 實現缺陷管理的具體軟件開發項目,在 ClearQuest 中都會包含有特定的項目文件夾實現對該項目的缺陷跟蹤管理,該文件夾中包括大量 Defect 信息及報告。而對于該項目中,根據用戶角色的不同,其所具有的對該項目文件夾中內容的訪問權限也會不同。例如:一個項目的開發測試人員對其他項目的缺陷管理文件夾是不可見的,而該項目的項目經理對其他相關項目的缺陷管理文件夾是只讀的權限,對某些特定文件夾是讀限制的。這些都是通過設置 User Permission(文件夾訪問控制權限)來實現對于不同用戶組及用戶的文件夾的訪問控制權限。
下面分別來對這兩部分進行介紹。
![]() ![]() |
![]()
|
3. ClearQuest 用戶特權(User Privilege)
在使用 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(公共文件夾管理員):被選中該項并處于活躍狀態的用戶,可以進行的操作包括:
- 可以在 ClearQuest 客戶端文件夾樹型目錄中對(Public Queries)公共文件夾進行添加,修改和刪除操作,操作對象包括 Folder、Query、Chart、Report、Report Format,如圖 3 所示;
圖 3: 對(Public Queries)公共文件夾進行添加,修改和刪除操作
- 可以對 ClearQuest 客戶端(Public Queries)公共文件夾樹型目錄中,任意文件夾進行“ClearQuest Permission 文件夾許可權”的修改,從而實現不同文件夾對應不同用戶組有不同的訪問權限,如圖 4 所示:
圖 4: 實現不同文件夾對應不同用戶組有不同的訪問權限
- 可以在 ClearQuest 客戶端文件夾樹型目錄中對(Public Queries)公共文件夾進行添加,修改和刪除操作,操作對象包括 Folder、Query、Chart、Report、Report Format,如圖 3 所示;
- 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: 各特權間的連帶關系

![]() ![]() |
![]()
|
4. ClearQuest 文件夾訪問控制權限(User Permission)
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 的人員在用戶配置及權限管理方面,提供一定的參考。
文章來源于領測軟件測試網 http://www.kjueaiud.com/