黑盒測驗方法:
黑盒測驗也稱為功能測驗和資料驅動測驗,它將被測軟體視為一個無法打開的黑盒,主要根據功能需求設計測驗用例和測驗,把產品軟體想象成一個只有出口和入口的黑盒,在測驗程序中,你只需要知道向黑盒輸入什么,知道黑盒會產生什么結果,
黑盒測驗方法主要有等價類劃分、邊界值分析、因果圖、錯誤推測等,主要用于軟體驗證測驗,“黑盒”法側重于程式的外部結構,不考慮內部邏輯結構,針對測驗軟體界面和軟體功能,“黑盒”方法是詳盡的輸入測驗,只有當所有可能的輸入都用作測驗條件時,才能以這種方式檢測程式中的所有錯誤,事實上,有無數個測驗用例,人們不僅要測驗所有合法的輸入,還要測驗那些非法但可能的輸入,
優點:
- 與軟體具體實作無關
- 測驗用例可以和軟體實作 同時進行
- 基于說明書,知道軟體實作了哪些功能,方便自動化測驗,
缺點:
- 不能覆寫所有的的代碼,覆寫條件
- 自動化測驗的復用性低

等價類劃分法:
等價類劃分法原理:
-
把程式的輸入域劃分成若干部分,然后從每個部分中選取少數代表性資料作為測驗用例
-
每一類的代表性資料在測驗中的作用等價于這一類中的其他值,如果某一類中的一個例子發現了錯誤,這一等價類中的其他例子也能發現同樣的錯誤,
-
反之,如果某一類中的一個例子沒有發現錯誤,則這一類中的其他例子也不會查出錯誤
-
有效等價類:
是指對于程式的規格說明來說是合理的,有意義的輸入資料構成的集合.利用有效等價類可檢驗程式是否實作了規格說明中所規定的功能和性能,《軟體質量與測驗》
即:符合程式要求,合理且有意義
- 無效等價類:
是指對于程式的規格說明來說是不合理的,沒有意義的輸入資料構成的集合.利用無效等價類可檢驗程式是否實作了規格說明中所規定的功能和性能,《軟體質量與測驗》
即:不符合要求,不合理且有意義
等價類劃分法設計步驟
- 確定等價類的原則在輸入條件規定了取值范圍或值的個數的情況下,可以確立一個有效等價類和兩個無效等價類
- 在輸入條件規定了輸入值的集合或者規定了"必須如何"的條件的情況下,可以確立一個有效等價類和一個無效等價類
- 在輸入條件是一個布爾量的情況下,可確定一個有效等價類和一個無效等價類在規定了輸入資料的一組值(假定n個),并且程式要對每一個輸入值分別處理的情況下,可確立n個有效等價類和一個無效等價類
- 在規定了輸入資料必須遵守的規則的情況下,可確立一個有效等價類(符合規則和若干個無效等價類(從不同角度違度規則)
- 在確知己劃分的等價類中,各元素在程式處理中的方式不同的情況下,則應再將該等價類進一步地劃分為更小的等價類



注: 在尋找等價劃分時,考慮吧軟體的中具有的相似輸入、相似輸出、相似操作的分在一起,這寫組就是等價劃分,
如果為了減少測驗用例的數量過度劃分等價類,就有漏掉哪些可能暴露軟體缺陷的測驗風險,
=======================================================================================
邊界值分析法:
邊界值分析是通過選擇等價類邊界的測驗用例,邊界值分析法不僅重視輸入條件邊界,而且也必須考慮輸出域邊界,它是對等價類劃分方法的補充,《軟體質量與測驗》
即:對軟體的輸入或輸出邊界進行測驗 作為等價類劃分法的一種補充測驗

邊界值只是一個特定的資料,
例如,文本框需要輸入6到18位字符,
邊界值有:
- 6字符
- 18 字符
次邊界,邊界附近的值,按照系統規定的單位或者計算方式,一個資料的差異,
例如,字符就是個,一個字符,沒有半個字符的說法;人民幣金額,最小單位是0.01元(1分), ATM機取款和存款,最小單位就是100元,只能是100元的整數倍
## 邊界值的選擇原則:
- 如果輸入條件規定了值的范圍,則應取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測驗輸入資料
- 如果輸入條件規定了值的個數,則用最大個數、最小個數、比最小個數少1、比最大個數多1的數作為測驗資料
- 根據規格說明的每個輸出條件,使用前面的原則①
- 根據規格說明的每個輸出條件,應用前面的原則②
- 如果程式的規格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最后一個元素作為測驗用例
- 如果程式中使用了一個內部資料結構,則應當選擇這個內部資料結構邊界上的值作為測驗用例,
=======================================================================================
因果圖法:
- 是一種適合于描述對于多種輸入條件組合的測驗方法
- 根據輸入條件的組合、約束關系和輸出條件的因果關系,分析輸入條件的各種組合情況,從而設計測驗用例的方法
- 它適合于檢查程式輸入條件涉及的各種組合情況,




3、結果之間的約束,假如結果成立用1表示,不成立用0表示,
屏蔽,結果之間會出現A結果出現, B結果一定不出現,當你收到注冊成功的提示,就"一定不會收到資料填寫錯誤的提示
=======================================================================================
決策表法:(判定表法)
是分析和表達多邏輯條件下執行不同操作的情況的工具,它由以下幾個內容組成:
- 條件樁(Condition Stub) :列出了問題得所有條件,通常認為列出的條件的次序無關緊要,
- 動作樁(Action Stub) :列出了問題規定可能采取的操作,這些操作的排列順序沒有約束,
- 條件項(Condition Entry) :列出針對它左列條件的取值,在所有可能情況下的真偽值,
- 動作項(Action Entry) :列出在條件項的各種取值情況下應該采取的動作,

- 應用場合:主要適用于多條件的內容組合與結果分析,
- 組成:由條件項、動作項、條件樁、動作樁四部分組成
- 使用的條件:所有的條件樁在表中的位置和順序互相不影響;所有的動作樁的順序不會因為備件順序的專化而產生不同,





=======================================================================================
正交試驗設計法:


基本思想:
- 在一項試驗中,把影響試驗結果的量稱為試驗因素(因子),簡稱因素,在試驗程序中,每一個因素可以處于不同的狀態或狀況,把因素所處的狀態或狀況,稱為因素的水平,簡稱水平,
- 每列中不同數字出現的次數相等,這一特點表明每個因素的每個水平與其它因素的每個水平參與試驗的幾率是完全相同的,能有效地比較試驗結果并找出最優的試驗條件,
- 在任意2列其橫向組成的數字對中,每種數字對出現的次數相等,這個特點保證了試驗點均勻地分散在因素與水平的完全組合之中,
實施步驟:
- 分析所有對結果有影響的因素,從多個角度和方式進行分析(不更放過文本框、按鈕等需求中提及或者沒有提及)
- 分析每個因素的水平數量,充分利用等價類、邊界值(需求中說明和未說明的都要分析)
- 選擇正交表,只有特定的因素數和水平數的組合才有對應的正交表,所以在現實中用到的時候,找最貼近的正交表(正交表的因素數和水平數一般要大于實際的因素數和水平數,

=======================================================================================
錯誤推測法:
錯誤推測法是基于經驗和直覺推測程式中所有可能存在的各種錯誤,從而有針對性的設計測驗用例的方法,
錯誤推測方法的基本思想: 列舉出程式中所有可能有的錯誤和容易發生錯誤的特殊情況,根據他們選擇測驗用例,
例如,在單元測驗時曾列出的許多在模塊中常見的錯誤,以前產品測驗中曾經發現的錯誤等,這些就是經驗的總結,還有,輸入資料和輸出資料為0的情況,
輸入表格為空格或輸入表格只有一行. 這些都是容易發生錯誤的情況,可選擇這些情況下的例子作為測驗用例,
=======================================================================================
功能分解法:(又叫做狀態遷徙圖)
- 來源:在遇到有事務流或由于某種條件成立導致狀態改變的軟體時,如何進行測驗用例的設計就比較麻煩,
- 狀態遷徙圖法的目標
設計足夠多的測驗用例達到對系統狀態的覆寫、狀態條件組合的覆寫以及狀態遷移路徑的覆寫 - 以作業系統的行程調度演算法為例
·功能圖法步驟
- 列出所有可能的輸入事件,以ip N的方式命名(N為1, 2, 3, 4…)
- 把軟體的打開的初始狀態,定義為"空閑"狀態
- 在“空閑”狀態上加所有可能的輸入(只加一次!)
- 為上一步產生的所有新狀態,分別加所有可能的輸入(只加一次!)
- 回圈執行上一步直到再沒有任何新狀態產生,列出所有的狀態,生成狀態表
- 組合任意可能的狀態組合,寫出相應的測驗用例.
=======================================================================================
場景法:
現在的軟體幾乎都是用事件觸發來控制流程的,測驗時,可以生動地描繪出事件觸發時的情景,有利于設計測驗用例,同時使測驗用例更容易理解和執行,
- 基本流:軟體功能按照正確的事件流實作的一條正確流程,通常一個業務僅存在一個基本流,且基本流僅有一個起點和一個終點
- 備選流:除了基本流之外的各支流,包含多種不同的情況,





轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/296553.html
標籤:其他
上一篇:通俗易懂玩QT:libstdc++-6.dll、libgcc_s_dw2-1.dll、libwinpthread-1.dll等檔案缺失解決方案
