在功能測試中,被測軟件的輸入域和輸出域往往是無(wú)限域,因此窮舉測試通常是不可行的。必須以某種策略分析軟件規格說(shuō)明,從而得出測試用例集,盡可能全面而又高效地對軟件進(jìn)行測試。下面就說(shuō)明幾種功能測試的方法:
a. 等價(jià)類(lèi)劃分
所謂等價(jià)類(lèi),就是指某個(gè)輸入域的集合,集合中的每個(gè)輸入對揭露程序錯誤來(lái)說(shuō)是等效的,把程序的輸入域劃分成若干部分,然后從每個(gè)部分中選取少數代表性數據作為測試用例,這就是等價(jià)類(lèi)劃分方法。它是功能測試的基本方法。
b. 因果圖法
因果圖是一種形式語(yǔ)言,由自然語(yǔ)言寫(xiě)成的規范轉換而成,這種形式語(yǔ)言實(shí)際上是一種使用簡(jiǎn)化記號表示數字邏輯圖。因果圖法是幫助人們系統地選擇一組高效測試用例的方法,此外,它還能指出程序規范中的不完全性和二義性。
c. 邊值分析
實(shí)踐證明,軟件在輸入、輸出域的邊界附近容易出現差錯,邊值分析是考慮邊界條件而選取測試用例的一種功能測試方法。所謂邊界條件,是相對于輸入和輸出等價(jià)類(lèi)直接在其邊緣上,稍高于和稍低于其邊界的這些狀態(tài)條件。邊值分析是對等價(jià)類(lèi)劃分的有效補充。
(2) 結構測試
結構測試是根據被測程序的內部結構設計測試用例的一類(lèi)測試,又稱(chēng)為白盒測試。白盒測試也稱(chēng)結構測試或邏輯驅動(dòng)測試,它是知道產(chǎn)品內部工作過(guò)程,可通過(guò)測試來(lái)檢測產(chǎn)品內部動(dòng)作是否按照規格說(shuō)明書(shū)的規定正常進(jìn)行,按照程序內部的結構測試程序,檢驗程序中的每條通路是否都有能按預定要求正確工作,而不顧它的功能。其主要方法有邏輯驅動(dòng)、基路測試等,主要用于軟件驗證。白盒法全面了解程序內部邏輯結構、對所有邏輯路徑進(jìn)行測試。白盒法是窮舉路徑測試。在使用這一方案時(shí),測試者必須檢查程序的內部結構,從檢查程序的邏輯著(zhù)手,得出測試數據。貫穿程序的獨立路徑數是天文數字。但即使每條路徑都測試了仍然可能有錯誤。第一,窮舉路徑測試決不能查出程序違反了設計規范,即程序本身錯誤的程序。第二,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯。第三,窮舉路徑測試可能發(fā)現不了一些與數據相關(guān)的錯誤。
與功能測試不同的是,結構測試涉及程序內部結構。盡管用戶(hù)更傾向于基于程序規格說(shuō)明的功能測試,但是結構測試能發(fā)現潛在的邏輯錯誤,而這種錯誤往往是功能測試發(fā)現不了的。它們各有利弊,常常結合使用。
第三部分 測試策略文檔范例
● 測試目的:
(1) 測試的范圍,哪些功能要包括在內,哪些要排除在外
(2) 誰(shuí)是客戶(hù)和最終用戶(hù),誰(shuí)就是測試結果的驗收者
(3) 測試的次序和日程安排
(4) 驗收的條件,成功因素,限制
● 資源需求:
(1) 制定計劃和運行測試需要哪些技術(shù)和經(jīng)驗
(2) 相關(guān)人員的角色和責任
(3) 誰(shuí)將對測試工作進(jìn)行全盤(pán)協(xié)調
(4) 誰(shuí)負責測試資料管理,版本控制,錯誤跟蹤
● 測試環(huán)境:
(1) 用于測試的系統配置怎樣
(2) 需要什么自動(dòng)化工具
(3) 需要哪些測試數據(數據庫和輸入交易),如何安裝
(4) 您如何前調系統時(shí)鐘
● 測試過(guò)程:
(1) 運行測試時(shí)要遵循哪些過(guò)程(設置、執行、記錄)
(2) 測試案例如何制定,其標準格式是什么
(3) 測試案例定義的覆蓋要求是什么
(4) 遇到問(wèn)題如何決定其嚴重程度,對問(wèn)題如何處理
原文轉自:http://kjueaiud.com