測試用例的設計方法:沒有哪一種方式是單獨使用的
1)所有的軟體,都是因為某種操作才會導致一定的結果。------考慮使用因果圖
2)所有的軟體都有文字框。---------考慮必須一定使用等價類、邊界值
一、因果圖法
1.什麼是因果圖
適合於描述對多種輸入條件組合的測試方法
根據輸入條件的組合、約束關係和輸出條件的因果關係,分析輸入條件的各種組合情況,從而設計測試用例
檢查程式輸入條件涉及的各種組合情況
1)原因和結果的關係
A、恆定。原因A成立,結果B一定成立B、非。原因A成立時,結果B不一定成立
C、或。原因A、B、C三者只要有一個成立,結果D就一定成立
D、與。原因A、B、C都成立時,結果D才會成立
2)原因之間的約束,假如原因成立用1表示,不成立用0表示。
E、互斥(eciusive)。A、B、C至多有一個成立。A+B+C≤13)結果之間的約束。假如結果成立用1表示,不成立用0表示
2.因果圖使用例項
因果圖使用的侷限性:當原因和結果很多的時候,他們之間的關係連線就會很多,導致因果圖的可讀性變差。因此用作區域性的小功能(原因和結果不是很多的時候)分析。
優點:能夠發現設計中存在的不足。
案例:自動售貨機賣啤酒和橙汁,處理單價5角,投5角硬幣,按下按鈕,出飲料。投1元,按下按鈕,出飲料,找零5角。
7這是一種bug,不能作為測試用例。
經過分析發現
1)只選擇飲料,沒有投幣的時候,軟體沒有任何結果。
2)只投幣,沒有選擇飲料的時候,軟體也沒有任何結果。
3)我們不能把軟體的缺陷設計成測試用例。
二、判定表法
1、什麼是判定表法
分析和表達多邏輯條件下執行不同操作的情況工具。
1)應用場合:主要適用於多條件的內容組合與結果分析。
2)組成:條件樁(列出問題所有條件)、動作樁(列出問題規定可能取的操作)、條件項(對條件樁中的條件的選擇)、動作項(對應動作樁中的操作)四部分組成。
3)使用的條件:所有的條件樁在表中的位置和順序互相不影響。所有的動作樁的順序不會因為條件順序的變化而產生不同。
4)應用的步驟:a.能看出裡面的條件和對應的結果 b.分析條件的條件項(組合的數量);如果有n個條件,每個條件有成立和不成立兩種情況,那麼最後一共會有2的n次方
c.簡化和最佳化結果,排除一些不可能存在的情況。
2、判定表使用例項(1成立,0不成立)
黃色是條件項,綠色是動作項。
將判定表中的每一列(條件項和對應的動作項)作為測試用例的資料和操作以及對應的預期結果。
三、場景法
1、場景法基本原理
來源於軟體的執行過程,軟體執行透過各種各樣的事件和操作進行觸發的場景,完成使用者想使用這個軟體去完成的事情。例如,想給好友發訊息。登入QQ點選好友,給好友發訊息
基本流:軟體功能正確實現的流程。一個業務只有一個基本流。基本流只有一個起點和終點。例如ATM機,第一步插銀行卡,最後取銀行卡
備選流:基本功能之外的過程。例如,ATM機除了取錢這個基本流,還有看餘額,轉賬等。這就是備選流。
備選流2:例如網購備選流1是加入購物車,2想直接付款但是出現其他情況,導致直接退出,不買了。
備選流3:加入購物車後返回繼續瀏覽這個東西
備選流4:想買這個衣服,還在預售,加入購物車就結束了
注意:1)場景中必須有基本流 2)場景中必須有內容從用例的開始,到用例的結束。
基本流:插卡--輸入密碼-----出鈔--取卡
2、場景法設計例項
適用於解決業務流程清晰的系統或功能。