組建品質指標報表
[組建品質指標] 報表會顯示指定之組建定義的測試涵蓋範圍、程式碼變換和 Bug 計數。您可以使用這個報表,協助判斷程式碼各部分達到發行品質的程度。
在理想情況下,測試成功率、Bug 和程式碼變換全都會產生相同的結果,但實際上常不是如此。當您發現不一致的情形,您可以使用 [Bug 品質指標] 報表來檢查特定組建和資料數列的詳細資料。由於此報表結合了測試結果、測試的程式碼涵蓋範圍、程式碼變換和 Bug,因此您可以同時檢視許多層面。
如需如何存取、重新整理或管理報表的詳細資訊,請參閱報表 (Agile)。
注意事項 |
---|
這份報表會要求您必須使用 SQL Server Reporting Services 來佈建包含 Team 專案的 Team 專案集合。當您開啟 Team Explorer並展開 Team 專案節點時,如果沒有顯示 [報表],就表示無法使用這份報表。 |
本主題內容
|
您可以使用這份報表來回答下列問題:
|
必要的使用權限
若要檢視此報表,您必須在 Reporting Services 中具有 [瀏覽] 角色,或屬於具有該角色的群組。如需詳細資訊,請參閱 將使用者加入至 Team 專案或管理使用權限。
報表中的資料
[組建品質指標] 報表中顯示的資料衍生自資料倉儲。X 軸會根據您為平台、組態和組建定義設定的篩選條件,列出報表所包含的特定組建。
每個直條各代表一組衍生自一個或多個組建的資料。在報表的程式碼大小變數中,每個直條的長度都代表簽入之程式碼基底的大小。直條會進行縮放,使最大數據可顯示於圖表高度內。在組建之後可隨時執行手動測試,且測試會與該組建產生關聯。尚未執行的測試會計為「結果不明」。
下圖顯示 [組建品質指標] 報表的範例。
下表說明報表中針對每個品質指標所顯示的資訊:
品質指標 |
說明 |
---|---|
待處理的 Bug (計數) |
折線圖,說明建置時處於作用中的 Bug 數。
注意事項
未明確與組建相關聯的 Bug。某些計入的 Bug 可能會影響到圖表中所出現的組建。您可以使用區域參數,依產品區域篩選 Bug。這項技術可顯示最可能對報表中的組建造成影響的 Bug。
|
程式碼變換 (行) |
折線圖,說明小組在組建之前於簽入中加入、移除和變更的程式碼行數。程式碼變換的計算方式是先判斷已對組建所加入、刪除或修改的程式碼行數,再除以組建中的總行數。 |
程式碼涵蓋範圍 (百分比) |
折線圖,說明測試所涵蓋的程式碼百分比。 |
結果不明測試 |
堆疊橫條圖的灰色部分,指出不成功或已暫停的測試數。如果組建不成功,則不會計入測試,也不會將其計為結果不明測試。 |
失敗的測試 |
堆疊橫條圖的紅色部分,指出組建的失敗測試數。 |
成功的測試 |
堆疊橫條圖的綠色部分,指出組建的成功測試數。 |
注意事項 |
---|
如需測試結果失敗與成功之涵義的詳細資訊,請參閱測試計劃進度報表。 |
您可以用下列方式篩選報表:
指定組建數和報表結束日期,以變更 X 軸的範圍。第一個組建的顯示日期將取決於建置的頻率。
指定要納入報表中的平台、組態和組建定義,以篩選報表中顯示的組建集。之所以要以該順序設定參數,是因為可用於組建定義的一組值,取決於平台和組態。
指定要納入的產品區域,以篩選報表中計入的 Bug。這個篩選條件不會影響 X 軸出現的組建集、程式碼變換、程式碼涵蓋範圍或是測試結果。
如需詳細資訊,請參閱本主題後面的篩選報表。
必要的測試和組建管理活動
若要讓 [組建品質指標] 報表變得更加實用,並且說明它所能顯示的所有品質指標,小組成員必須執行下列活動來管理測試和組建:
設定建置系統:您必須設定建置系統,才能使用 Team Foundation Build。
如需詳細資訊,請參閱 Configuring Your Build System。
建立組建定義:您可以建立數個組建定義,以用每個定義產生不同平台適用的程式碼。此外,您也可以針對不同的組態執行每個組建。
如需詳細資訊,請參閱 定義您的建置流程。
定義要隨組建自動執行的測試:在組建定義中,您可以定義測試以隨組建一起執行,或在測試失敗時失敗。
如需詳細資訊,請參閱 根據預設範本定義建置流程。
設定測試來收集程式碼涵蓋範圍資料:若要在報表中顯示程式碼涵蓋範圍資料,小組成員必須設定測試來收集該資料。
如需詳細資訊,請參閱 使用測試設定來設定程式碼涵蓋範圍的方式已被取代和 How to: Gather Code-Coverage Data with Generic Tests。
定期執行組建:您可以依設定的間隔或是在每次簽入後執行組建。當您使用排程觸發程序時,您可以建立定期執行組建。
如需詳細資訊,請參閱建立組建定義和執行、監視和管理組建。
注意事項 雖然小組成員可以使用 Build 總管手動將組建分級,但是此評比不會反映在 [組建品質指標] 報表中。組建評比會顯示在 [組建摘要] 報表中。如需詳細資訊,請參閱評比已完成組建的品質和組建摘要報表。
變更報表中的組建數目
[組建品質指標] 報表的顯示內容,會隨著報表中所含的組建數目和您對報表套用的其他篩選條件,而有很大的不同。您可以藉由變更報表中顯示的組建數目,將報表的重點放在特定範圍的組建上。
若要設定報表中表示的組建數目
在 [組建數目] 中,輸入要納入的數目。
按一下 [結束 (日期)] 旁邊的行事曆圖示,然後按一下您要納入報表中的最後組建執行日。
按一下 [檢視報告]。
解譯報表
您可以檢閱報表,以針對任何特定組建定義尋找下列問題的答案:
軟體的品質如何?
小組對程式碼進行的測試是否足夠?
測試是否成功?
根據程式碼和測試度量,小組是否可能完成進度?
測試成功的機率有多高?有多少程式碼接受測試?
注意事項 彩色區段對灰色區段的比率表示測試所涵蓋的程式碼部分,但彩色區域內的比率則僅大約表示測試成功或失敗的程式碼部分。之所以會有此不明確的情形,是因為彩色區域內的綠色部分實際上代表成功的測試數。程式碼某個部分中的單一錯誤,可能會導致多項測試失敗,而單一失敗也可能表示設計中有某個影響到整個程式碼基底的根本錯誤。
狀況良好的報表版本
狀況良好的 [組建品質指標] 報表會顯示下列跡象:
大部分的測試都成功 (綠色區域很大),只有少許測試失敗 (紅色部分很小)。
紅色的百分比小於 20-30%。
如下圖所示,程式碼涵蓋範圍和測試成功率很高,且隨時間持續增加。程式碼變換、作用中 Bug、結果不明測試和失敗的測試都很少,且持續減少。
狀況不良的組建品質指標報表版本
狀況不良的 [組建品質指標] 報表會顯示下列一個或多個跡象。您可以根據下列指引調查其原因。
程式碼涵蓋範圍變小,程式碼變換變多:下圖顯示程式碼涵蓋範圍減少且程式碼變換增加的情形。這項資料很明顯是在警告,有新程式碼正在簽入,但沒有對應的單元測試加以檢查。
低測試執行率:下圖顯示低測試執行率的情形。這項資料可能表示小組所執行的測試量不足。這可能表示有資源不足的情形,或是測試人員正在做其他工作,例如正在撰寫自動化測試,而未測試目前的功能。在此類情況下,應該沒有資源平衡方面的問題。
高程式碼變換,低程式碼涵蓋範圍率:高程式碼轉換表示變更增多,而這可能會帶來 Bug 的增加。在完美重構的專案中,程式碼變換不會導致程式碼涵蓋範圍或測試成功率變更。在其他狀況下,高程式碼變換可能會導致涵蓋範圍縮減,而需要重寫測試。
下圖顯示高程式碼變換率和低程式碼測試涵蓋範圍的情形 (雖然測試成功率還是很高)。這項資料表示所執行的測試並未涵蓋新的程式碼。
高測試失敗率:下圖顯示在程式碼涵蓋範圍尚為合理的情況下執行許多測試,但這些測試大多失敗的情形。這項資料可能表示開發行為不嚴謹,或是在早期反覆項目中,這些測試對這個產品階段而言算太嚴苛。
失敗的測試應該越快解決越好。如果修改程式碼不可行,則應暫時停用失敗的測試,並且應記錄 Bug。雖然有時候在專案初期,可以不用太急著解決程式碼分析錯誤,但是您仍不應該讓紅色區段變到太大。
高測試成功率和高作用中 Bug 率:下圖顯示測試成功率很高,但 Bug 率仍很居高不下的情形。這個情況可能是由幾種原因所導致。對此產品階段的測試可能不夠嚴密。
在早期的反覆項目中,採取簡單的測試是適當的,但是隨著產品的成熟,測試應該要納入更廣泛的情節和整合。測試可能過時,或所測試的功能不對。這時可能應改用其他測試技術。
測試成功率增加,但程式碼涵蓋範圍未增加:一般而言,隨著執行的測試愈多,涵蓋的程式碼也應增加。反之,如果測試執行率和測試成功率增加,卻不見程式碼涵蓋範圍增加,則累加測試可能形同虛設。
作用中 Bug 計數增加,但失敗測試並未增加:如果作用中 Bug 計數增加,卻不見測試失敗數增加,則表示您所測試的功能可能和 Bug 所報告的功能不同。
作用中 Bug 計數減少,但測試成功率並未增加:如果作用中 Bug 計數減少,但測試成功率並未增加,則表示重新啟動率可能增加了。
灰色區域過大:灰色區域表示未在指定的組建內建置或測試的程式碼。這項資料只會出現在有一個或多個指定組建未在期間內執行的週期性報表中。
篩選報表
您可以用下列方式篩選 [組建品質指標] 報表:
指定組建數目和報表結束日期,以變更時間間隔。
指定要納入報表中的平台、組態和組建定義,以篩選報表中呈現的組建集。
注意事項 您可以將組建定義設定為不執行測試、只執行部分測試或執行所有測試。此報表將根據組建定義的組態而大不相同。
指定要納入的產品區域,以篩選報表中計入的 Bug。
下圖顯示可用的篩選:
依照下列程序所指定的順序套用篩選條件。有些篩選條件的可用選項取決於您先前設定的篩選條件。
若要篩選報表中顯示的組建
在 [組建數目] 中,輸入要納入的數目。
按一下 [結束日期] 旁邊的行事曆圖示,然後按一下要納入的最後組建日期。
在 [平台] 清單中,選取每個要納入之平台的核取方塊。
在 [組態] 清單中,選取每個要納入之組態的核取方塊。
在 [組建定義] 清單中,選取每個要納入之組建定義的核取方塊。
按一下 [檢視報表]。
若要篩選報表中顯示的 Bug 計數
在 [區域] 清單中,選取每個要納入之測試結果的核取方塊。
此步驟會根據測試結果的階層來篩選報表。
按一下 [檢視報表]。