測試用例設(shè)計
測試用例的基本概念
測試用例是測試執(zhí)行的最小實體,是為特定的目的而設(shè)計的一組測試輸入、執(zhí)行條件和預(yù)期的結(jié)果妄迁。
- 測試用例的作用
(1)有效性:測試用例可以有效地節(jié)省時間和資源滓走、提高測試效率。
(2) 避免測試的盲目性
(3) 可維護(hù)性:在軟件版本更新后只需修正少部分的測試用例便可開展測試工作姑躲,降低工作強(qiáng)度,縮短項目周期盟蚣。
(4)可復(fù)用性:良好的測試用例具有重復(fù)使用的性能肋联,使得測試過程事半功倍,并隨著測試用例的不斷精化刁俭,使得測試效率也不斷提高橄仍。
(5)可評估性:測試用例的通過率是檢驗程序代碼質(zhì)量的標(biāo)準(zhǔn)。
(6)可管理性:測試用例是測試人員在測試過程中的重要參考依據(jù)牍戚,也可以作為檢驗測試進(jìn)度侮繁、測試工作量以及測試人員工作效率的參考因素,可便于對測試工作進(jìn)行有效的管理如孝。
測試用例的設(shè)計
- 測試設(shè)計說明
測試設(shè)計說明書宪哩,定義軟件具體的測試方法,包括被測特性第晰、測試所用的方法锁孟、測試準(zhǔn)則等。測試設(shè)計說明的目的是組織和描述針對具體特性需要進(jìn)行的測試茁瘦,但并不給出具體的測試用例或者執(zhí)行測試的步驟品抽。
測試設(shè)計說明內(nèi)容:(1) 標(biāo)識符:用于引用和定位測試設(shè)計說明的唯一標(biāo)識符。該說明應(yīng)該引用整個測試計劃甜熔,還應(yīng)該包含任何其他計劃或者說明的引用圆恤。(2)被測試的特性:指明所有要被測試的軟件特性及其組合,指明與每個特性或特性組合有關(guān)的測試設(shè)計說明腔稀。(3) 方法:描述測試的總體方法盆昙,規(guī)定測試指定特性組所需的主要活動、技術(shù)和工具焊虏。如果方法在測試計劃中列出淡喜,就應(yīng)該在此詳細(xì)描述要使用的技術(shù),并給出如何驗證測試結(jié)果的方法诵闭。(4)測試用例信息:在這部分不定義實際測試用例炼团,主要用于描述測試用例的相關(guān)信息。(5)通過/失敗規(guī)則:規(guī)定各測試項通過測試的標(biāo)準(zhǔn),即描述用來判定某項特性的測試結(jié)果是通過還是失敗的準(zhǔn)則们镜。 - 測試用例的編寫標(biāo)準(zhǔn)
試用例應(yīng)該包含以下要素:
(1)用例的編號(ID):由測試引用的唯一標(biāo)識符。
(2)測試標(biāo)題:對測試用例的描述润歉,測試用例標(biāo)題應(yīng)該清楚表達(dá)測試用例的用途模狭。
(3)測試項:測試用例應(yīng)該準(zhǔn)確、具體地描述所測試項及其詳細(xì)特征踩衩,應(yīng)該比測試設(shè)計說明中所列的特性更加具體嚼鹉。
(4)測試環(huán)境要求:該測試用例執(zhí)行所需的外部條件,包括軟驱富、硬件具體指標(biāo)以及測試工具等锚赤。
(5) 特殊要求:對環(huán)境的特殊需求,如所需的特殊設(shè)備褐鸥、特殊設(shè)置(例如對防火墻設(shè)置有特殊要求)等线脚。
(6) 測試技術(shù):對測試所采用的測試技術(shù)和方法的描述和說明。
(7) 測試輸入說明:提供測試執(zhí)行中的各種輸入條件叫榕。
(8)操作步驟:提供測試執(zhí)行過程的步驟浑侥。對于復(fù)雜的測試用例,測試用例的輸入需要分為幾個步驟完成晰绎,這部分內(nèi)容在操作步驟中詳細(xì)列出寓落。
(9) 預(yù)期結(jié)果:提供測試執(zhí)行的預(yù)期結(jié)果,預(yù)期結(jié)果應(yīng)該根據(jù)軟件需求中的輸出得到荞下。
(10) 測試用例之間的關(guān)聯(lián):用來標(biāo)識該測試用例與其他測試用例之間的依賴關(guān)系伶选。
(11)測試用例設(shè)計人員和測試人員。
(12)測試日期尖昏。 - 測試用例設(shè)計的基本原則
(1)用成熟測試用例設(shè)計方法來指導(dǎo)設(shè)計
(2)測試用例的正確性:包括數(shù)據(jù)的正確性和操作的正確性仰税。
(3) 測試用例的代表性:能夠代表并覆蓋各種合理的和不合理的、合法的和非法的抽诉、邊界的和越界的數(shù)據(jù)以及極限的輸入數(shù)據(jù)肖卧、操作和環(huán)境設(shè)置等。
(4) 測試結(jié)果的可判定性:即測試執(zhí)行結(jié)果的正確性是可判定的掸鹅。
(5)測試結(jié)果的可再現(xiàn)性:即對同樣的測試用例塞帐,系統(tǒng)的執(zhí)行結(jié)果應(yīng)當(dāng)是相同的。
(6) 足夠詳細(xì)巍沙、準(zhǔn)確和清晰的步驟葵姥。 - 測試用例的分類
(1)白盒測試用例:白盒測試用例主要有邏輯覆蓋法和基本路徑測試法設(shè)計的測試用例,設(shè)計的基本思路是使用程序設(shè)計的控制結(jié)構(gòu)導(dǎo)出測試用例句携。
(2)軟件各項功能的測試用例:例如榔幸,文字編輯器中的新建文檔功能、打開文檔功能、保存文檔功能削咆、打印功能牍疏、編輯功能等。功能測試用例的設(shè)計一般采用等價類劃分法拨齐、邊界值分析法鳞陨、錯誤推測法、因果圖法等設(shè)計測試用例瞻惋,這些都屬于黑盒測試用例設(shè)計技術(shù)厦滤。
(3)用戶界面測試用例:例如,用戶界面窗口里的所有菜單歼狼、每個命令按鈕掏导、每個輸入框、列表框羽峰、每個工具欄趟咆、狀態(tài)欄的測試用例等。
(4)軟件的各項非功能測試用例:這里又可以分成許多類型梅屉,包括性能測試用例忍啸、強(qiáng)度測試用例、接口測試用例履植、兼容性測試用例计雌、可靠性測試用例、安全測試用例玫霎、安裝/反安裝測試用例凿滤、容量測試用例、故障修復(fù)測試用例等庶近。
(5)對軟件缺陷修正所確認(rèn)的測試用例翁脆。 - 測試用例管理
測試用例的管理包括以下階段:編寫用例、用例評審鼻种、用例修改反番、用例執(zhí)行、用例升級/維護(hù)叉钥。