測(cè)試用例目前沒有經(jīng)典的定義,,比較通常的說法是:指對(duì)一項(xiàng)特定的軟件產(chǎn)品進(jìn)行測(cè)試任務(wù)的描述,體現(xiàn)測(cè)試方案,、方法,、技術(shù)和策略。內(nèi)容包括測(cè)試目標(biāo),、測(cè)試環(huán)境,、輸入數(shù)據(jù),、測(cè)試步驟、預(yù)期結(jié)果,、測(cè)試腳本等,,并形成文檔。隨著中國軟件業(yè)的日益壯大和逐步走向成熟,,軟件測(cè)試也在不斷發(fā)展,。其中,測(cè)試用例的設(shè)計(jì)和編制是軟件測(cè)試活動(dòng)中最重要的,,它是測(cè)試工作的指導(dǎo),,是軟件測(cè)試必須遵守的準(zhǔn)則,更是軟件測(cè)試質(zhì)量穩(wěn)定的根本保障,。
1,、測(cè)試用例設(shè)計(jì)原則 設(shè)計(jì)測(cè)試用例時(shí),應(yīng)遵循以下原則: 1)基于測(cè)試需求的原則,。應(yīng)按照測(cè)試類別的不同要求設(shè)計(jì)測(cè)試用例,。例如,單元測(cè)試依據(jù)詳細(xì)設(shè)計(jì)說明,,集成測(cè)試依據(jù)概要設(shè)計(jì)說明,,配置項(xiàng)測(cè)試依據(jù)軟件需求規(guī)格說明,系統(tǒng)測(cè)試依據(jù)用戶需求(系統(tǒng)/子系統(tǒng)設(shè)計(jì)說明,、軟件開發(fā)計(jì)劃等),。 2)基于測(cè)試方法的原則。應(yīng)明確所采用的測(cè)試用例設(shè)計(jì)方法,,為達(dá)到不同的測(cè)試充分性要求,,應(yīng)采用相應(yīng)的測(cè)試方法,如等價(jià)類劃分,、邊界值分析,、猜錯(cuò)法、因果圖等,。 3) 兼顧測(cè)試充分性和效率的原則,。測(cè)試用例集應(yīng)兼顧測(cè)試的充分性和測(cè)試的效率;每個(gè)測(cè)試用例的內(nèi)容也應(yīng)完整,,具有可操作性,。 4)測(cè)試執(zhí)行的可再現(xiàn)性原則。應(yīng)保證測(cè)試用例執(zhí)行的可再現(xiàn)性,。 2,、測(cè)試用例要素 每個(gè)測(cè)試用例應(yīng)包括以下要素: 1)名稱和標(biāo)識(shí)。每個(gè)測(cè)試用例應(yīng)有唯一的名稱和標(biāo)識(shí)符,。 2)測(cè)試追蹤,。說明測(cè)試所依據(jù)的內(nèi)容來源,,如系統(tǒng)測(cè)試依據(jù)的是用戶需求,配置項(xiàng)測(cè)試依據(jù)的是軟件需求,,集成測(cè)試和單元測(cè)試依據(jù)的是軟件設(shè)計(jì),。 3)用例說明。簡(jiǎn)要描述測(cè)試的對(duì)象,、目的和所采用的測(cè)試方法,。 4)測(cè)試的初始化要求。應(yīng)考慮下述初始化要求: ● 硬件配置,。被測(cè)系統(tǒng)的硬件配置情況,,包括硬件條件或電氣狀態(tài)。 ● 軟件配置,。被測(cè)系統(tǒng)的軟件配置情況,,包括測(cè)試的初始條件。 ● 測(cè)試配置,。測(cè)試系統(tǒng)的配置情況,如用于測(cè)試的模擬系統(tǒng)和測(cè)試工具等的配置情況,。 ● 參數(shù)設(shè)置,。測(cè)試開始前的設(shè)置,如標(biāo)志,、第一斷點(diǎn),、指針、控制參數(shù)和初始化數(shù)據(jù)等的設(shè)置,。 ● 其他對(duì)于測(cè)試用例的特殊說明,。 5)測(cè)試的輸入。在測(cè)試用例執(zhí)行中發(fā)送給被測(cè)對(duì)象的所有測(cè)試命令,、數(shù)據(jù)和信號(hào)等,。對(duì)于每個(gè)測(cè)試用例應(yīng)提供如下內(nèi)容: ● 每個(gè)測(cè)試輸入的具體內(nèi)容(如確定的數(shù)值、狀態(tài)或信號(hào)等)及其性質(zhì)(如有效值,、無效值,、邊界值等)。 ● 測(cè)試輸入的來源(例如,,測(cè)試程序產(chǎn)生,、磁盤文件、通過網(wǎng)絡(luò)接受,、人工鍵盤輸入等),,以及選擇輸入所使用的方法(例如,等價(jià)類劃分,、邊界值分析,、差錯(cuò)推測(cè),、因果圖、功能圖等),。 ● 測(cè)試輸入是真實(shí)的還是模擬的,。 ● 測(cè)試輸入的時(shí)間順序或事件順序。 6)期望的測(cè)試結(jié)果,。說明測(cè)試用例執(zhí)行中由被測(cè)軟件所產(chǎn)生期望的測(cè)試結(jié)果,,即經(jīng)過驗(yàn)證認(rèn)為正確的結(jié)果。必要時(shí),,應(yīng)提供中間的期望結(jié)果,。期望測(cè)試結(jié)果應(yīng)該有具體內(nèi)容,如確定的數(shù)值,、狀態(tài)或信號(hào)等,,不應(yīng)是不確切的概念或籠統(tǒng)的描述。 7)評(píng)價(jià)測(cè)試結(jié)果的準(zhǔn)則,。判斷測(cè)試用例執(zhí)行中產(chǎn)生的中間和最后結(jié)果是否正確的準(zhǔn)則,。對(duì)于每個(gè)測(cè)試結(jié)果,應(yīng)根據(jù)不同情況提供如下信息: ● 實(shí)際測(cè)試結(jié)果所需的精度,。 ● 實(shí)際測(cè)試結(jié)果與期望結(jié)果之間的差異允許的上限,、下限。 ● 時(shí)間的最大和最小間隔,,或事件數(shù)目的最大和最小值,。 ● 實(shí)際測(cè)試結(jié)果不確定時(shí),再測(cè)試的條件,。 ● 與產(chǎn)生測(cè)試結(jié)果有關(guān)的出錯(cuò)處理,。 ● 上面沒有提及的其他準(zhǔn)則。 8)操作過程,。實(shí)施測(cè)試用例的執(zhí)行步驟,。把測(cè)試的操作過程定義為一系列按照?qǐng)?zhí)行順序排列的相對(duì)獨(dú)立的步驟,對(duì)于每個(gè)操作應(yīng)提供: ● 每一步所需的測(cè)試操作動(dòng)作,、測(cè)試程序的輸入,、設(shè)備操作等。 ● 每一步期望的測(cè)試結(jié)果,。 ● 每一步的評(píng)價(jià)準(zhǔn)則,。 ● 程序終止伴隨的動(dòng)作或差錯(cuò)指示。 ● 獲取和分析實(shí)際測(cè)試結(jié)果的過程,。 9)前提和約束,。在測(cè)試用例說明中施加的所有前提條件和約束條件,如果有特別限制,、參數(shù)偏差或異常處理,,應(yīng)該標(biāo)識(shí)出來,,并要說明它們對(duì)測(cè)試用例的影響。 10)測(cè)試終止條件,。說明測(cè)試正常終止和異常終止的條件,。 3、測(cè)試用例的設(shè)計(jì)步驟 設(shè)計(jì)測(cè)試用例的時(shí)候,,需要有清晰的測(cè)試思路,,對(duì)要測(cè)試什么,按照什么順序測(cè)試,,覆蓋哪些需求做到心中有數(shù),。測(cè)試用例編寫者不僅要掌握軟件測(cè)試的 技術(shù)和流程,而且要對(duì)被測(cè)軟件的設(shè)計(jì),、功能規(guī)格說明,、用戶試用場(chǎng)景以及程序/模塊的結(jié)構(gòu)都有比較透徹的理解。測(cè)試用例設(shè)計(jì)一般包括以下幾個(gè)步驟: 1)測(cè)試需求分析從軟件需求文檔中,,找出待測(cè)試軟件/模塊的需求,,通過自己的分析、理解,,整理成為測(cè)試需求,,清楚被測(cè)試對(duì)象具有哪些功能。測(cè)試需求的特點(diǎn)是:包含軟件需求,,具有可測(cè)試性。 測(cè)試需求應(yīng)該在軟件需求基礎(chǔ)上進(jìn)行歸納,、分類或細(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ì)前,,先畫出軟件的業(yè)務(wù)流程。如果設(shè)計(jì)文檔中已經(jīng)有業(yè)務(wù)流程設(shè)計(jì),,可以從測(cè)試角度對(duì)現(xiàn)有流程進(jìn)行補(bǔ)充,。如果無法從設(shè)計(jì)中得到 業(yè)務(wù)流程,測(cè)試工程師應(yīng)通過閱讀設(shè)計(jì)文檔,,與開發(fā)人員交流,,最終畫出業(yè)務(wù)流程圖,。業(yè)務(wù)流程圖可以幫助理解軟件的處理邏輯和數(shù)據(jù)流向,,從而指導(dǎo)測(cè)試用例的設(shè) 計(jì)。 從業(yè)務(wù)流程上,,應(yīng)得到以下信息:主流程是什么,條件備選流程是什么,,數(shù)據(jù)流向是什么,,以及關(guān)鍵的判斷條件是什么。 3)測(cè)試用例設(shè)計(jì)完成了測(cè)試需求分析和軟件流程分析后,,開始著手設(shè)計(jì)測(cè)試用例,。測(cè)試用例設(shè)計(jì)的類型包括功能測(cè)試、邊界測(cè)試,、異常測(cè)試,、性能測(cè)試、壓力測(cè)試等,。在用例設(shè)計(jì)中,,除了功能測(cè)試用例外,應(yīng)盡量考慮邊界,、異常,、性能的情況,以便發(fā)現(xiàn)更多的隱藏問題,。 “黑盒”測(cè)試的測(cè)試用例設(shè)計(jì)方法有—— 等價(jià)類劃分,、邊界值劃分、因果圖分析和錯(cuò)誤猜測(cè),,“白盒”測(cè)試的測(cè)試用例設(shè)計(jì)方法有—— 語句覆蓋,、判定覆蓋、條件覆蓋,、判定/條件覆蓋,、多重條件覆蓋。在這里主要討論“黑盒”測(cè)試,。在設(shè)計(jì)測(cè)試用例的時(shí)候可以使用軟件測(cè)試用例設(shè)計(jì)方法,,結(jié)合前 面的需求分析和軟件流程分析進(jìn)行設(shè)計(jì): ① 功能測(cè)試:測(cè)試某個(gè)功能是否滿足需求的定義,,功能是否正確,,完備。 適合的技術(shù):由業(yè)務(wù)需求和設(shè)計(jì)說明導(dǎo)出的功能測(cè)試,、等價(jià)類劃分,。 ② 邊界測(cè)試:對(duì)某個(gè)功能的邊界情況進(jìn)行測(cè)試。 適合的技術(shù):邊界值劃分,。 ?、?異常測(cè)試:對(duì)于某些功能來說,其邊界情況無法簡(jiǎn)單地了解或某些操作不完全是正確的但又是可能發(fā)生的,,類似這樣的情況需要書寫相關(guān)的異常測(cè)試,。 適合的技術(shù):由業(yè)務(wù)需求和設(shè)計(jì)說明導(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ì)說明導(dǎo)出的測(cè)試,。 ⑤ 壓力測(cè)試:壓力測(cè)試又稱強(qiáng)度測(cè)試,,主要是檢查系統(tǒng)運(yùn)行環(huán)境在極限情況下軟件運(yùn)行的能力,,比如說一個(gè)相當(dāng)大的負(fù)荷或網(wǎng)絡(luò)流量進(jìn)行應(yīng)用軟件兼容測(cè)試,測(cè)試軟件產(chǎn)品在不同的平臺(tái),、不同的工具,、相同工具的不同版本下功能的兼容性。 4)測(cè)試用例評(píng)審測(cè)試用例設(shè)計(jì)完成后,,為了確認(rèn)測(cè)試過程和方法是否正確,,是否有遺漏的測(cè)試點(diǎn),需要進(jìn)行測(cè)試用例的評(píng)審,。 測(cè)試用例評(píng)審一般是由測(cè)試主管安排,參加的人員包括:測(cè)試用例設(shè)計(jì)者,、測(cè)試主管,、項(xiàng)目經(jīng)理、開發(fā)工程師,、其他相關(guān)開發(fā)測(cè)試工程師,。測(cè)試用例評(píng)審?fù)戤叄瑴y(cè)試工程師根據(jù)評(píng)審結(jié)果,,對(duì)測(cè)試用例進(jìn)行修改,,并記錄修改日志。 5)測(cè)試用例更新完善測(cè)試用例編寫完成之后需要不斷完善,,軟件產(chǎn)品新增功能或更新需求后,,測(cè)試用例必須配套修改更新,;在測(cè)試過程中發(fā)現(xiàn)設(shè)計(jì)測(cè)試 用例時(shí)考慮不周,需要對(duì)測(cè)試用例進(jìn)行修改完善,;在軟件交付使用后客戶反饋的軟件缺陷,,而缺陷又是因測(cè)試用例存在漏洞造成,也需要對(duì)測(cè)試用例進(jìn)行完善,。一般 小的修改完善可在原測(cè)試用例文檔上修改,,但文檔要有更改記錄。軟件的版本升級(jí)更新,,測(cè)試用例一般也應(yīng)隨之編制升級(jí)更新版本,。測(cè)試用例是“活” 的,在軟件的生命周期中不斷更新與完善,。 |
|