軟體測試用例設計方法

2021-05-23 01:08:42 字數 2822 閱讀 6211

1.概述

grenford j. myers在《the art of software testing》一書中提出:乙個好的測試用例是指很可能找到迄今為止尚未發現的錯誤的測試,由此可見測試用例設計工作在整個測試過程中的地位,我們不能只憑藉一些主觀或直觀的想法來設計測試用例,應該要以一些比較成熟的測試用例設計方法為指導,再加上設計人員個人的經驗積累來設計測試用例,二者相結合應該是非常完美的組合。本文所介紹的測試用例設計方法對於測試設計人員將是乙個很好的方法指導,當然看完本文也未必能設計出好的測試用例,有了好的方法作為指導後需要更多的實踐經驗加以鞏固和提煉。只有將測試設計思想與豐富的實踐經驗相融合才能設計出高質量的測試用例,相信你行!

本文描述的範圍:測試用例基本概念、測試用例設計方法、測試用例設計綜合策略。

2.測試用例基本概念

2.1.測試用例的定義

測試用例是為特定的目的而設計的一組測試輸入、執行條件和預期的結果。測試用例是執行的最小實體。簡單地說,測試用例就是設計乙個場景,使軟體程式在這種場景下,必須能夠正常執行並且達到程式所設計的執行結果。

2.2.測試用例的特徵

1.最有可能抓住錯誤的;

2.不是重複的、多餘的;

3.一組相似測試用例中最有效的;

4.既不是太簡單,也不是太複雜。

2.3.測試用例組成元素

1.用例id; 2.用例名稱; 3.測試目的; 4.測試級別; 5.參考資訊; 6.測試環境; 7.前提條件; 8.測試步驟; 9.預期結果; 10.設計人員。

2.4.測試用例設計原則

1.測試用例的代表性:能夠代表並覆蓋各種合理的和不合理的、合法的和非法的、邊界的和越界的以及極限的輸入資料、操作和環境設定等。

2.測試結果的可判定性:即測試執行結果的正確性是可判定的,每乙個測試用例都應有相應的期望結果。

3.測試結果的可再現性:即對同樣的測試用例,系統的執行結果應當是相同的。

2.5.測試用例設計方法

2.5.1、等價類劃分方法

等價列劃分設計方法是把所有可能的輸入資料劃分成若干部分(子集),然後從每乙個子集中選取少量具有代表性的資料作為測試用例,測試某等價類的代表值就等於對這一類其他值的測試。

2.5.2、邊界值分析方法

邊界條件指的是輸入和輸入等價類中剛好處於邊界、或超過邊界或小於邊界的狀態,使用邊界值分析方法設計測試用例應先確定邊界情況,然後選取正好等於、剛剛大於或剛剛小於邊界的值作為測試資料。

2.5.3、錯誤推測方法

錯誤推測法就是根據經驗和直覺推測程式中所有可能存在的各種錯誤,從而有針對性地設計測試用例的方法。

2.5.4、因果圖方法

前面介紹的等價類劃分方法和邊界值分析方法,都是著重考慮輸入條件,但未考慮輸入條件之間的聯絡, 相互組合等. 考慮輸入條件之間的相互組合,可能會產生一些新的情況. 但要檢查輸入條件的組合不是一件容易的事情, 即使把所有輸入條件劃分成等價類,他們之間的組合情況也相當多. 因此必須考慮採用一種適合於描述對於多種條件的組合,相應產生多個動作的形式來考慮設計測試用例. 這就需要利用因果圖(邏輯模型).

2.5.5、判定表法(判定表驅動分析方法)

(decision table)是分析和表達多邏輯條件下執行不同操作的情況下的工具.在程式設計發展的初期,判定表就已被當作編寫程式的輔助工具了.由於它可以把複雜的邏輯關係和多種條件組合的情況表達得既具體又明確. 

因果圖方法最終生成的就是判定表

2.5.6、正交實驗設計方法

利用因果圖來設計測試用例時, 作為輸入條件的原因與輸出結果之間的因果關係,有時很難從軟體需求規格說明中得到。往往因果關係非常龐大,以至於據此因果圖而得到的測試用例數目多的驚人,給軟體測試帶來沉重的負擔,為了有效地,合理地減少測試的工時與費用,可利用正交實驗設計方法進行測試用例的設計。

正交實驗設計方法:從大量的測試資料中挑選出適量的、有代表性的測試資料,依據伽羅瓦(galois)理論匯出的「正交表」,從而合理地安排測試的一種科學實驗設計方法.

2.5.7、功能圖分析方法

乙個程式的功能說明通常由動態說明和靜態說明組成.動態說明描述了輸入資料的次序或轉移的次序.靜態說明描述了輸入條件與輸出條件之間的對應關係.對於較複雜的程式,由於存在大量的組合情況,因此,僅用靜態說明組成的規格說明對於測試來說往往是不夠的.必須用動態說明來補充功能說明.功能圖方法是用功能圖fd形式化地表示程式的功能說明,並機械地生成功能圖的測試用例. 功能圖模型由狀態遷移圖和邏輯功能模型構成.狀態遷移圖用於表示輸入資料序列以及相應的輸出資料.在狀態遷移圖中,由輸入資料和當前狀態決定輸出資料和後續狀態.邏輯功能模型用於表示在狀態中輸入條件和輸出條件之間的對應關係.邏輯功能模型只適合於描述靜態說明,輸出資料僅由輸入資料決定.測試用例則是由測試中經過的一系列狀態和在每個狀態中必須依靠輸入/輸出資料滿足的一對條件組成.功能圖方法其實是是一種黑盒白盒混合用例設計方法。

2.5.8、場景設計方法

現在的軟體幾乎都是用事件觸發來控制流程的,事件觸發時的情景便形成了場景,而同一事件不同的觸發順序和處理結果就形成事件流。這種在軟體設計方面的思想也可以引入到軟體測試中,可以比較生動地描繪出事件觸發時的情景,有利於測試設計者設計測試用例,同時使測試用例更容易理解和執行。

2.5.9、綜合策略

myers提出了使用各種測試方法的綜合策略:

1)在任何情況下都必須使用邊界值分析方法,經驗表明用這種方法設計出測試用例發現程式錯誤的能力最強。

2)必要時用等價類劃分方法補充一些測試用例。

3)用錯誤推測法再追加一些測試用例。

4)對照程式邏輯,檢查已設計出的測試用例的邏輯覆蓋程度,如果沒有達到要求的覆蓋標準,應當再補充足夠的測試用例。

5)如果程式的功能說明中含有輸入條件的組合情況,則一開始就可選用因果圖法。

上文**: http://student.csdn.net/space.php?uid=43824&do=blog&id=16326

軟體測試用例設計方法

一 測試過程中遇到的問題 1.不知道是否較全面的測試了所有內容 2.測試的覆蓋率無法衡量 3.對新版本的重複測試很難實施 4.存在大量冗餘測試影響測試效率。二 等價劃分 分析問題 1.等價類劃分概念 2.等價類 是指某個輸入域的子集合。在該子集合中,各個輸入資料對於揭露程式中 的錯誤都是等效的 3....

軟體測試用例設計方法

1.等價類劃分法 等價類是指某個輸入域的子集合,該子集合中對於揭示程式錯誤是等效的。某個等價類的代表值與該等價類的其他值對於測試來說是等價的 因此可以把全部的輸入資料劃分成若干的等價類,在每乙個等價類中取乙個資料來測試,這樣就能以較少的具有代表性的資料進行測試 有效等價類 是指對於程式的規格說明來說...

軟體測試實戰 測試用例設計方法

測試需求 開發需求dr 協議標準需求pr 使用者需求ur 案例庫需求lr 競爭需求cr 繼承需求sr 2.測試項分析步驟 3.測試分析方法 a.質量模型分析法 功能測試項 效率測試項 可靠性 易用性 可維護性 可移植性 b.使用者場景分析法 遊客 普通使用者 vip使用者 管理員使用者等,不同角色許...