軟件測試中設(shè)計測試用例的具體用法[1]

字號:

測試用例(Test Case)是為某個特殊目標(biāo)而編制的一組測試輸入、執(zhí)行條件以及預(yù)期結(jié)果,以便測試某個程序路徑或核實(shí)是否滿足某個特定需求。
    測試用例目前沒有經(jīng)典的定義。比較通常的說法是:指對一項特定的軟件產(chǎn)品進(jìn)行測試任務(wù)的描述,體現(xiàn)測試方案、方法、技術(shù)和策略。內(nèi)容包括測試目標(biāo)、測試環(huán)境、輸入數(shù)據(jù)、測試步驟、預(yù)期結(jié)果、測試腳本等,并形成文檔。
    不同類別的軟件,測試用例是不同的。不同于諸如系統(tǒng)、工具、控制、游戲軟件,管理軟件的用戶需求更加不統(tǒng)一,變化更大、更快。筆者主要從事企業(yè)管理軟件的測試。因此我們的做法是把測試數(shù)據(jù)和測試腳本從測試用例中劃分出來。測試用例更趨于是針對軟件產(chǎn)品的功能、業(yè)務(wù)規(guī)則和業(yè)務(wù)處理所設(shè)計的測試方案。對軟件的每個特定功能或運(yùn)行操作路徑的測試構(gòu)成了一個個測試用例。
    隨著中國軟件業(yè)的日益壯大和逐步走向成熟,軟件測試也在不斷發(fā)展。從最初的由軟件編程人員兼職測試到軟件公司組建獨(dú)立專職測試部門。測試工作也從簡單測試演變?yōu)榘ǎ壕幹茰y試計劃、編寫測試用例、準(zhǔn)備測試數(shù)據(jù)、編寫測試腳本、實(shí)施測試、測試評估等多項內(nèi)容的正規(guī)測試。測試方式則由單純手工測試發(fā)展為手工、自動兼之,并有向第三方專業(yè)測試公司發(fā)展的趨勢。
    要使最終用戶對軟件感到滿意,最有力的舉措就是對最終用戶的期望加以明確闡述,以便對這些期望進(jìn)行核實(shí)并確認(rèn)其有效性。測試用例反映了要核實(shí)的需求。然而,核實(shí)這些需求可能通過不同的方式并由不同的測試員來實(shí)施。例如,執(zhí)行軟件以便驗(yàn)證它的功能和性能,這項操作可能由某個測試員采用自動測試技術(shù)來實(shí)現(xiàn);計算機(jī)系統(tǒng)的關(guān)機(jī)步驟可通過手工測試和觀察來完成;不過,市場占有率和銷售數(shù)據(jù)(以及產(chǎn)品需求),只能通過評測產(chǎn)品和競爭銷售數(shù)據(jù)來完成。
    既然可能無法(或不必負(fù)責(zé))核實(shí)所有的需求,那么是否能為測試挑選最適合或最關(guān)鍵的需求則關(guān)系到項目的成敗。選中要核實(shí)的需求將是對成本、風(fēng)險和對該需求進(jìn)行核實(shí)的必要性這三者權(quán)衡考慮的結(jié)果。
    確定測試用例之所以很重要,原因有以下幾方面。
    測試用例構(gòu)成成了設(shè)計和制定測試過程的基礎(chǔ)。
    測試的“深度”與測試用例的數(shù)量成比例。由于每個測試用例反映不同的場景、條件或經(jīng)由產(chǎn)品的事件流,因而,隨著測試用例數(shù)量的增加,您對產(chǎn)品質(zhì)量和測試流程也就越有信心。
    判斷測試是否完全的一個主要評測方法是基于需求的覆蓋,而這又是以確定、實(shí)施和/或執(zhí)行的測試用例的數(shù)量為依據(jù)的。類似下面這樣的說明:“95 % 的關(guān)鍵測試用例已得以執(zhí)行和驗(yàn)證”,遠(yuǎn)比“我們已完成 95 % 的測試”更有意義。
    測試工作量與測試用例的數(shù)量成比例。根據(jù)全面且細(xì)化的測試用例,可以更準(zhǔn)確地估計測試周期各連續(xù)階段的時間安排。
    測試設(shè)計和開發(fā)的類型以及所需的資源主要都受控于測試用例。
    通常測試用例通常根據(jù)它們所關(guān)聯(lián)關(guān)系的測試類型或測試需求來分類,而且將隨類型和需求進(jìn)行相應(yīng)地改變。方案是為每個測試需求至少編制兩個測試用例:
    ·一個測試用例用于證明該需求已經(jīng)滿足,通常稱作正面測試用例;
    ·另一個測試用例反映某個無法接受、反常或意外的條件或數(shù)據(jù),用于論證只有在所需條件下才能夠滿足該需求,這個測試用例稱作負(fù)面測試用例。
    一、測試用例是軟件測試的核心
    軟件測試的重要性是毋庸置疑的。但如何以最少的人力、資源投入,在最短的時間內(nèi)完成測試,發(fā)現(xiàn)軟件系統(tǒng)的缺陷,保證軟件的優(yōu)良品質(zhì),則是軟件公司探索和追求的目標(biāo)。每個軟件產(chǎn)品或軟件開發(fā)項目都需要有一套優(yōu)秀的測試方案和測試方法。
    影響軟件測試的因素很多,例如軟件本身的復(fù)雜程度、開發(fā)人員(包括分析、設(shè)計、編程和測試的人員)的素質(zhì)、測試方法和技術(shù)的運(yùn)用等等。因?yàn)橛行┮蛩厥强陀^存在的,無法避免。有些因素則是波動的、不穩(wěn)定的,例如開發(fā)隊伍是流動的,有經(jīng)驗(yàn)的走了,新人不斷補(bǔ)充進(jìn)來;一個具體的人工作也受情緒等影響,等等。如何保障軟件測試質(zhì)量的穩(wěn)定?有了測試用例,無論是誰來測試,參照測試用例實(shí)施,都能保障測試的質(zhì)量??梢园讶藶橐蛩氐挠绊憸p少到最小。即便最初的測試用例考慮不周全,隨著測試的進(jìn)行和軟件版本更新,也將日趨完善。
    因此測試用例的設(shè)計和編制是軟件測試活動中最重要的。測試用例是測試工作的指導(dǎo),是軟件測試的必須遵守的準(zhǔn)則。更是軟件測試質(zhì)量穩(wěn)定的根本保障。
    二、編制測試用例
    著重介紹一些編制測試用例的具體做法。
    1、測試用例文檔
    編寫測試用例文檔應(yīng)有文檔模板,須符合內(nèi)部的規(guī)范要求。測試用例文檔將受制于測試用例管理軟件的約束。
    軟件產(chǎn)品或軟件開發(fā)項目的測試用例一般以該產(chǎn)品的軟件模塊或子系統(tǒng)為單位,形成一個測試用例文檔,但并不是絕對的。