4.3 DTD的功能與組成
DTD的功能與組成如圖3所示。
圖3 缺陷跟蹤系統模塊組成圖
各模塊詳細說明如下:
●報告模塊。用于軟件測試人員向數據庫報告新的缺陷。
●權限控制模塊。為測試人員、開發人員和項目管理人員分配不同的權限,如瀏覽、報告、修改、查詢、統計、分析、刪除、備份等。
●分析模塊。統計和分析滿足條件的缺陷,輸入分析結果;分析結果可以存成文件,可以包括數據、文字、表格和統計圖形等內容。
●備份模塊。備份當前缺陷跟蹤數據庫的缺陷;全部備份或者備份滿足條件的缺陷。
●查詢模塊。根據查詢條件,查找滿足條件的缺陷;包括簡單條件查詢和復雜條件查詢。
●修改模塊。用于開發人員和測試人員更新缺陷狀態信息;開發人員驗證報告的缺陷,修改缺陷,更新修改缺陷的信息;測試人員補充缺陷內容,驗證和關閉修正的缺陷。
5 缺陷跟蹤數據庫的缺陷管理
缺陷跟蹤數據庫(DTD)是一種可以提高缺陷處理效率的工具,要充分發揮它的作用,需要對缺陷跟蹤數據庫進行有效的管理[3] 。
5.1 角色和權限劃分
使用DTD的用戶有多種類型,而且他們使用的目的關注的內容也各不相同,為更有效地對DTD中每個缺陷進行正確處理,保證缺陷處理的客觀性和安全性,我們對不同的使用者分配不同的缺陷處理權限。
默認情況下,數據庫有四個組,測試組、質量保證組、修正缺陷組、項目管理組??梢愿鶕枰S時添加和減少這些組的成員。
各組對應權限如表5所示。專有權限是本組成員才有的權限,公共權限是每個使用缺陷數據庫的人員都有的權限。
表5
5.2 缺陷數據分析和顯示
本系統具有較為強大的數據統計分析能力,以基于缺陷跟蹤數據庫的bug信息作為分析的數據來源,以表格和圖形的形式表現缺陷的分布情況,并且可以選擇統計和分析的頻率(每周或者每天)。目前實現的有如下三種。
(1)測試團隊每天報告的新缺陷統計和分析。
(2)不同測試人員的缺陷數量統計。
(3)缺陷嚴重級別和缺陷類別統計與分析。
由于我們采用的是中心數據庫的體系結構,當需要以別的方式體現缺陷的分布情況時只需要更改圖的表示層就可以,而邏輯和數據庫層無需更改。
6 自動化測試支持系統
自動化測試是管理和實施各種測試活動的一種方法,即測試用例的設計,測試腳本的開發和執行,并借助自動化工具來驗證測試需求[4]。而缺陷回歸是我們軟件開發和缺陷管理中的主要問題,也是測試中不可避免的話題。對現有功能更新的同時,也影響原有的行為,這是造成bug的主要原因,避免這一問題的主要解決方法是構建自動化的測試,實現回歸測試。
回歸測試我們可以采用商業工具、開源工具和自己開發,考慮到開發周期和與本系統的兼容,我們在多種選擇方案中選擇了在ATMS中內嵌開源自動化測試工具CPPUNIT[5]的方法來支持自動化測試,由于CPPUNIT是個開放源代碼的工具,這使得我們可以通過修改其源代碼使之符合我們的需要,在本系統中,當每次CPPUNIT自動化測試完成之后,我們加入引導,把相應的運行結果寫入ATMS指定的中心數據庫中,同時指示ATMS有新的數據更新。這樣由于ATMS和CPPUNIT共用相同的中心數據庫,能夠達成數據上的一致性,并完成所需交互。其數據流如圖4所示。
圖4
從圖4可以看出,當做自動化測試的人員拿到需要自動化的用例的文本描述后,將其按照CPPUNIT的規范寫成可以在CPPUNIT框架下運行的用例代碼。然后和需要的用例數據一起通過CPPUNIT自動運行,結果自己寫到系統的中心數據庫,這樣,別的模塊就能任意查詢所需結果。
7 結束語
隨著我國軟件業的發展和各公司測試管理過程的進一步完善,作為軟件質量保證的重要組成的軟件測試也越來越受到重視,如何在軟件開發項目中有序地管理和分析各種問題對質量控制和過程改進也將越來越重要。本系統支持缺陷驅動的測試過程,但是對自動化的支持還比較膚淺,只是在現有CPPUNIT的基礎上做了一些整合,這個是以后需要改進的地方。我們也相信,由于軟件自動化測試能顯著提高軟件測試的有效性和效率,將在越來越多的軟件測試管理工具中得到支持。
參考文獻
[1] Ron Patton 著.軟件測試.周予檳,姚靜等譯.機械工業出版社,2002
[2]崔啟亮著.國際化軟件測試.電子工業出版社 2006.4
[3]孫建.軟件測試工具的研究與建立.浙江大學,2006
[4]Sam Guckenheimer. The Revolution in Software Testing. Rational Software. 2002
[5]James Newkirk Robot C. Martin. Extreme Programming in practice中文版.人民郵電出版,2002年6月出版