摘要:本文對軟件測試方法進行了系統論述,并以信息管理系統為例,如何使用黑盒測試進行了研究,研究表明該方法對系統測試能極大地提高測試效率和測試覆蓋度。
關鍵詞:軟件測試 黑盒測試 用例設計
1 測試方法
1.1 鏈接測試:這一部分將測試系統各模塊之間的超鏈接跳轉是否正確。
1.2 文檔測試 :測試文檔是否包括全部內容:①測試軟件功能描述與其他功能有沒有沖突。②查看軟件功能描述是否是原來系統分析和需求。③查看文檔內容在特定的情況和進度下,以現有人力,物力和資源能否實現。
1.3 負載測試:這一部分將測試正常情況下系統性能和用戶數目之間的關系,查看在多個用戶同時使用本系統時是否正常。
1.4 界面層模塊測試:根據需求測試界面層中各個窗口中按鈕的功能是否正確,并判斷是否與數據庫交互成功;當數據庫返回異常時,也應及時進行處理,跳出相應對話框,提示用戶。
1.5 單元測試:單元測試或者模塊測試是針對各個代碼單元或者模塊進行的測試。測試僅圍繞著具體的程序模塊進行。單元測試將整體測試任務有效分解,對測試出的軟件錯誤或缺陷能夠準確定位在模塊級別,從而減輕了調試任務。此外,模塊測試使得傳統的流水軟件測試流程得以分解,在某種程度上達到同步測試的目的,提高了測試階段的效率。
1.6 集成測試:集成測試(也叫組裝測試,聯合測試)是單元測試的邏輯擴展。
1.7 系統測試:系統全部組裝完畢以后的測試是系統測試。系統測試的工作主要就是測試用戶的功能和性能需求指標是否都在軟件中正確實現。系統測試檢測已集成在一起的產品是否符合系統需求規格說明書的要求。該測試把軟件作為一個黑盒,針對每個需求規格組織各種輸入并根據軟件輸出來判斷該需求規格是否正確實現,因此系統測試偏重于黑盒測試。
1.8 驗收測試:驗收測試也叫做確認測試是軟件開發結束后,驗證軟件的功能和性能及其它特性是否與用戶的要求一致。驗收測試包括用戶驗收測試、系統管理員的驗收測試(包括測試備份和恢復、災難恢復、用戶管理、任務維護、定期的安全漏洞檢查等)、基于合同的驗收測試,α和β測試。驗收測試是對軟件質量評價的一個重要標準。
2 黑盒測試實驗(以本人設計的信息管理系統為例)
2.1 用例流設計
如圖2所示是信息管理系統用例基本流和備選流示意圖,
2.2 場景設計
2.3 用例設計 對于這5個場景中的每一個場景都需要確定測試用例,一般采用矩陣或決策表來確定和管理測試用例。如表2所示是一種通用格式,其中行代表各個測試用例,列代表測試用例的信息。本例中的測試用例包含測試用例ID、場景/條件、測試用例中涉及的所有數據元素和預期結果等項目。首先確定執行用例場景所需的數據元素,然后構建矩陣,最后要確定包含執行場景所需的適當條件的測試用例。在下面的矩陣中,V表示這個條件必須是有效的才可執行基本流,n/a表示這個條件不適用于測試用例。
在上面的矩陣中,4個測試用例執行了四個場景。對于基本流,上述測試用例CWl被稱為正面測試用例。它一直沿著用例的基本流路徑執行,未發生任何偏差?;玖鞯娜鏈y試必須包括負面測試用例,以確保只有在符合條件的情況下才執行基本流。這些負面測試用例由CW2~CW4表示。雖然CW2~CW4相對于基本流而言都是負面測試用例,但它們相對于備選流2~5而言是正面測試用例。而且對于這些備選流中的每一個而言,至少存在一個負面測試用例,就是CWl基本流。
2.4 數據設計 一旦確定了所有的測試用例,則應對這些用例進行復審和驗證以確保其準確且適度,并取消多余或等效的測試用例。
測試用例一經認可,就可以確定實際數據值(在測試用例實施矩陣中)并且設定測試數據。
以上測試用例只是在本次迭代中需要用來驗證系統用例的一部分測試用例。需要的其他測試用例包括以下內容。
場景5——賬戶不存在/賬戶類型有誤:未找到賬戶或賬戶不可用;場景6——賬戶不存在/賬戶類型有誤:禁止從該用戶使用;
3 結論
所有從事軟件測試和即將從事軟件測試的人大都是從黑盒測試做起的,每種類型的軟件有各自的特點,每種測試用例設計的方法也有各自的特點,針對不同軟件如何利用這些黑盒方法是非常重要的,本人多次使用它,體會到能極大地提高測試效率和測試覆蓋度,本人認為認真掌握這些方法的原理,有效提高測試水平,積累更多的測試經驗,這是測試人員最寶貴的財富。
參考文獻:
[1]Paul C.Jorgensen,《軟件測試(原書第二版)》,機械工業出版社.
[2]Rex Black.《測試流程管理》,北京大學出版社,2001年.
[3]Browser/Server系統的三層體系結構.
[4]陳國志.軟件測試管理系統的研究與實現[D],華中科技大學,2005年.
[5]賈宗宣.基于生命周期的軟件自動化測試系統的設計[D],四川大學,2006年.