【摘要】TestDirector是Mercury Interactive公司推出的基于WEB的測試管理工具。它能夠指導(dǎo)進行測試需求定義、測試計劃、測試執(zhí)行和缺陷跟蹤,即整個測試過程的各個階段。通過整合所有任務(wù)到軟件測試中,來使整個測試管理工作更有效,并確??蛻羰盏礁哔|(zhì)量的產(chǎn)品。
【關(guān)鍵詞】需求定義測試計劃測試執(zhí)行缺陷跟蹤需求樹測試計劃樹測試集
Part II需求定義
你應(yīng)該通過定義測試需求來開始整個應(yīng)用程序的測試過程。需求詳細地描述了在你的應(yīng)用程序中哪些需要被測試,為測試組提供了整個測試過程的基礎(chǔ)。
通過定義這些需求,你能夠更好地聚焦于商業(yè)需要并對測試進行計劃和管理。需求與測試和缺陷關(guān)聯(lián),從而確保整個過程可追溯并能幫助整個過程的決策。
本章描述了怎樣使用TestDirector需求模塊來定義測試需求。需求定義工作流包括如下過程:

在使用TestDirector之前,首先確保你已經(jīng)有一個存放測試數(shù)據(jù)的工程。關(guān)于創(chuàng)建工程的更進一步信息,請參考《TestDirector管理員手冊》(TestDirector Administrator’s Guide)。
測試組通過收集所有對應(yīng)用程序測試有用的文檔開始整個測試工作,例如收集市場和商務(wù)需求文檔、系統(tǒng)需求說明書和設(shè)計文檔等。
使用這些文檔您可以對應(yīng)用程序的測試方面作一個全面徹底的了解,并以此為基礎(chǔ)來確定你的測試范圍——測試目的、目標和策略(Goal、Objective、Strategy)。
在確定測試范圍之前應(yīng)該先問一下自己,如下幾個問題:
- 應(yīng)用程序的主要目的和方向是什么?
- 應(yīng)用程序有哪些主要特點?
- 哪些功能在這個產(chǎn)品中是相對重要的?
- 在應(yīng)用程序中,哪些功能是危急的或高風(fēng)險的?
- 你的測試優(yōu)先級是什么?
- 你的客戶或最終用戶是否同意你的測試優(yōu)先級?
- 你總的質(zhì)量目標是什么?
創(chuàng)建測試需求大綱
質(zhì)量保證的管理人員用測試范圍為應(yīng)用程序的測試定義所有的測試需求。它們先定義測試主題,并將各個測試主題指派給測試組內(nèi)的各個QA測試人員。然后每一個QA測試人員將自己所負責(zé)的測試主題記錄到TestDirector工程上。
需求主題是通過創(chuàng)建需求樹記錄在需求模塊里。此需求樹是以圖表的方式形象地描述了你的需求說明書,并顯示了不同級別需求的等級關(guān)系。

舉個例子,假設(shè)一個航班預(yù)定軟件,它能夠讓你去管理航班調(diào)度、旅客登記和機票銷售。QA管理人員可能會定義他主要的測試需求為:登陸操作、數(shù)據(jù)庫操作、傳真發(fā)送操作、安全性能力檢查、圖形和報表操作、UI檢查操作和幫助。對于完整的例子,請查看TestDirector_Demo工程。
關(guān)于創(chuàng)建需求樹的更進一步信息,請看第8章的“開發(fā)需求樹”(Developing the Requirements Tree)。
對于每一個需求主題,QA均應(yīng)該創(chuàng)建相應(yīng)的詳細測試需求列表。例如,Application Security需求主題可能會被分解為如下的需求:

在需求樹中的每一個需求均要求被詳細描述,并且應(yīng)該包括所有與需求相關(guān)的附件。QA測試人員分配每個需求一個優(yōu)先級,此優(yōu)先級會作為測試組創(chuàng)建測試計劃的一個考慮因素。
QA管理人員復(fù)查已經(jīng)定義的需求,并確保它們在先前定義的測試范圍之內(nèi)。一旦被認為復(fù)查通過的話,還應(yīng)該將其標識為“已復(fù)查(Reviewed)”狀態(tài)。
可以通過產(chǎn)生TestDirector報告和圖表來幫助復(fù)查需求。更進一步信息,請查看26章“產(chǎn)生報告”(Generating Reports)和27章“產(chǎn)生圖表”(Generating Graphs)。
在隨后的測試計劃中,你應(yīng)該使用這些需求作為基礎(chǔ)。并且在測試計劃階段所創(chuàng)建的測試也應(yīng)該覆蓋這些需求。關(guān)于需求和測試覆蓋的更進一步信息,請查看第12章“連接測試到需求”(Linking Tests to Requirements)。這些測試也能夠被缺陷進行關(guān)聯(lián),從而在整個測試過程形成完整的回溯。
本章將介紹TestDirector需求模塊的核心元素。包括如下內(nèi)容:
- 需求模塊(The Requirements Module)
- 需求菜單欄(The Requirements Menu Bar)
- 需求工具條(The Requirements Toolbar)
- 需求樹(The Requirements Tree)
需求模塊
你可以在TestDirector中點擊Requirements標簽頁,來定義你的需求??梢酝ㄟ^文檔視圖(Document View)或覆蓋視圖(Coverage View)兩種方式來顯示需求樹。
注意:你可以從Microsoft Word、Excel或第三方的需求管理工具中導(dǎo)入需求到你的TestDirector工程。對于導(dǎo)入需求,你必須首先安裝相應(yīng)的TestDirector插件。對于更詳細信息請查看《TestDirector安裝手冊》(TestDirector Installation Guide)。
默認情況下,需求模塊是以文檔視圖方式顯示需求樹。

你也可以以覆蓋視圖方式來顯示需求樹。這種方式能夠讓你更方便地為需求增加或修改測試覆蓋。關(guān)于測試覆蓋的更進一步信息,請看第12章“連接測試到需求”(Linking Test to Requirements)。

需求模塊包括如下的核心元素:
- Requirements Menu Bar,需求菜單欄,具有需求模塊命令的下拉菜單。
- Requirements Toolbar,需求工具欄,具有創(chuàng)建或修改需求樹的常用命令按鈕。
- View Box,視圖選擇框,能夠讓你去選擇需求樹的顯示方式:文檔視圖或覆蓋視圖。
- Requirements Tree,需求樹,你的測試需求的一種圖形表達。更詳細信息請看60頁的需求樹(The Requirements Tree)。
- Description Tab,描述標簽頁,顯示當(dāng)前所選擇需求的注釋,僅在文檔視圖中有效。點擊Show箭頭去顯示描述面板。
- History Tab,歷史標簽頁,顯示當(dāng)前所選擇需求的歷史操作列表。
- Tests Coverage Tab,測試覆蓋標簽頁,顯示了在需求樹上,當(dāng)前所選擇的需求的測試列表。僅適用于覆蓋視圖。
- Details Tab,細節(jié)標簽頁,顯示了在需求樹上當(dāng)前樹選擇需求的詳細描述。僅適用于覆蓋視圖。
需求菜單欄
需求菜單欄包括如下菜單項:
- Requirements菜單,包括命令:在需求樹上修改需求、從一個需求產(chǎn)生一個測試、Mail一個需求。
- View菜單,包括命令:設(shè)置需求樹的顯示、查找一個需求、瀏覽測試覆蓋、關(guān)聯(lián)缺陷、附件。
- Tools菜單,包括命令:轉(zhuǎn)換需求到測試。
- Analysis菜單,包括命令:產(chǎn)生需求報告和圖表。關(guān)于需求報告的更詳細信息,請看第26章,“產(chǎn)生報告”(Generating Reports)。關(guān)于需求圖表的更詳細信息,請看第27章,“產(chǎn)生圖表”(Generating Graphs)。
需求工具欄
需求工具欄包括如下按鈕:
- New Requirements
:新建需求,增加一個新的需求到需求樹。TestDirector將增加此需求到當(dāng)前所選擇的需求下面,并處于相同等級。
- New Child Requirements
:新建子需求,增加一個新的需求到需求樹。TestDirector將增加此子需求到當(dāng)前所選擇的需求下面,并處于低一級的級別。
- Cut
:剪切,移動所選擇的需求到需求樹的新位置。要與Paste按鈕聯(lián)合使用。
- Copy
:拷貝,拷貝所選擇的需求到需求樹的另外位置或另外的TestDirector工程。需要與Paste按鈕聯(lián)合使用。
- Paste
:粘貼,粘貼一個剪切或拷貝的需求到需求樹的另外位置。
- 點擊Paste箭頭并選擇Paste,去粘貼需要到當(dāng)前所選擇的需求下面,以相同的級別。
- 點擊Paste箭頭并選擇Paste as Child,去粘貼需要到當(dāng)前所選擇的需求下面,以低一級的級別。
- Delete
:刪除,從需求樹中刪除所選擇的需求。
- Refresh Selected
:刷新,刷新在需求模塊中的數(shù)據(jù)。
- 點擊Refresh Selected按鈕,去刷新當(dāng)前所選擇的需求。所有子需求也會被同時刷新。
- 點擊Refresh Selected箭頭并選擇Refresh All去刷新所有的需求。
- Select Columns
:選擇列,打開選擇列對話框,你可以決定哪些字段顯示在需求樹中,并決定它們的顯示順序。
- Zoom in
:展開,改變需求樹的細節(jié)等級。
- 點擊Zoom In按鈕去展開需求樹的指定分支。
- 點擊Zoom In箭頭并選擇Zoom Out One Level去取消預(yù)先展開的命令。
- 點擊Zoom In箭頭并選擇Zoom Out To Root去收縮,并顯示整個需求樹的根結(jié)點。
- Find
:查找,打開查找需求對話框,能夠讓你在需求樹中查找你想要的需求。
- Mail Requirement
:Mail需求,打開發(fā)送郵件對話框,你可以從郵件列表中選擇收件人,或輸入其它的郵件地址,發(fā)送需求郵件。
- Attachments
:附件,打開附件對話框,能夠讓你為所選擇的需求添加附件。對于更多信息,請看第4章“增加附件”(Adding Attachments)。
- Test Coverage
:測試覆蓋,打開測試覆蓋對話框,能夠讓你為選定的測試需求增加測試覆蓋。注意:你也能夠右鍵點擊一個需求,并選擇Associated Defects去瀏覽有測試覆蓋需求的所有缺陷關(guān)聯(lián)。
需求樹
TestDirector在需求樹中有機的組織并顯示數(shù)據(jù)。需求樹中每一行都顯示了一條獨立的需求。需求樹中可以顯示如下細節(jié)信息:
選項
|
描述
|
附件(Attachment)
|
指示本需求是否包含附件。
此字段值可以為“Y”或“N”。
|
作者(Author)
|
創(chuàng)建此需求的用戶名。
默認情況,TestDirector插入登陸用戶名到此字段。
|
覆蓋狀態(tài)(Cover Status)
|
需求當(dāng)前的狀態(tài)。默認情況下,狀態(tài)為Not Covered。
一個需求的狀態(tài)能夠是如下幾種:
Not Covered:這個需求沒有被鏈接到測試。
Failed:覆蓋此需求的一個或多個測試被執(zhí)行,且狀態(tài)為:Failed。
Not Completed:覆蓋此需求的一個或多個測試被執(zhí)行,且狀態(tài)為:Not Completed。
Passed:覆蓋此需求的所有測試均有同樣狀態(tài):Passed。
No Run:覆蓋此需求的所有測試均有同樣狀態(tài):No Run。
你能夠點擊一下State,去打開你所選擇需求的測試覆蓋對話框,關(guān)于覆蓋的更詳細信息,請看第12章的“連接測試到需求”(Linking Tests to Requirements)。
|
創(chuàng)建日期(Creation Date)
|
需求被創(chuàng)建的日期。默認情況下,創(chuàng)建日期被設(shè)置為當(dāng)前服務(wù)器日期。你也可以點擊下拉箭頭去顯示一個日歷,并選擇一個不同的創(chuàng)建日期。
|
創(chuàng)建時間(Creation Time)
|
需求被創(chuàng)建的時間。默認情況下,創(chuàng)建時間被設(shè)置為當(dāng)前服務(wù)器的時間。
|
修改(Modified)
|
標識此需求被最后修改的時間。
|
名稱(Name)
|
需求名。
|
優(yōu)先級(Priority)
|
需求的優(yōu)先級。范圍從最低級別(Level 1)到最緊急級別(Level 5)。
|
產(chǎn)品(Product)
|
需求所基于的應(yīng)用程序組件。
|
需求ID(Req ID)
|
需求的唯一數(shù)字ID,右TestDirector自動分配。注意,需求ID是只讀的。
|
復(fù)查(Reviewed)
|
標識此需求是否被復(fù)查,并且被責(zé)任人批準通過。
|
類型(Type)
|
需求的類型,可以是Hardware或Software。
|
注意:你可以改變需求樹中任何字段的標簽,也可以最多增加24個用戶自定義的標簽到需求樹中。更進一步信息,請看《TestDirector管理員手冊》(TestDirector Administrator’s Guide)。
需求樹組織并展示了你整個的測試需求體系。本章描述了:
- 創(chuàng)建需求樹(Creating a Requirements Tree)
- 在樹中查詢需求(Finding Requirements in the Tree)
- 查看需求樹(Viewing the Requirements Tree)
- 查看需求歷史(Viewing Requirement History)
- 郵寄需求(Mailing Requirements)
- 查看關(guān)聯(lián)缺陷(Viewing Associated Defects)
- 修改需求樹(Modifying the Requirements Tree)
- 從需求創(chuàng)建測試(Creating Test from Requirements)
定義測試需求的過程是單調(diào)乏味并耗時的。大多數(shù)情況下,測試組是用字處理軟件或電子表格文檔來記錄需求。這樣的需求文檔維護復(fù)雜,難以組織和分類,而且不能夠連接到基于需求創(chuàng)建的測試和相應(yīng)的缺陷。
作為整個測試過程的第一步,TestDirector需求模塊能夠讓你簡單的定義和管理你的測試需求。測試小組通過在TestDirector中創(chuàng)建需求樹來記錄需求。它以圖表的方式展現(xiàn)了整個需求說明和需求關(guān)系。
一旦你已經(jīng)創(chuàng)建了測試,你就可以在需求和測試間建立連接,而測試與缺陷又可以建立關(guān)聯(lián)。通過這種方式,你就可以跟蹤測試需求到整個測試過程的每一個步驟。假如測試需求被改變,你可以立即確定哪些測試和缺陷受到影響,并且是誰負責(zé)的收到了影響。你能夠在需求樹中分組和分類需求,監(jiān)控需求過程和任務(wù)分配,并產(chǎn)生詳細的報告和圖表。
注意:本章假定你是使用需求模塊的Document View去創(chuàng)建需求樹。關(guān)于Coverage View的更進一步信息,請看第12章的“連接測試到需求”(Linking Tests to Requirements)。
你可以通過創(chuàng)建需求樹來定義你的需求。
創(chuàng)建需求樹:
- 在需求模塊的工具欄上點擊New Requirement按鈕
,或者選擇Requirements > New Requirement.
注意:假如需求字段已經(jīng)在工程自定義窗口中定義,,則New Requirement對話框?qū)⒈淮蜷_。為不要的字段選擇值,并點擊OK。
TestDirector將增加一個默認名稱為“New Requirement”的新需求到需求樹中。

- 為新的需求輸入一個名稱,并按Enter。注意,需求名稱中不能夠包括字符:/ ^ *。
- 為需求添加需求細節(jié)。關(guān)于在需求樹中的有效字段的更詳細信息,請看第7章“需求模塊一覽”(The Requirements Module at a Glance)。
- 在Description面板中,輸入新需求的描述信息。
- 點擊Attachments按鈕或選擇View > Attachments,為新需求添加附件。附件可以是文件、URL、應(yīng)用程序的快照、剪貼板中的圖像或系統(tǒng)信息。TestDirector會在需求樹中,緊挨著需求名放置一個可點擊的附件圖標
。對于更多信息,請查看第4章“添加附件”(Adding Attachments)。
- 點擊Tests Coverage按鈕
或選擇View>Tests Coverage,為需求添加測試覆蓋。測試覆蓋定義了測試計劃樹中的測試并能夠讓你連接測試需求到測試。你僅僅只有當(dāng)在測試計劃期間創(chuàng)建測試后,才能夠定義測試覆蓋。關(guān)于測試覆蓋的更詳細信息,請看第12章“連接測試到需求”(Linking Tests to Requirements)。
- 添加另外的需求到需求樹:
- 點擊New Requirement按鈕
,在當(dāng)前需求下面添加同等級需求。
- 點擊New Child Requirement按鈕
,在當(dāng)前需求下面添加低一級的需求。
- 在樹中查找需求
你可以基于需求名稱或其它的一些信息,在需求樹中查找需求。
注意:假如你使用放大,TestDirector會限制在你放大的區(qū)域進行搜索。關(guān)于樹放大的更進一步信息,請查看67頁的“查看需求樹”(Viewing the Requirements Tree)。
查找需求:
- 在工具欄上點擊Find按鈕
,或者右鍵點擊需求樹,并選擇Find,Find Requirement對話框?qū)⒈淮蜷_。

- 在Find in Field框中,選擇查找的依據(jù)。
- 在Value to Find框中,輸入或選擇你所選擇字段的值。此查找是不分大小寫的。
舉個例子,假如字段為Name,則在Value to Find框中輸入需求名稱。假如字段名為Priority,則在Value to Find框中,選擇一個優(yōu)先級(從一到五)。
- 點擊Find。TestDirector將會用給定的值去定位這個需求。假如搜索是成功的,搜索結(jié)果對話框?qū)⒈淮蜷_,并顯示可能匹配的列表。從列表中選擇一個結(jié)果,并點擊Go To按鈕,則會在需求樹中高亮顯示此需求。
假如搜索不成功,相應(yīng)的提示信息框?qū)⒈粡棾觥?/p>
你能夠改變TestDirector顯示需求樹的方式。包括放大和縮小樹、顯示編號、刷新樹、展開和折疊樹的分支。
縮放樹:
你能夠放大或縮小
需求樹中的需求主題。這能夠讓你去改變樹顯示的明細程度。
放大:
- 在需求樹中選擇一個需求主題
- 在工具欄上點擊Zoom In按鈕,或者右鍵點擊需求并選擇Zoom In。
需求樹僅僅只顯示所選擇的需求主題和這需求主題所包括的內(nèi)容。
縮?。?/strong>
要反轉(zhuǎn)一個放大的行為,你可以縮小一個層次或完全的縮小。
- 點擊Zoom In箭頭,并選擇Zoom Out One Level去取消先前放大的命令。
- 點擊Zoom In箭頭,并選擇Zoom Out To Root去全部縮小并顯示整個需求樹。
顯示編號:
現(xiàn)在View > Numeration去顯示需求樹中每一個需求具有等級的編號。一旦你對需求樹作了改變,TestDirector將自動為這些需求重新編號。注意,這些編號和為每個需求分配的唯一需求ID是沒有關(guān)系的。默認情況下,需求以編號方式顯示。
刷新樹:
你可以在需求模塊中刷新數(shù)據(jù)。
- 快速地刷新需求:選擇所要刷新的需求,并點擊Refresh Selected按鈕
,此需求和所有的子需求將被刷新。
- 刷新所有需求:點擊Refresh Selected箭頭,并選擇Refresh All。
展開和折疊樹:
你能夠展開或折疊需求樹中的分支,這能夠讓你去改變樹顯示的細節(jié)程度。
- 展開樹枝:單擊分支名左側(cè)的展開符號
。若想展開分支的所有層,需要右擊分支名稱,并選擇Expand。
- 折疊樹枝:單擊分支名左側(cè)的折疊符號
。若想折疊分支中所有層,需要右擊分支名稱,并選擇Collapse。
關(guān)于定義過濾條件的更進一步信息,請查看第27頁的“過濾記錄”(Filtering Records)。
你可以查看需求樹中所有需求的修改記錄。
查看需求的修改歷史:
- 在需求樹上選擇一個需求。
- 點擊History標簽頁,所有字段的修改歷史都顯示在網(wǎng)格中。

對于需求的每一個改變,網(wǎng)格上都會顯示相應(yīng)的修改日期、修改人名稱和修改后的值。
- 你能夠定義哪些字段可以顯示在網(wǎng)格中。在Field列表中,選擇一個字段名稱,僅僅只查看該字段的修改記錄。
關(guān)于保存歷史記錄的更進一步信息,請查看《TestDirector管理員手冊》(TestDirector Administrator’s Guide)。