軟體測試方法總結

2021-11-08 21:20:15 字數 4251 閱讀 5099

文件編號

批准:日期年月日

修改歷史

目錄1 引言 4

1.1 目的 4

1.2 範圍 4

2 測試方法總結 4

2.1 黑盒測試方法解析 4

2.1.1 等價類劃分 4

2.1.2 邊界值分析 6

2.1.3 錯誤推測法 7

2.1.4 因果圖 7

2.2 白盒測試方法解析 7

2.2.1 語句覆蓋 8

2.2.2 判定覆蓋 9

2.2.3 條件覆蓋 9

2.2.4 判定/條件覆蓋 10

2.2.5 多重條件覆蓋 11

2.2.6 狀態圖和測試樹 12

2.2.7 白盒測試方法小結 13

3 測試策略 13

4 測試種類 13

4.1.1 簡要說明 13

4.1.2 測試階段&測試種類 16

5 測試活動 16

5.1.1 單元測試 17

5.1.2 整合測試 18

5.1.3 確認測試 19

5.1.4 系統測試 20

5.1.5 驗收測試 21

6 附錄 22

對常用測試方法進行總結,力求測試概念的清晰化並確保測試工作有據可循。

適用於測試人員。

(1) 等價類劃分,將所有可能的資料劃分成若干部分,然後從每一部分中選取少數有代表性的資料作為測試用例。

即將軟體的相似輸入、輸出、操作分成組,這些組就是等價區間。

(2) 有效等價類,是指對於程式的需求規格說明來說,是合理的,有意義的資料構成的集合。利用它,可以檢驗程式是否實現了規格說明預先規定的功能和效能。

(3) 無效等價類,是指對於程式的需求規格說明來說,是不合理的,無意義的資料構成的集合。利用這一類測試用例主要可檢查程式中功能和效能的實現是否不符合規格說明要求。

在設計測試用例時,要同時考慮有效等價類和無效等價類的設計。

軟體不能都只接收合理的資料,還要經受意外的考驗,接受無效的或不合理的資料,這樣獲得的軟體才能具有較高的可靠性。

設計步驟:

(1) 劃分等價類;

(2) 確定測試用例;

針對輸入(出)資料來劃分等價類的原則:

(1) 如果輸入(出)條件規定了取值範圍,或值的個數,則可以確定乙個有效等價類和兩個無效等價類。

(2) 如果輸入(出)條件規定了輸入值的集合,或者是規定了「必須如何」的條件,則可確定乙個有效等價類和乙個無效等價類。

(3) 如果輸入(出)條件是乙個布林量,則可以確定乙個有效等價類和乙個無效等價類。

(4) 如果規定了輸入(出)資料的一組值,而且程式要對每個輸入值分別進行處理,則可為每乙個輸入值確立乙個有效等價類,此外針對這組值確立乙個無效等價類。

(5) 如果規定了輸入(出)資料必須遵守的規則,則可以確立乙個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則)。

(6) 如果確知,已劃分的等價類中各元素在程式中的處理方式不同,則應將此等價類進一步劃分成更小的等價類。

此外,還可以根據不同的操作方式來劃分等價類(見例子2)。

確定測試用例步驟:

(1) 為每乙個等價類規定乙個唯一的編號;

(2) 設計乙個新的測試用例,使其盡可能多地覆蓋尚未被覆蓋的有效等價類,重複這一步,直到所有的有效等價類都被覆蓋為止;

(3) 設計乙個新的測試用例,使其僅覆蓋乙個尚未被覆蓋的無效等價類,重複這一步,直到所有的無效等價類都被覆蓋為止;(因為一般程式在對某一輸入錯誤檢查時往往會遮蔽對其他輸入錯誤的檢查,所以必須針對每乙個無效等價類分別設計測試用例。)

(1) windows檔名可以包含除了、/:*?「<>和1之外的任意字元。

檔名長度是1~255個字元。若為檔名設計測試用例,等價區間有:合法字元、非法字元、合法長度的名稱、過長名稱和過短名稱。

(2) 比如某功能點(複製功能)有5種不同的執行方式(單擊選單方式、鍵入c或c方式、按ctrl+c或ctrl+shift+c)。則可將此5種輸入途徑劃分減為3個(單擊選單方式、鍵入c方式、按ctrl+c方式)類。

邊界值分析,是對等價類劃分的補充,是相對於輸入與輸出等價類直接在其邊緣上,稍高於其邊界和低於其邊界的這些狀態條件。

注意:(1) 邊界值分析不是從某個等價類中隨便挑乙個作為代表,而是選出乙個或幾個元素,使得這個等價類的每個邊界都要作為測試物件;

(2) 邊界值分析不僅僅考慮輸入條件(輸入空間),同時還要考慮結果空間所產生的測試情況(即考慮輸出等價類)。

設計步驟:

(1) 確定邊界情況;

(2) 確定測試用例;

選擇測試用例原則:

選擇正好等於、剛剛大於、剛剛小於邊界的值作為測試資料。

(1) 如果輸入條件規定了值的範圍,則應取剛達到這個範圍的邊界的值,以及剛剛超越這個範圍邊界的值作為測試輸入資料。

(2) 如果輸入條件規定了值的個數,則用最大個數、最小個數、比最大個數多1、比最小個數少1的數作為測試資料。

(3) 根據需求規格說明的每個輸出條件,使用前面的原則(1)。

(4) 根據需求規格說明的每個輸出條件,使用前面的原則(2)。

(5) 如果程式的需求規格說明給出的輸入域或輸出域是有序集合(如有序表、順序檔案等),則應選取集合的第乙個元素和最後乙個元素作為測試用例。

(6) 如果程式中使用了乙個內部資料結構,則應當選擇這個內部資料結構的邊界上的值作為測試用例。

(7) 分析需求規格說明,找出其他可能的邊界條件。

(1) 同樣以檔名長度是1~255個字元為例。可能的邊界有:1個字元和255個字元作為合法區間;254個字元作為合法測試;0個字元和256個字元作為非法區間。

(2) 以程式讀寫軟盤為例。根據邊界值分析,可嘗試儲存乙個尺寸極小、甚至只有一項的檔案;然後儲存乙個很大的——剛好在軟盤容量限制之內的檔案;還要嘗試儲存空檔案和尺寸大於軟盤容量的檔案。

錯誤推測法,依靠經驗和直覺推測程式中可能存在的各種錯誤,從而有針對性的編寫檢查這些錯誤的例子。

列舉出程式中所有可能有的錯誤和容易發生錯誤的特殊情況,根據它們選擇測試用例。

因果圖,適合於描述對於多種條件的組合,相應產生多個動作的形式。

是幫助人們系統地選擇一組高效測試情況的方法。此外,它還能指出程式規範中的不完全性和二義性。

設計步驟:

(1) 分析軟體規格說明描述中,哪些是原因(即輸入條件或輸入條件的等價類),哪些是結果(即輸出條件),並給每個原因和結果賦予乙個識別符號。

(2) 分析軟體規格說明描述中的語義,找出原因與結果之間,原因與原因之間對應的關係。根據這些關係,畫出因果圖。

(3) 由於語法或環境的限制,有些原因與原因之間,原因與結果之間的組合情況不可能出現。為標明這些特殊情況,在因果圖上用一些記號標明約束或限制條件。

(4) 把因果圖轉換成判定表。

(5) 把判定表的每一列拿出來作為依據,設計測試用例。

注:根據目前測試組的實際情況,因果圖的實用性並不強,故此只是大致說明其設計步驟,不舉例說明其具體使用。

白盒測試方法與測試情況對程式邏輯(源程式)覆蓋程度有關,根據覆蓋程度的不同,白盒測試方法分別分為語句覆蓋、判定覆蓋(分支覆蓋)、條件覆蓋、判定/條件覆蓋和多重條件覆蓋5種,覆蓋程度依次加強。

語句覆蓋,完全不考慮路徑測試只是要求程式中每一條語句至少執行一次。

(1) 語句覆蓋是一種有用的覆蓋準則,但並不是乙個充分的準則;

如圖1中,可以編寫通過路徑ace的單個測試情況來執行每條語句,如在a點設定 a=2, b=0, x=3;所有的語句都會執行一次。但是對於合理的白盒測試是不夠的,如果第乙個判定不是and而是or,這樣的測試設計就檢測不出來。

(2) 根據每一條語句是否執行來設計測試用例保證語句覆蓋,並不是乙個可行的方法。

(3) 所以語句覆蓋只是作為評價測試用例效率的一種最低評價準則,而不是一種切實可行的邏輯測試方法。

判定覆蓋,要求編寫足夠的測試情況使得每乙個判定至少有一次「真」和一次「假」的情況。判定覆蓋的另一種說法是分支覆蓋,要求測試情況滿足每乙個分支方向至少經過一次。

(1) 通常情況下判定覆蓋可以滿足語句覆蓋的標準。因為每個語句都是來自轉移語句的某條子路徑或是來自程式入口的子路徑,所以執行了每個分支方向,也就執行了每個語句。

(2) 但是有一些例外情況不能滿足語句覆蓋的標準:

a) 程式沒有判定語句。

b) 程式具有多重入口,這是只是當程式從乙個特殊的入口進入時,才能執行一條特定的語句。

軟體測試方法

目錄1測試分類 2本地化測試3白盒測試 4黑盒測試 5自動化 6靜態測試 7動態測試 8單元測試 9整合測試 10系統測試 11端到端 12解除安裝測試 13驗收測試 14效能測試 15安全測試 16相容性 17可用性 18比較測試 19可接受性 20邊界條件 21強力測試 22裝配安裝 23隱藏資...

軟體測試方法複習大綱

第一章 引論 了解 1.2 為什麼要進行軟體測試 1.3 什麼是軟體測試 1.4 軟體測試和軟體開發的關係 第二章 軟體測試的基本概念 了解 2.1.5 修復軟體缺陷的代價 掌握 2.3 軟體測試的分類 2.5 軟體測試的工作範疇 第三章 軟體測試方法 理解 白盒測試的概念 黒盒測試的概念 掌握 白...

軟體測試總結

軟體學院 測試總結報告 版本歷史 目錄1引言 3 1.1 編寫目的 3 1.2 目標讀者 3 1.3 參考資料 3 2測試概要 3 2.1 測試環境 3 2.2 測試執行 3 2.3 測試消耗 3 3測試結果 3 3.1 bug分布圖 3 3.2 bug嚴重程度 3 4測試分析 3 4.1 典型缺陷...