如何編寫(xiě)有效測(cè)試用例

測(cè)試用例,是一份關(guān)于具體測(cè)試步驟的文檔,它描述了測(cè)試的輸入?yún)?shù)、條件及配置、預(yù)期的輸出結(jié)果等,以判斷被測(cè)軟件的工作是否正常。

設(shè)計(jì)、書(shū)寫(xiě)和執(zhí)行測(cè)試案例是測(cè)試活動(dòng)中重要的組成部分,測(cè)試案例通常由測(cè)試案例管理系統(tǒng)或工具進(jìn)行管理。

一、編寫(xiě)測(cè)試用例的原則

測(cè)試用例的重要性是毋庸置疑的,它是軟件測(cè)試全部過(guò)程的核心,是測(cè)試執(zhí)行環(huán)節(jié)的基本依據(jù)。測(cè)試用例編寫(xiě)應(yīng)該遵循的原則:

  1. 測(cè)試用例要達(dá)到最大覆蓋軟件系統(tǒng)的功能點(diǎn)。

  2. 測(cè)試用例對(duì)測(cè)試功能點(diǎn)、測(cè)試條件、測(cè)試步驟、輸入值和預(yù)期結(jié)果應(yīng)該有準(zhǔn)確的定義。

  3. 測(cè)試用例的設(shè)計(jì)應(yīng)包括各種類(lèi)型的測(cè)試用例。在設(shè)計(jì)測(cè)試用例的時(shí)候,除了滿足系統(tǒng)基本功能需求外,還應(yīng)該考慮各種異常情況、邊界情況和承受壓力的能力等。

  4. 測(cè)試用例的管理。使用測(cè)試用例管理系統(tǒng)對(duì)測(cè)試用例進(jìn)行管理。

特性:

一個(gè)好的測(cè)試用例應(yīng)該具有較高的發(fā)現(xiàn)某個(gè)尚未發(fā)現(xiàn)的錯(cuò)誤的可能性,而一個(gè)成功的測(cè)試案例能夠發(fā)現(xiàn)某個(gè)尚未發(fā)現(xiàn)的錯(cuò)誤,通常一個(gè)好的測(cè)試案例有以下特性:

  1. 具有高的發(fā)現(xiàn)錯(cuò)誤的概率

  2. 沒(méi)有冗余測(cè)試和冗余的步驟

  3. 測(cè)試是 “最佳類(lèi)別”

  4. 既不太簡(jiǎn)單也不太復(fù)雜

  5. 案例是可重用和易于跟蹤的

  6. 確保系統(tǒng)能夠滿足功能需求

測(cè)試用例不可能設(shè)計(jì)得天衣無(wú)縫,也不可能完全滿足軟件需求的覆蓋率,測(cè)試執(zhí)行過(guò)程里肯定會(huì)發(fā)現(xiàn)有些測(cè)試路徑或數(shù)據(jù)在用例里沒(méi)有體現(xiàn),那么事后該將其補(bǔ)充到用例庫(kù)里,以方便他人和后續(xù)版本的測(cè)試。

二、如何編寫(xiě)測(cè)試用例

測(cè)試用例的信息有很多,可以根據(jù)實(shí)際的情況進(jìn)行增刪,一般來(lái)說(shuō)一個(gè)優(yōu)秀的測(cè)試用例應(yīng)該包含以下信息:

1.產(chǎn)品相關(guān)信息

  1. 軟件產(chǎn)品或項(xiàng)目的名稱

  2. 軟件產(chǎn)品或項(xiàng)目的版本

  3. 功能模塊名

  4. 功能描述

  5. 測(cè)試平臺(tái)這些信息建議可以在測(cè)試案例手工選擇。

2.基本記錄信息

  1. 測(cè)試用例入庫(kù)者

  2. 測(cè)試用例入庫(kù)時(shí)間

  3. 測(cè)試用例更新者

  4. 測(cè)試用例更新時(shí)間

這些信息建議可以由測(cè)試案例自動(dòng)生成。

3.測(cè)試用例的屬性

  1. 測(cè)試用例ID:測(cè)試用例的ID(由案例管理系統(tǒng)自動(dòng)生成,方便跟蹤管理)

  2. 測(cè)試用例名稱:測(cè)試用例的名稱

  3. 測(cè)試功能點(diǎn):測(cè)試的功能檢查點(diǎn)

  4. 測(cè)試目的:該測(cè)試功能點(diǎn)的測(cè)試目的

  5. 測(cè)試級(jí)別:主路徑測(cè)試、煙霧測(cè)試、基本功能測(cè)試、詳細(xì)功能測(cè)試。

測(cè)試級(jí)別進(jìn)行說(shuō)明:

  • 主路徑測(cè)試:對(duì)照需求中重要模塊和功能的最主要功能路徑,主路徑測(cè)試為設(shè)計(jì)探針模塊,快速檢查程序的可測(cè)試性(可測(cè)試性還包括安裝測(cè)試是否成功)的主要依據(jù)的測(cè)試案例

  • 煙霧測(cè)試:對(duì)照需求中所有模塊的主要功能路徑,主路徑測(cè)試案例為煙霧測(cè)試案例的子集,煙霧測(cè)試為做回歸測(cè)試的主要依據(jù)的測(cè)試案例。

  • 基本功能測(cè)試:對(duì)照需求和總體設(shè)計(jì)中所有模塊和功能的基本功能路徑,基本功能測(cè)試為測(cè)試軟件產(chǎn)品的非重要級(jí)別模塊,書(shū)寫(xiě)完全的自動(dòng)測(cè)試腳本的主要依據(jù)。

  • 詳細(xì)功能測(cè)試:對(duì)照總體設(shè)計(jì)中所有模塊和功能的功能路徑,測(cè)試各個(gè)模塊及功能各個(gè)層次,各種類(lèi)型。詳細(xì)功能測(cè)試案例為對(duì)重點(diǎn)模塊,易發(fā)生錯(cuò)誤的模塊的主要依據(jù)

6.測(cè)試類(lèi)型:功能測(cè)試、邊界測(cè)試、異常測(cè)試、性能測(cè)試、壓力測(cè)試、兼容測(cè)試、安全測(cè)試、恢復(fù)測(cè)試、安裝測(cè)試、界面測(cè)試、啟動(dòng)/停止 測(cè)試、文檔測(cè)試、配置測(cè)試、可靠性測(cè)試、易用性測(cè)試、多語(yǔ)言測(cè)試。
7.預(yù)置條件:對(duì)測(cè)試的特殊條件或配置進(jìn)行說(shuō)明
8.測(cè)試步驟:詳細(xì)描述測(cè)試過(guò)程,案例的操作步驟建議少于15個(gè)。
9.預(yù)期結(jié)果:預(yù)期的測(cè)試結(jié)果

實(shí)例說(shuō)明

例如:假設(shè)目前測(cè)試中國(guó)移動(dòng)互聯(lián)短信網(wǎng)關(guān)是否能正確發(fā)送短信給中國(guó)聯(lián)通互聯(lián)網(wǎng)關(guān),測(cè)試用例的設(shè)計(jì)如下:
(1)測(cè)試用例ID:TC000001
(2)測(cè)試用例名稱:中國(guó)移動(dòng)全球通手機(jī)用戶成功發(fā)送短信給中國(guó)聯(lián)通手機(jī)用戶
(3)測(cè)試功能點(diǎn):中國(guó)移動(dòng)全球通手機(jī)用戶成功短信給中國(guó)聯(lián)通手機(jī)用戶,中國(guó)聯(lián)通網(wǎng)關(guān)返回成功的狀態(tài)報(bào)告
(4)測(cè)試目的:
A、中國(guó)移動(dòng)互聯(lián)短信網(wǎng)關(guān)能否正確處理全球通用戶發(fā)送給中國(guó)聯(lián)通用戶的短信;
B、中國(guó)移動(dòng)互聯(lián)短信網(wǎng)關(guān)能否正確處理中國(guó)聯(lián)通互聯(lián)短信網(wǎng)關(guān)返回成功的狀態(tài)報(bào)告的情況。
(5)測(cè)試級(jí)別:基本功能測(cè)試
(6)測(cè)試類(lèi)型:功能測(cè)試
(7)預(yù)置條件:各網(wǎng)關(guān)實(shí)體按照組網(wǎng)圖中的關(guān)系連接好,各實(shí)體之間的連接和通信正常。
(8)測(cè)試步驟:
A、中國(guó)移動(dòng)全球通手機(jī)用戶(13901000001)給中國(guó)聯(lián)通手機(jī)用戶(13001000001)發(fā)送MO短信,內(nèi)容為“測(cè)試”,目的號(hào)碼填為中國(guó)聯(lián)通手機(jī)號(hào)碼;
B、中國(guó)聯(lián)通互聯(lián)短信網(wǎng)關(guān)把短信下發(fā)給中國(guó)聯(lián)通用戶成功后,給中國(guó)移動(dòng)互聯(lián)短信網(wǎng)關(guān)返回一個(gè)標(biāo)識(shí)成功的狀態(tài)報(bào)告。
(9)預(yù)期結(jié)果:
A、中國(guó)聯(lián)通手機(jī)用戶(13001000001)接收到了短信,內(nèi)容為“測(cè)試”,源號(hào)碼為中國(guó)移動(dòng)全球通的用戶號(hào)碼(13901000001);
B、在中國(guó)移動(dòng)互聯(lián)短信網(wǎng)關(guān)上產(chǎn)生SMO話單,其中“短消息發(fā)送狀態(tài)”填0(表示成功),“源手機(jī)號(hào)碼”13001000001,“目的手機(jī)號(hào)碼”為13001000001。

三、測(cè)試案例的模版

下面是一個(gè)完整的測(cè)試用例的模版:

四.測(cè)試用例設(shè)計(jì)過(guò)程

對(duì)一個(gè)全新的產(chǎn)品來(lái)說(shuō),首先需要了解的是產(chǎn)品需求文檔和產(chǎn)品模塊之間的關(guān)系。然后需要從需求文檔中書(shū)寫(xiě)與所有需求相對(duì)應(yīng)的主路徑測(cè)試案例和煙霧測(cè)試案例, 這個(gè)時(shí)候也同時(shí)會(huì)包括一定的基本路徑測(cè)試案例甚至是詳細(xì)測(cè)試案例。在這個(gè)時(shí)候,因?yàn)閷?duì)產(chǎn)品沒(méi)有直接的使用感受,書(shū)寫(xiě)測(cè)試案例要考慮面廣而不要太過(guò)精細(xì)。繼 續(xù)閱讀產(chǎn)品功能定義文檔,將所有的功能定義直接對(duì)應(yīng)寫(xiě)相關(guān)的測(cè)試案例,這個(gè)時(shí)候,最好能夠?qū)Τ绦虻谋旧碛幸欢ǖ慕佑|,加深對(duì)程序的了解,以便寫(xiě)出更好,更 全面的測(cè)試案例。最后,在實(shí)際測(cè)試中,還需要不斷擴(kuò)充,修改以前的測(cè)試案例,得到完整的基本功能測(cè)試案例和詳細(xì)測(cè)試案例。如果對(duì)于一個(gè)已有一定或大部分案 例的產(chǎn)品來(lái)說(shuō),不管測(cè)試者是否本身熟悉這個(gè)產(chǎn)品,其主要的任務(wù)就是閱讀,檢查需求及相關(guān)的變更,然后對(duì)原有的案例進(jìn)行理解,擴(kuò)充和修改。這就是案例的重用 /復(fù)用。設(shè)計(jì)測(cè)試案例的時(shí)候,需要有清晰的測(cè)試思路,對(duì)要測(cè)試什么,按照什么順序測(cè)試,覆蓋哪些需求做到心中有數(shù)。測(cè)試用例編寫(xiě)者不僅要掌握軟件測(cè)試的技 術(shù)和流程,而且要對(duì)被測(cè)軟件的設(shè)計(jì)、功能規(guī)格說(shuō)明、用戶試用場(chǎng)景以及程序/模塊的結(jié)構(gòu)都有比較透徹的理解。

測(cè)試用例設(shè)計(jì)一般包括以下幾個(gè)步驟:
1、測(cè)試需求分析從軟件需求文檔中,找出待測(cè)試軟件/模塊的需求,通過(guò)自己的分析、理解,整理成為測(cè)試需求,清楚被測(cè)試對(duì)象具有哪些功能。測(cè)試需求的特點(diǎn)是:包含軟件需求,具有可測(cè)試性。

測(cè)試需求應(yīng)該在軟件需求基礎(chǔ)上進(jìn)行歸納、分類(lèi)或細(xì)分,方便測(cè)試用例設(shè)計(jì)。測(cè)試用例中的測(cè)試集與測(cè)試需求的關(guān)系是多對(duì)一的關(guān)系,即一個(gè)或多個(gè)測(cè)試用例集對(duì)應(yīng)一個(gè)測(cè)試需求。
2、業(yè)務(wù)流程分析軟件測(cè)試,不單純是基于功能的黑盒測(cè)試,還需要對(duì)軟件的內(nèi)部處理邏輯進(jìn)行測(cè)試。為了不遺漏測(cè)試點(diǎn),需要清楚的了解軟件產(chǎn)品的業(yè)務(wù)流程。建 議在做復(fù)雜的測(cè)試用例設(shè)計(jì)前,先畫(huà)出軟件的業(yè)務(wù)流程。如果設(shè)計(jì)文檔中已經(jīng)有業(yè)務(wù)流程設(shè)計(jì),可以從測(cè)試角度對(duì)現(xiàn)有流程進(jìn)行補(bǔ)充。如果無(wú)法從設(shè)計(jì)中得到業(yè)務(wù)流 程,測(cè)試工程師應(yīng)通過(guò)閱讀設(shè)計(jì)文檔,與開(kāi)發(fā)人員交流,最終畫(huà)出業(yè)務(wù)流程圖。業(yè)務(wù)流程圖可以幫助理解軟件的處理邏輯和數(shù)據(jù)流向,從而指導(dǎo)測(cè)試用例的設(shè)計(jì)。

從業(yè)務(wù)流程上,應(yīng)得到以下信息:

A、主流程是什么
B、條件備選流程是什么
C、數(shù)據(jù)流向是什么
D、關(guān)鍵的判斷條件是什么
3、測(cè)試用例設(shè)計(jì)
完成了測(cè)試需求分析和軟件流程分析后,開(kāi)始著手設(shè)計(jì)測(cè)試用例。測(cè)試用例設(shè)計(jì)的類(lèi)型包括功能測(cè)試,邊

界測(cè)試,異常測(cè)試,性能測(cè)試,壓力測(cè)試等。在用例設(shè)計(jì)中,除了功能測(cè)試用例外,應(yīng)盡量考慮邊界、異

常、性能的情況,以便發(fā)現(xiàn)更多的隱藏問(wèn)題。

黑盒測(cè)試的測(cè)試用例設(shè)計(jì)方法有:等價(jià)類(lèi)劃分、邊界值劃分、因果圖分析和錯(cuò)誤猜測(cè),白盒測(cè)試的測(cè)試用

例設(shè)計(jì)方法有:語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、多重條件覆蓋。在這里主要討論黑盒測(cè)

試。在設(shè)計(jì)測(cè)試用例的時(shí)候可以使用軟件測(cè)試用例設(shè)計(jì)方法,結(jié)合前面的需求分析和軟件流程分析進(jìn)行設(shè)

計(jì):

功能測(cè)試:測(cè)試某個(gè)功能是否滿足需求的定義,功能是否正確,完備。

適合的技術(shù):由業(yè)務(wù)需求和設(shè)計(jì)說(shuō)明導(dǎo)出的功能測(cè)試、等價(jià)類(lèi)劃分

邊界測(cè)試:對(duì)某個(gè)功能的邊界情況進(jìn)行測(cè)試。

適合的技術(shù):邊界值劃分

異常測(cè)試:對(duì)某些功能來(lái)說(shuō),其邊界情況無(wú)法簡(jiǎn)單的了解或某些操作不完全是正確的但又是可能發(fā)生的,

類(lèi)似這樣的情況需要書(shū)寫(xiě)相關(guān)的異常測(cè)試。

適合的技術(shù):由業(yè)務(wù)需求和設(shè)計(jì)說(shuō)明導(dǎo)出的特殊業(yè)務(wù)流程、錯(cuò)誤猜測(cè)法、邊界值分析、內(nèi)部邊界值測(cè)試、

性能測(cè)試:檢查系統(tǒng)是否滿足在需求中所規(guī)定達(dá)到的性能,性能主要包括了解程序的內(nèi)外部性能因素。內(nèi)部性能因素包括測(cè)試環(huán)境的配置,系統(tǒng)資源使用狀況;外部因素包括響應(yīng)時(shí)間,吞吐量等。

適合的技術(shù):業(yè)務(wù)需求和設(shè)計(jì)說(shuō)明導(dǎo)出的測(cè)試

壓力測(cè)試:壓力測(cè)試又稱強(qiáng)度測(cè)試,主要是檢查系統(tǒng)運(yùn)行環(huán)境在極限情況下軟件運(yùn)行的能力,比如說(shuō)給一個(gè)相當(dāng)大的負(fù)荷或網(wǎng)絡(luò)流量給應(yīng)用軟件兼容測(cè)試:測(cè)試軟件產(chǎn)品在不同的平臺(tái),不同的工具,相同工具的不同版本下功能的兼容性。

4、測(cè)試用例評(píng)審

測(cè)試用例設(shè)計(jì)完成后,為了確認(rèn)測(cè)試過(guò)程和方法是否正確,是否有遺漏的測(cè)試點(diǎn),需要進(jìn)行測(cè)試用例的評(píng)審。

測(cè)試用例評(píng)審一般是由測(cè)試leader安排,參加的人員包括:測(cè)試用例設(shè)計(jì)者、測(cè)試leader、項(xiàng)目經(jīng)理、開(kāi)發(fā)工程師、其它相關(guān)開(kāi)發(fā)測(cè)試工程師。測(cè)試用例評(píng)審?fù)戤?,測(cè)試工程師根據(jù)評(píng)審結(jié)果,對(duì)測(cè)試用例進(jìn)行修改,并記錄修改日志。

5、測(cè)試用例更新完善

測(cè)試用例編寫(xiě)完成之后需要不斷完善,軟件產(chǎn)品新增功能或更新需求后,測(cè)試用例必須配套修改更新;在測(cè)試過(guò)程中發(fā)現(xiàn)設(shè)計(jì)測(cè)試用例時(shí)考慮不周,需要對(duì)測(cè)試用例 進(jìn)行修改完善;在軟件交付使用后客戶反饋的軟件缺陷,而缺陷又是因測(cè)試用例存在漏洞造成,也需要對(duì)測(cè)試用例進(jìn)行完善。一般小的修改完善可在原測(cè)試用例文檔 上修改,但文檔要有更改記錄。軟件的版本升級(jí)更新,測(cè)試用例一般也應(yīng)隨之編制升級(jí)更新版本。測(cè)試用例是“活”的,在軟件的生命周期中不斷更新與完善。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容