軟體測試 黑盒測試

2021-09-14 07:39:33 字數 3782 閱讀 4644

1.黑盒測試概述

黑盒測試也稱功能測試或資料驅動測試,它是在已知產品所應具有的功能,通過測試來檢測每個功能是否都能正常使用。在測試時,把程式看作乙個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下,測試者在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入資料而產生正確的輸出資訊,並且保持外部資訊(如資料庫或檔案)的完整性,如圖所示。

黑盒測試主要用於發現以下情況

①是否有不正確或遺漏了的功能

②在介面上,能否正確地接受輸入資料,能否產生正確地輸出資訊

③訪問外部資訊是否有錯

④效能上是否滿足要求

⑤介面是否錯誤,是否不美觀

⑥初始化或終止錯誤

黑盒測試的方法

等價類劃分法

邊界值分析法

判定表方法

因果圖法

場景法正交試驗法

功能圖法

錯誤推測法

1.等價類劃分法

其基本思想是把所有可能的輸入資料,即程式的輸入域劃分成若干部分(子集),然後從每乙個子集中選取少數具有代表性的資料作為測試用例。該方法是一種重要的,常用的黑盒測試用例設計方法。

等價類劃分可有兩種不同的情況:有效等價類和無效等價類。

有效等價類:是有意義的、合理的輸入資料構成的集合。可檢查程式是否實現了規格說明中所規定的功能和效能。

無效等價類:與有效等價類的定義恰巧相反。

設計測試用例時,要同時考慮這兩種等價類。因為軟體不僅要能接收合理的資料,也要能經受意外的考驗。經過正反的測試才能確保軟體具有更高的可靠性。

設計測試用例的步驟:

1)劃分等價類:先考慮資料型別是否合法,再考慮資料範圍即區間是否合法

2)建立等價類表:列出所有等價類,並為每個等價類編號

3)設計測試用例,使其盡可能的覆蓋所有等價類

nexdate的問題

1)題目描述:

nextdate 函式包含三個變數 month、day和year,函式的輸出為輸入日期後一天的日期。例如,輸入為2023年5月16日,則函式的輸出為2023年5月17日。要求輸入變數month、day和year均為整數值,並且滿足下列條件,也就是有效等價類:

1 ≤month≤12 1≤day≤31 1812≤year≤2012

請同學們根據等價類劃分法設計測試用例。

2)題目解答:

2.邊界值分析法

定義:邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。

與等價劃分的區別:1)邊界值分析不是從某等價類中隨便挑乙個作為代表,而是使這個等價類的每個邊界都要作為測試條件。

2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。

設計方法:1)確定邊界情況(輸入或輸出等價類的邊界)

2)選取正好等於、剛剛大於或剛剛小於邊界值作為測試資料

邊界值分析法原則:

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

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

(3)將規則1)和2)應用於輸出條件,即設計測試用例使輸出值達到邊界值及其左右的值。

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

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

(6)分析規格說明,找出其它可能的邊界條件。

3.判定表/決策表方法

乙個判定表由「條件和活動」兩部分組成,也就是列出了乙個測試活動執行所需的條件組合,所有可能的條件組合定義了一系列的選擇,而測試活動需要考慮每乙個選擇。

判定表元素:

⦁ 條件樁:列出問題的所有條件

⦁ 動作樁:列出可能針對問題所採取的操作

⦁ 條件項:針對所列條件的具體賦值

⦁ 動作項:列出在條件項(各種取值)組合情況下應該採取的動作。

⦁ 規則:任何乙個條件組合的特定取值及其相應要執行的操作。

判定表方法步驟

⦁ 列出所有的條件樁和動作樁;

⦁ 填入條件項;

⦁ 填入動作項,制定初始判定表;

⦁ 簡化、合併相似規則或者相同動作

4.因果圖法

多種輸入條件的組合,產生多種結果設計測試用例。

設計方法:

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

2)找出原因與結果,原因與原因之間的對應關係,劃出因果圖

3)在因果圖上標上哪些不可能發生的因果關係,表明約束或限制條件

4)根據因果圖,建立判定表,將複雜的邏輯關係和多種條件組合很具體明確的表示出來

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

針對年薪和非年薪員工的過失補償問題

1)題目描述

某軟體的乙個模組的需求規 格說明書中描述:

(1)年薪制員工:嚴重過失,扣年終風險金的4%;過失,扣年終風險金的2%。

(2)非年薪制員工:嚴重過失,扣當月薪資的8%;過失,扣當月薪資的4%。

請繪製出因果圖和判定表,並給出相應的測試用例。

2)題目解答:

5.場景法

用例場景用來描述流經用例的路徑,從用例開始到結束遍歷這條路徑上所有基本流和備選流。

應用場景法設計測試用例步驟:

1)確定執行用例場景所需的資料元素

2)構造矩陣

⦁ 確定列內容:除了需要包含執行場景所需的資料元素,還需要包含測試用例標識、被測場景標識或名稱

⦁ 確定行內容:

⦁ 根據每一場景,確定與其相關的測試用例輸入項,在設計時,須保證每個場景至少包含 乙個正面測試用例和乙個負面測試用例

⦁ 根據被測場景特徵,補充相應測試用例

加油卡的用例

1.題目描述

使用加油卡在某加油站加油,使用者出示加油卡,插入機器中,及其讀卡資訊,校驗是否在卡片黑名單中。通過校驗使用者輸入加油量,系統校驗加油量是否符合要求,加油完畢,產生卡內金額餘額,退出卡片。要求使用場景法設計測試用例。

2.題目解答

6.功能圖法

⦁ 功能圖法就是為了解決動態說明問題的一種測試用例的設計方法

⦁ 功能圖由狀態遷移圖(state transition diagram,std)和邏輯功能模型(logic function model, lfm)構成

⦁ 狀態遷移圖:用於表示輸入資料序列以及相應的輸出資料,由輸入和當前的狀態決定輸出資料和後續狀態

邏輯功能表:用於表示狀態輸入條件和輸出條件之間的對應關係

小結

軟體測試 黑盒測試

白盒測試計畫書著重測試軟體的源 黑盒技術著重測試軟體功能。因此,設計測試用例時,需要研究需求說明和總體設計說明中的相關程式功能或輸入,輸出之間的關係等資訊,從而與測試後的結果進行分析比較。在實際測試中,常常把黑盒測試常常與白盒測試聯合使用,它是與白盒測試互補的測試方法。它很可能發現白盒測試不易發現的...

軟體測試技術 黑盒測試

黑盒測試就是把測試物件看做乙個不透明的黑盒子,不必了解程式的內部邏輯和結構,只需按照需求規格說明書檢查程式的功能是否符合 黑盒測試主要是為了發現以下幾點錯誤 1 是否有不正確或者遺漏的功能 2 在介面上,輸入能否被正確的接收,是否能輸出正確的結果 3 是否有資料結構錯誤或者外部資訊訪問錯誤 4 效能...

軟體測試之黑盒測試

2 等價類測試 3 因果圖 4 基於決策表的測試 即 功能性測試 邊界值分析 單缺陷假設 通過使所有變數取正常值,只使乙個變數取極值 使用在min min nom max 和max處取輸入變數值 對於乙個n變數函式,邊界值分析會產生4n 1個測試用例 健壯性測試 除了變數的五個邊界值分析取值,還要通...