是把所有可能的輸入資料
,即程式的輸入域劃分成若干部分(子集)
,然後從每乙個子集中選取少數具有代表性的資料作為測試用例
a.有效等價類
是指對於程式的規格說明來說是合理的、有意義的輸入資料構成的集合。利用有效等價類可檢驗程式是否實現了規格說明中所規定的功能和效能。
b.無效等價類
與有效等價類的定義恰巧相反。無效等價類指對程式的規格說明是不合理的或無意義的輸入資料所構成的集合。對於具體的問題,無效等價類至少應有乙個,也可能有多個。
(【參考】等價類劃分法)
1)在輸入條件規定了取值範圍或值的個數的情況下,則可以確立乙個有效等價類和兩個無效等價類。如:輸入值是學生成績,範圍是0~100;
2)在輸入條件規定了輸入值的集合或者規定了"必須如何"的條件的情況下,可確立乙個有效等價類和乙個無效等價類;
3)在輸入條件是乙個布林量的情況下,可確定乙個有效等價類和乙個無效等價類。
4)在規定了輸入資料的一組值(假定n個),並且程式要對每乙個輸入值分別處理的情況下,可確立n個有效等價類和乙個無效等價類。
例:輸入條件說明學歷可為:專科、本科、碩士、博士四種之一,則分別取這四種這四個值作為四個有效等價類,另外把四種學歷之外的任何學歷作為無效等價類。
5)在規定了輸入資料必須遵守的規則的情況下,可確立乙個有效等價類(符合規則)和若干個無效等價類(從不同角度違反規則);
6)在確知已劃分的等價類中各元素在程式處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類。
在確立了等價類後
,可建立等價類表
,列出所有劃分出的等價類輸入條件:有效等價類、無效等價類,然後從劃分出的等價類中按以下三個原則設計測試用例:
1)為每乙個等價類規定乙個唯一的編號;
2)設計乙個新的測試用例
,使其盡可能多地覆蓋尚未被覆蓋地有效等價類
,重複這一步,直到所有的有效等價類都被覆蓋為止;
3)設計乙個新的測試用例
,使其僅覆蓋乙個尚未被覆蓋的無效等價類
,重複這一步,直到所有的無效等價類都被覆蓋為止。
【實戰】黑盒測試方法舉例——等價劃分
(1)定義:邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法
(2)與等價劃分的區別
1)邊界值分析不是從某等價類中隨便挑乙個作為代表,而是使這個等價類的每個邊界都要作為測試條件。
2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。
【注】應當選取正好等於,剛剛大於或剛剛小於邊界的值作為測試資料,而不是選取等價類中的典型值或任意值作為測試資料。
(3)常見的邊界值 1)
對16-bit
的整數而言
32767
和-32768
是邊界2)
螢幕上游標在最左上、最右下位置
3)報表的第一行和最後一行
4)陣列元素的第乙個和最後乙個
5)迴圈的第
0 次、第
1 次和倒數第
2 次、最後一次
(4)基於邊界值分析方法選擇測試用例的原則
1)如果輸入條件規定了值的範圍
,則應取剛達到這個範圍的邊界的值
,以及剛剛超越這個範圍邊界的值作為測試輸入資料。
例如,如果程式的規格說明中規定:
"重量在
10公斤至
50公斤範圍內的郵件,其郵費計算公式為
……"。作為測試用例,我們應取10及
50,還應取
10.01,49.99,9.99
及50.01
等。2)
如果輸入條件規定了值的個數
,則用最大個數
,最小個數
,比最小個數少一
,比最大個數多一的數作為測試資料。
比如,乙個輸入檔案應包括
1~255
個記錄,則測試用例可取1和
255,還應取0及
256等。
3)將規則1)和
2)應用於輸出條件,即設計測試用例使輸出值達到邊界值及其左右的值。
例如,某程式的規格說明要求計算出
"每月保險金扣除額為0至
1165.25元"
,其測試用例可取
0.00
及1165.24
、還可取一
0.01
及1165.26
等。再如一程式屬於情報檢索系統,要求每次
"最少顯示
1條、最多顯示
4條情報摘要
",這時我們應考慮的測試用例包括1和
4,還應包括0和
5等。4)如果程式的規格說明給出的輸入域或輸出域是有序集合
,則應選取集合的第乙個元素和最後乙個元素作為測試用例。
5)如果程式中使用了乙個內部資料結構
,則應當選擇這個內部資料結構的邊界上的值作為測試用例。
6)分析規格說明
,找出其它可能的邊界條件。
【實戰】邊界值分析
基於經驗和直覺推測程式中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法。
分析程式中最易出錯的場景和情況,在此基礎上有針對性的設計測試用例。需要完成的前提條件如下:
a、深度熟悉被測系統的業務、需求。
b、對被測系統或類似系統之前的缺陷分布情況進行過系統的分析。包括功能缺陷,資料缺陷,介面缺陷和介面缺陷等等。
優點:充分發揮個人的經驗和潛能,命中率高
缺點:覆蓋率難以保證;過多的依賴於個人的經驗
【舉例】錯誤推測法舉例
(【參考】因果圖方法)
(1)定義:是一種利用**法分析輸入的各種組合情況,從而設計測試用例的方法,它適合於檢查程式輸入條件的各種組合情況。
(2)因果圖法產生的背景:
輸入條件的組合情況(容易被忽略)、組合數目很大、尋找合適的方法描述組合(邏輯模型)。
(3).因果圖介紹 1)
4種符號分別表示了規格說明中向4種因果關係。
2)因果圖中使用了簡單的邏輯符號,以直線聯接左右結點。左結點表示輸入狀態(或稱原因),右結點表示輸出狀態(或稱結果)。
3)ci表示原因,通常置於圖的左部;ei表示結果,通常在圖的右部。ci和ei均可取值0或1,0表示某狀態不出現,1表示某狀態出現。
4.因果圖概念
1)關係
①恒等:若c1是1,則e1也是1;否則e1為0。
②非:若c1是1,則e1是0;否則e1是1。
③或:若c1或c2或c3是1,則e1是1;否則e1為0。「或」可有任意個輸入。
④與:若c1和c2都是1,則e1為1;否則e1為0。「與」也可有任意個輸入。
2)約束
輸入狀態相互之間還可能存在某些依賴關係,稱為約束。例如, 某些輸入條件本身不可能同時出現。輸出狀態之間也往往存在約束。在因果圖中,用特定的符號標明這些約束。
a.輸入條件的約束有以下4類:
① e約束(異):a和b中至多有乙個可能為1,即a和b不能同時為1。
② i約束(或):a、b和c中至少有乙個必須是1,即 a、b 和c不能同時為0。
③ o約束(唯一);a和b必須有乙個,且僅有1個為1。
④r約束(要求):a是1時,b必須是1,即不可能a是1時b是0。
b.輸出條件約束型別
輸出條件的約束只有m約束(強制):若結果a是1,則結果b強制為0。
5.採用因果圖法設計測試用例的步驟:
1)分析軟體規格說明描述中, 那些是原因(即輸入條件或輸入條件的等價類),那些是結果(即輸出條件), 並給每個原因和結果賦予乙個識別符號。
2)分析軟體規格說明描述中的語義,找出原因與結果之間, 原因與原因之間對應的關係,根據這些關係,畫出因果圖。
3)由於語法或環境限制, 有些原因與原因之間,原因與結果之間的組合情況不可能出現,為表明這些特殊情況, 在因果圖上用一些記號表明約束或限制條件。
4)把因果圖轉換為判定表。
5)把判定表的每一列拿出來作為依據,設計測試用例。
【實戰】
因果圖法
(註明:參考繼續整理
6、正交試驗設計法
7、功能圖法
8、場景法
測試方法 黑盒 白盒
這個博文是為了複習自己之前學習的內容,所以詳簡不一。一 白盒測試 一般稱為結構測試 1.靜態 檢查法,靜態結構分析法 2.動態 邏輯覆蓋,基本路徑推測法 1 邏輯覆蓋分為六大類 由弱到強排序 語句覆蓋 分支 判定 覆蓋 條件覆蓋 判定 條件覆蓋 條件組合覆蓋 路徑覆蓋 2 基本路徑推測 a.先畫出程...
黑盒測試 白盒測試
黑盒測試 black box testing,又稱為功能測試或資料驅動測試 是把測試物件看作乙個黑盒子。利用黑盒測試法進行動態測試時,需要測試軟體產品的功能,不需測試軟體產品的內部結構和處理過程。黑盒測試注重於測試軟體的功能性需求,也即黑盒測試使軟體工程師派生出執行程式所有功能需求的輸入條件。黑盒測...
軟體測試方法 黑盒測試 白盒測試
一 白盒測試 白盒測試也稱為結構測試,主要用於檢測軟體編碼過程中的錯誤。程式設計師的程式設計經驗 對程式設計軟體的掌握程度 工作狀態等因素都會影響到程式設計質量,導致 錯誤。白盒測試的方法 強度由低到高 語句覆蓋 所有的 語句 都要覆蓋一遍。就是設計若干個測試用例,執行被測程式,使得每乙個執行語句至...