問題衍生:測試組同事工作中發(fā)現(xiàn),測試用例總是寫不全面.在測試中功能與需求不一致,功能分支未考慮到.如何全面設計測試用例?
分析問題:是什么造成了用例不全面
需求變更
對需求理解偏差
需求不清晰
對功能,業(yè)務不了解
測試設計理論缺少
'好的'測試用例具備的特性
1. 整體完備性:“好的”測試用例一定是一個完備的整體礼患,是有效測試用例組成的集合防泵,能夠完全覆蓋測試需求。
2. 等價類劃分的準確性:指的是對于每個等價類都能保證只要其中一個輸入測試通過秽澳,其他輸入也一定測試通過上煤。
3. 等價類集合的完備性:需要保證所有可能的邊界值和邊界條件都已經(jīng)正確識別。
是不是有點概念性了.那我們從另一方面在來拆分一下
1.第一層,表單測試為最底層(最基礎(chǔ)的).通過頁面從上到下,從左到右,對輸入框,按鈕功能,的最基本測試.這時候考慮的就是特殊字符,超長,空;不提交退出,提交取消,按鈕釋放.這層測試對新項目,新功能很重要,必須執(zhí)行.當項目進入維護階段,這些case的優(yōu)先級就置為低.時間不充裕就可以不去執(zhí)行了.
2.第二層,邏輯判斷層毁渗。根據(jù)需求的設計,各功能之間的簡單邏輯聯(lián)系单刁。以登錄,賬號和密碼必須對應才能登錄,否則登錄失敗,那我們從這個邏輯判斷來設計case:賬號為空;密碼為空;賬號密碼不一致;賬號密碼一致,這里其實就是等價類了.那這類case的話,也是最常規(guī)部分,有相關(guān)聯(lián)功能修改了,就需要執(zhí)行.
3.第三層,業(yè)務流程層. 這部分不關(guān)心軟件的本身的基本功能羔飞,而是關(guān)心這個軟件的業(yè)務有沒有實現(xiàn)肺樟,不同的需求就有不同的業(yè)務需求. 還是登錄,需求為,停用的賬戶,不能登錄系統(tǒng).那這層的case就可以設計為:停用賬號是否能登錄?超級管理員是否能停用?停用后是否可以啟用?刪除后是否能登錄? 這里的需求可能就會是一句話,那這些用例就需要我們在需求評審的時候就去發(fā)散思考.
這3層組合起來才能逐步形成完整的測試用例,這里還有沒列舉到的 比如 數(shù)據(jù)庫的數(shù)據(jù)校驗,接口傳輸數(shù)據(jù)校驗.
那我們聽完了這些理論,試試看用到實戰(zhàn)當中吧
實戰(zhàn)
1.城市電話號碼由三部分組成。它們的名稱和內(nèi)容分別是:地區(qū)碼:空白或三位數(shù)字逻淌;前綴:首位非‘0’或‘1’的三位數(shù)字么伯;后綴:4位數(shù)字。
假定被測程序能接受一切符合上述規(guī)定的電話號碼卡儒,拒絕所有不符合規(guī)定的電話號碼田柔。根據(jù)該程序的規(guī)格說明,作等價類的劃分骨望,并設計測試方案硬爆。能有幾條測試用例?
A:5? ? ? ? ? ? ? ? ? ? ? ? ? ?B:13? ? ? ? ? ? ? ? ? ? ? ? ? ? C:8? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? D:15
2.、交通一卡通自動充值軟件系統(tǒng)需求系統(tǒng)只接收50元或100元紙幣擎鸠,一次充值只能使用一張紙幣缀磕,一次充值金額只能為50元或100元。用因果圖的設計方式,能有幾條測試用例
A:4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? B:5? ? ? ? ????????????? ? ? C:6? ? ????????????????????????? ? ? ? D:7
答案:
1.B:13
分析 有效等價類? ?,無效等價類
2.C:6