第六章 軟件測試
1.兩種常用的測試技術:
軟件產品與其他產品不同,其最大的成本是檢驗軟件的錯誤、修正錯誤的成本,以及為了發現這些錯誤所進行的設計測試程序和運行測試程序的成本,兩種常用的測試技術為,基于“白盒”的路徑測試技術和基于“黑盒”的事務處理流程測試技術,白盒測試技術依據的是程序的邏輯結構,黑盒測試技術依據的是軟件行為的描述。
2.軟件測試及其目標:
軟件測試可以定義為,按照規定規程,發現軟件錯誤的過程,軟件測試有兩個目標,一為預防錯誤,二為發現錯誤。
3.軟件測試和軟件調試的區別:
測試從一個側面證明程序員的“失敗”,而調試是為了證明程序員的正確,測試以已知條件開始,使用預先定義的程序,且有預知的結果,不可預見的僅是程序員是否通過測試,調試一般是以不可知的內部條件開始,除統計性調試外,結果是不可預見的,測試是有計劃的,并要進行測試設計,而調試是不受時間約束的,測試是一個發現錯誤、改正錯誤、重新測試的過程,而調試是一個推理過程,測試的執行是有規程的,而調試的執行往往要求程序員進行必要推理以至直覺的“飛躍”,測試經常是由獨立的測試組在不了解軟件的條件下完成的,而調試必須由了解詳細設計的程序員完成,大多數測試的執行和設計可由工具支持,而調試時,程序員能利用的工具主要是調試器。
4.測試用例:
指的是為了發現程序中的故障而專門設計的一組或多組數據。
5.測試過程模型:
環境模型、對象模型、錯誤模型。
6.軟件錯誤類別:
結構錯誤、數據錯誤、編程錯誤、接口錯誤。
7.控制流程圖及組成:
控制流程圖是程序控制結構的圖形表示,其基本元素是過程塊、節點、判定,控制流程圖與程序流程圖之間的差異是在控制流程圖中,不顯示過程塊的細節,而在程序流程圖中,著重于過程屬性的描述。
8.路徑測試的基本策略:
路徑測試技術的三種基本策略為,路徑測試(PX),執行所有可能的穿過程序的控制流程路徑,語句測試(P1),至少執行程序中所有語句一次,100%語句覆蓋率(C1)的邏輯覆蓋程序最弱,分支測試(P2),至少執行程序中每一分支一次(至少每個判定都獲得一次“真”和“假”),100%分支覆蓋率(C2)比100%語句覆蓋在邏輯上要強,條件組合測試,在邏輯上比C1,C2更強。
9.路徑選取的一般規則:
選取最簡單的、具有一定功能含義的入口/出口路徑,對已選的路徑進行演化,選取無循環的路徑、短路徑、簡單路徑,選取沒有明顯功能含義的路徑。
10.路徑測試的目標:
執行足夠的測試,以確保最小的C1+C2覆蓋率。
11.事務處理流程圖與控制流程圖的區別與聯系:
事務處理流程圖與控制流程圖的類同點是使用了相同的概念成分,不同之處是事務流程圖是一種數據流程圖,鏈支和過程塊的定義有所差異,另外事務流程圖的判定節點可能是一個復雜的過程,從而事務流程圖中的判定只能是“抽象”,第三點不同之處是事務流程圖中存在“中斷”的作用,中斷可以把一個過程等價的變換為具有繁多出口的鏈支,對此也要予以抽象。
12.事務處理流程測試的步驟:
獲得事務處理流程圖,瀏覽、復審,用例設計。
13.事務處理流程測試要解決的問題:
路徑選取、激活、測試設備、測試數據庫。
14.合理的測試序列:
單元測試、集成測試、有效性測試、系統測試。
15.單元測試及其內容:
單元測試主要檢驗軟件設計的最小單位—模塊,單元測試一般采用白盒測試技術,在單元測試期間,通??紤]模塊的四個特征,模塊接口、局部數據結構、“重要的”執行路徑、錯誤執行路徑,單元測試步驟分四部分,首先測試穿過模塊接口的數據流,繼之進行數據結構的測試,還要進行執行路徑的選擇測試,邊界測試是單元測試中的最后工作,也是最重要的工作。
16.集成測試及其內容:
集成測試是軟件組裝的一個系統化技術,其目標是發現與接口有關的錯誤,集成測試是以主控模塊為測試驅動模塊,設計承接模塊替代其直接的下屬模塊,依據所選取的測試方式,在組合模塊時進行測試。
17.有效性測試及其手段:
有效性測試的目標是發現軟件實現的功能與需求規格說明書不一致的錯誤,有效性測試通常采用黑盒測試技術。
本章綜合應用為設計測試用例,可參考輔導第262頁測試題,此類型題目為試驗必考題型,在歷年的軟件工程筆試中(北京大學主考)也是經常出現,測試技術屬于軟件工程科目的重點之一,希望考生理解并掌握。
聲明:
(一)由于考試政策等各方面情況的不斷調整與變化,本網站所提供的考試信息僅供參考,請以權威部門公布的正式信息為準。
(二)本網站在文章內容來源出處標注為其他平臺的稿件均為轉載稿,免費轉載出于非商業性學習目的,版權歸原作者所有。如您對內容、版權等問題存在異議請與本站聯系,我們會及時進行處理解決。