一、測試用例是軟體測試的核心
軟體測試的重要性是毋庸置疑的。但如何以最少的人力、資源投入,在最短的時間內完成測試,發現軟體系統的缺陷,保證軟體的優良品質,則是軟體公司探索和追求的目標。每個軟體產品或軟體開發專案都需要有一套優秀的測試方案和測試方法。
影響軟體測試的因素很多,例如軟體本身的複雜程度、開發人員(包括分析、設計、程式設計和測試的人員)的素質、測試方法和技術的運用等等。因為有些因素是客觀存在的,無法避免。有些因素則是波動的、不穩定的,例如開發隊伍是流動的,有經驗的走了,新人不斷補充進來;乙個具體的人工作也受情緒等影響,等等。如何保障軟體測試質量的穩定?有了測試用例,無論是誰來測試,參照測試用例實施,都能保障測試的質量。可以把人為因素的影響減少到最小。即便最初的測試用例考慮不周全,隨著測試的進行和軟體版本更新,也將日趨完善。
因此測試用例的設計和編制是軟體測試活動中最重要的。測試用例是測試工作的指導,是軟體測試的必須遵守的準則。更是軟體測試質量穩定的根本保障。
二、什麼叫測試用例
測試用例(test case)目前沒有經典的定義。比較通常的說法是:指對一項特定的軟體產品進行測試任務的描述,體現測試方案、方法、技術和策略。內容包括測試目標、測試環境、輸入資料、測試步驟、預期結果、測試指令碼等,並形成文件。
不同類別的軟體,測試用例是不同的。不同於諸如系統、工具、控制、遊戲軟體,管理軟體的使用者需求更加不統一,變化更大、更快。筆者主要從事企業管理軟體的測試。因此我們的做法是把測試資料和測試指令碼從測試用例中劃分出來。測試用例更趨於是針對軟體產品的功能、業務規則和業務處理所設計的測試方案。對軟體的每個特定功能或執行操作路徑的測試構成了乙個個測試用例。
三、編制測試用例
著重介紹一些編制測試用例的具體做法。
1、測試用例文件
編寫測試用例文件應有文件模板,須符合內部的規範要求。測試用例文件將受制於測試用例管理軟體的約束。
軟體產品或軟體開發專案的測試用例一般以該產品的軟體模組或子系統為單位,形成乙個測試用例文件,但並不是絕對的。
測試用例文件由簡介和測試用例兩部分組成。簡介部分編制了測試目的、測試範圍、定義術語、參考文件、概述等。測試用例部分逐一列示各測試用例。每個具體測試用例都將包括下列詳細資訊:用例編號、用例名稱、測試等級、入口準則、驗證步驟、期望結果(含判斷標準)、出口準則、注釋等。以上內容涵蓋了測試用例的基本元素:測試索引,測試環境,測試輸入,測試操作,預期結果,評價標準。
2、測試用例的設定
我們早期的測試用例是按功能設定用例。後來引進了路徑分析法,按路徑設定用例。目前演變為按功能、路徑混合模式設定用例。
按功能測試是最簡捷的,按用例規約遍歷測試每一功能。
對於複雜操作的程式模組,其各功能的實施是相互影響、緊密相關、環環相扣的,可以演變出數量繁多的變化。沒有嚴密的邏輯分析,產生遺漏是在所難免。路徑分析是乙個很好的方法,其最大的優點是在於可以避免漏測試。
但路徑分析法也有侷限性。在乙個非常簡單字典維護模組就存在十餘條路徑。乙個複雜的模組會有幾十到上百條路徑是不足為奇的。筆者以為這是路徑分析比較合適的使用規模。若乙個子系統有十餘個或更多的模組,這些模組相互有關聯。再採用路徑分析法,其路徑數量成幾何級增長,達5位數或更多,就無法使用了。那麼子系統模組間的測試路徑或測試用例還是要靠傳統方法來解決。這是按功能、路徑混合模式設定用例的由來。
3、設計測試用例
測試用例可以分為基本事件、備選事件和異常事件。設計基本事件的用例,應該參照用例規約(或設計規格說明書),根據關聯的功能、操作按路徑分析法設計測試用例。而對孤立的功能則直接按功能設計測試用例。基本事件的測試用例應包含所有需要實現的需求功能,覆蓋率達100%。
設計備選事件和異常事件的用例,則要複雜和困難得多。例如,字典的**是唯一的,不允許重複。測試需要驗證:字典新增程式中已存在有關字典**的約束,若出現**重複必須報錯,並且報錯文字正確。往往在設計編碼階段形成的文件對備選事件和異常事件分析描述不夠詳盡。而測試本身則要求驗證全部非基本事件,並同時盡量發現其中的軟體缺陷。
可以採用軟體測試常用的基本方法:等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、邏輯覆蓋法等設計測試用例。視軟體的不同性質採用不同的方法。如何靈活運用各種基本方法來設計完整的測試用例,並最終實現暴露隱藏的缺陷,全憑測試設計人員的豐富經驗和精心設計。
四、測試用例在軟體測試中的作用
1、指導測試的實施
測試用例主要適用於整合測試、系統測試和回歸測試。在實施測試時測試用例作為測試的標準,測試人員一定要按照測試用例嚴格按用例專案和測試步驟逐一實施測試。並對測試情況記錄在測試用例管理軟體中,以便自動生成測試結果文件。
根據測試用例的測試等級,整合測試應測試那些用例,系統測試和回歸測試又該測試那些用例,在設計測試用例時都已作明確規定,實施測試時測試人員不能隨意作變動。
2、規劃測試資料的準備
在我們的實踐中測試資料是與測試用例分離的。按照測試用例配套準備一組或若干組測試原始資料,以及標準測試結果。尤其象測試報表之類資料集的正確性,按照測試用例規劃準備測試資料是十分必須的。
除正常資料之外,還必須根據測試用例設計大量邊緣資料和錯誤資料。
3、編寫測試指令碼的"設計規格說明書"
為提高測試效率,軟體測試已大力發展自動測試。自動測試的中心任務是編寫測試指令碼。如果說軟體工程中軟體程式設計必須有設計規格說明書,那麼測試指令碼的設計規格說明書就是測試用例。
4、評估測試結果的度量基準
完成測試實施後需要對測試結果進行評估,並且編制測試報告。判斷軟體測試是否完成、衡量測試質量需要一些量化的結果。例:測試覆蓋率是多少、測試合格率是多少、重要測試合格率是多少,等等。以前統計基準是軟體模組或功能點,顯得過於粗糙。採用測試用例作度量基準更加準確、有效。
5、分析缺陷的標準
通過收集缺陷,對比測試用例和缺陷資料庫,分析確證是漏測還是缺陷復現。漏測反映了測試用例的不完善,應立即補充相應測試用例,最終達到逐步完善軟體質量。而已有相應測試用例,則反映實施測試或變更處理存在問題。
五、相關問題
1、測試用例的評審
測試用例是軟體測試的準則,但它並不是一經編制完成就成為準則。測試用例在設計編制過程中要組織同級互查。完成編制後應組織專家評審,需獲得通過才可以使用。評審委員會可由專案負責人、測試、程式設計、分析設計等有關人員組成,也可邀請客戶代表參加。
2、測試用例的修改更新
測試用例在形成文件後也還需要不斷完善。主要來自三方面的緣故:第
一、在測試過程中發現設計測試用例時考慮不周,需要完善;第
二、在軟體交付使用後反饋的軟體缺陷,而缺陷又是因測試用例存在漏洞造成;第
三、軟體自身的新增功能以及軟體版本的更新,測試用例也必須配套修改更新。
一般小的修改完善可在原測試用例文件上修改,但文件要有更改記錄。軟體的版本公升級更新,測試用例一般也應隨之編制公升級更新版本。
如何設計編制軟體測試用例
引用www.51testing.com上的文章 隨著中國軟體業的日益壯大和逐步走向成熟,軟體測試也在不斷發展。從最初的由軟體程式設計人員兼職測試到軟體公司組建獨立專職測試部門。測試工作也從簡單測試演變為包括 編制測試計畫 編寫測試用例 準備測試資料 編 寫測試指令碼 實施測試 測試評估等多項內容的正...
如何設計編制軟體測試用例(一 三)
一 測試用例是軟體測試的核心 軟體測試的重要性是毋庸置疑的。但如何以最少的人力 資源投入,在最短的時間內完成測試,發現軟體系統的缺陷,保證軟體的優良品質,則是軟體公司探索和追求的目標。每個軟體產品或軟體開發 專案都需要有一套優秀的測試方案和測試方法。影響軟體測試的因素很多,例如軟體本身的複雜程度 開...
軟體測試如何設計測試用例
測試用例編寫是軟體測試的基本技能 也有很多人認為測試用例是軟體測試的核心 軟體測試中最重要的是設計和生成有效的測試用例 測試用例是測試工作的指導,是軟體測試的必須遵守的準則。乙份漂亮的測試用例不僅僅是設計思路的優秀體現,更是便於流轉和執行,具有可讀性 傳遞性。1 指導測試的實施 測試用例主要適用於整...