如何解決軟件測試的近憂和遠慮[4] 軟件測試
黑盒測試中另一個常用的測試用例設計方法是邊界值分析,它是一種補充等價類劃分的測試用例設計技術,它選擇一組測試用例檢查邊界值是否符合相應規格說明。因為輸入域的邊界比中間更加容易發生錯誤,所以引進了邊界值分析方法往往能發現更多的軟件缺陷和錯誤。
而不管黑盒測試多么全面,它都可能忽略類似于邏輯性錯誤、潛在破壞性執行流程、冗余程序代碼乃至于簡單打字錯誤等,而白盒測試則可以進一步發現它們,查找出代碼層次的錯誤和缺陷。白盒測試用例設計包括的門類也相當繁多,這里限于篇幅不再贅述。
做好軟件測試件管理,消除“遠慮”
測試件泛指一切手工測試和自動測試活動中必須受控或值得納入測試團隊知識庫的所有輸入和輸出數據,包含團隊自主開發的測試自動化工具。如何有效地管理好測試件,是影響測試團隊效率與整體水平的重要因素之一。在待測項目規模小、功能點少的情況下,測試工作或許能正常進行。但如果測試團隊要同時測試多個項目,各項目規模都相對較大,涉及的測試人員較多時,測試工作的效率可能會大為降低。除此之外,測試件管理對于團隊的整體水平提高亦具有不可估量的長遠意義,將有代表的測試用例、測試方案等積累起來,可避免團隊長時間在一個較低水平上徘徊。
在表2所示測試件中,除了測試用例自動化管理、測試缺陷(報告)跟蹤管理已經有較好的自動化管理工具外,其他測試件目前尚未發現有對應的專用管理工具,筆者建議采用配置管理工具(如CVS)。(由于測試缺陷跟蹤管理在上期已有詳細的論述,這部分內容本文從略)
測試用例管理系統
測試用例設計人員需要了解目前已經設計了哪些模塊或部件的測試用例,還需要完成哪些設計工作,而測試執行人員需要被明確地告知今天要測試什么,需要執行多少個測試用例;谶@些需求,人們開發了測試用例管理系統,其目的是為了對項目的測試用例的設計、執行及執行結果進行統一管理,提高測試活動的效率。
測試用例管理系統市面上有很多(如微創測試用例管理系統等)。典型的工作流程如下:設置基本參數→登錄系統→選擇項目→新增模塊節點→新增需求→新增測試用例→審核測試用例→新增測試組→新增測試計劃→執行測試→測試結果查看→統計分析。該流程涉及到的角色包括測試組長、測試設計人員、測試執行人員、系統管理員、測試評審員等。其中,測試設計人員擁有寫入測試用例的權限,測試執行人員負責測試用例的執行,二者是測試用例管理系統的主體。
配置管理
除測試用例、測試缺陷報告之外的測試件均可以使用配置管理的方式進行管理。這里有兩個可選擇的配置管理方式。一是將測試件的邏輯集合(稱為測試件組)作為配置項保存在配置庫中。每個測試件組有自己的版本信息,而組成測試件組的各個測試件沒有自己的版本信息。測試人員可以根據需要隨時從配置庫中取出任何版本的測試件組(包含已修改的和未修改的測試件)。由于其操作簡單,且出現版本錯誤的可能性較小,所以適用于配置管理體系不成熟的情況。
另一種方式是把單個的測試件作為配置項,每個測試件有自己的版本信息。這種方式需要在測試件組或多個測試件組上進行基線化。通過基線化操作,方便測試人員能取出對應于不同版本系統的所有測試件。這種方式如果使用不當,可能導致使用的測試件版本錯誤,所以其適用于有較完善的配置管理體系的情況。
不管采用哪種方式,都要注意控制測試件的更新,但要避免兩個或更多的人同時試圖修改同一配置項。關于測試件的存放,需要注意的是,必須規定好各測試件在配置庫中的物理位置。
測試件的復用與遷移
測試件管理工作的另一個更為重要的價值就在于測試件可以被復用,測試件蘊含的經驗和知識可以被后來者獲取并遷移到當前項目中。測試團隊的整體水平的提高很大程度上在于團隊內部知識傳遞的充分有效。由于測試件管理庫記載了各個項目采用的測試技術以及獲得的經驗教訓,這對于團隊中的新手而言,是很寶貴的資源,即便是對于從業多年的老手來說,也應該多多參考這個知識庫,因為測試件的復用能有效規避重復勞動。另外,建議測試團隊負責人通過多種方式,讓團隊成員多多了解、學習和利用測試件庫,鼓勵團隊成員對測試件提出改進意見。
文章來源于領測軟件測試網 http://www.kjueaiud.com/