邊界值分析
很簡單,不作解釋。
劃分等價類別
等價類別是指某個輸入欄位的子集合,可以把全部輸入資料合理劃分為若干等價類別,在每一個等價類別中取一個資料作為測試的輸入條件,就可以用少量代表性的測試資料.取得較好的測試結果。
等價類別劃分可有兩種不同的情況:有效等價類別和無效等價類別。
判定表
判定表是一個表格,分為四個部分,其左部是條件或數組元素的名稱,右上部是所有條件的組合,左下部是處理中活動的名稱,右下部標明條件組合和相應的活動的對應關係。
判定表通常有以下四個部分組成:
- 條件樁(Condition Stub):列出了問題得所有條件。通常認為列出的條件的次序無關緊要
- 動作樁(Action Stub):列出了問題規定可能採取的操作。這些操作的排列順序沒有約束
- 條件項(Condition Entry):列出針對它左列條件的取值。在所有可能情況下的真假值
- 動作項(Action Entry):列出在條件項的各種取值情況下應該採取的動作
因果圖法
產生背景:
等價類別劃分法和邊界值分析方法都是著重考慮輸入條件,但沒有考慮輸入條件的各種組合、輸入條件之間的相互制約關係。這樣雖然各種輸入條件可能出錯的情況已經測試到了,但多個輸入條件組合起來可能出錯的情況卻被忽視了
因果圖法設計測試案例步驟:
- 從程式規格說明書的描述中,找出因(輸入條件)和果(輸出結果或者程式狀態的改變)
- 作因果圖
- 把因果圖轉換為判定表
- 為判定表中的每一列設計一個測試案例
通常在因果圖中用Ci表示原因,用Ei表示結果,各結點表示狀態,可取值“0”或“1”。“0”表示某狀態不出現,“1”表示某狀態出現
恒等:若c1是1(0),則e1也為1(0)
非:若c1是1(0),則e1為0(1)
或:c1 c2 c3中只要有一個成立,則e1成立
與:c1和c2同時成立,e1才成立
下面舉個例子來說明因果圖轉判定表的步驟:
例題:
有一個處理單價為1元5角錢的盒裝飲料的自動售貨機軟體。若投入1元5角硬幣,按下“可樂”、“雪碧”、“紅茶”按鈕,相應的飲料就送出來。若投入的是兩元硬幣,在送出飲料的同時退還5角硬幣
分析
原因:① 投入1元5角硬幣; ② 投入2元硬幣;③ 按“可樂”按鈕; ④ 按“雪碧”按鈕; ⑤ 按“紅茶”按鈕。
中間狀態:① 已投幣; ② 已按鈕。
結果:① 退還5角硬幣; ② 送出“可樂”飲料;③ 送出“雪碧”飲料; ④ 送出“紅茶”飲料。
作因果圖
將因果圖轉化為判定表