測試用例(test case)是為某個特殊目標而編制的一組測試輸入、執行條件以及預期結果,以便測試某個
程式 路徑或核實是否滿足某個特定需求。
測試用例用到的技術:
(一)白盒技術
白盒測試
是結構測試,所以被測物件基本上是
源程式 ,以
程式 的內部邏輯為基礎設計測試用例。
⒈邏輯覆蓋
程式內部的
邏輯覆蓋
程度,當程式中有迴圈時,覆蓋每條路徑是不可能的,要設計使覆蓋程度較高的或覆蓋最有代表性的路徑的測試用例。下面根據圖7-1所示的
程式 ,分別討論幾種常用的覆蓋技術。
⑴語句覆蓋
。為了提高發現錯誤的可能性,在測試時應該執行到
程式 中的每乙個語句。
語句覆蓋
是指設計足夠的測試用例,使被
測試程式
中每個語句至少執行一次。
如圖7-1是乙個被測試
程式流程圖:⑵
判定覆蓋
。判定覆蓋
指設計足夠的測試用例,使得被測
程式 中每個判定表示式至少獲得一次「真」值和「假」值,從而使程式的每乙個分支至少都通過一次,因此判定覆蓋也稱
分支覆蓋。⑶
條件覆蓋
。條件覆蓋
是指設計足夠的測試用例,使得判定
表示式 中每個條件的各種可能的值至少出現一次。
⑷判定條件覆蓋
。該覆蓋標準指設計足夠的測試用例,使得判定表示式的每個條件的所有可能取值至少出現一次,並使每個判定表示式所有可能的結果也至少出現一次。
⑸條件組合覆蓋
。條件組合覆蓋
是比較強的覆蓋標準,它是指設計足夠的測試用例,使得每個判定表示式中條件的各種可能的值的組合都至少出現一次。
⑹路徑覆蓋
。路徑覆蓋
是指設計足夠的測試用例,覆蓋被測
程式 中所有可能的路徑。
在實際的
邏輯覆蓋
測試中,一般以
條件組合覆蓋
為主設計測試用例,然後再補充部分用例,以達到
路徑覆蓋
測試標準。
⒉迴圈覆蓋
⒊基本路徑測試
(二)黑盒技術
⒈等價類劃分
⑴劃分等價類。
①在輸入條件規定了取值範圍或值的個數的情況下,則可以確立乙個有效等價類和兩個
無效等價類
。②在輸入條件規定了輸入值的集合或者規定了「必須如何」的條件的情況下,可確立乙個有效等價類和乙個
無效等價類
。③在輸入條件是乙個布林量的情況下,可確定乙個有效等價類和乙個
無效等價類
。④在規定了輸入資料的一組值(假定n個),並且
程式 要對每乙個輸入值分別處理的情況下,可確立n個有效等價類和乙個
無效等價類
。⑤在規定了輸入資料必須遵守的規則的情況下,可確立乙個有效等價類(符合規則)和若干個
無效等價類
(從不同角度違反規則)。
⑥在確知已劃分的等價類中各元素在
程式 處理中的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類。
⑵確定測試用例。
①為每乙個等價類編號。
②設計乙個測試用例,使其盡可能多地覆蓋尚未被覆蓋過的合理等價類。重複這步,直到所有合理等價類被測試用例覆蓋。
③設計乙個測試用例,使其只覆蓋乙個不合理等價類。
⒉邊界值分析
使用邊界值分析方法設計測試用例時一般與等價類劃分結合起來。但它不是從乙個等價類中任選乙個例子作為代表,而是將測試邊界情況作為重點目標,選取正好等於、剛剛大於或剛剛小於邊界值的測試資料。
⑴如果輸入條件規定了值的範圍,可以選擇正好等於邊界值的資料作為合理的測試用例,同時還要選擇剛好越過邊界值的資料作為不合理的測試用例。如輸入值的範圍是[1,100],可取0,1,100,101等值作為測試資料。
⑵如果輸入條件指出了輸入資料的個數,則按最大個數、最小個數、比最小個數少1、比最大個數多1等情況分別設計測試用例。如,乙個輸入檔案可包括1--255個記錄,則分別設計有1個記錄、255個記錄,以及0個記錄的輸入檔案的測試用例。
⑶對每個輸出條件分別按照以上原則⑴或⑵確定輸出值的邊界情況。如,乙個學生成績管理系統規定,只能查詢95--98級大學生的各科成績,可以設計測試用例,使得查詢範圍內的某一屆或四屆學生的學生成績,還需設計查詢94級、99級學生成績的測試用例(不合理輸出等價類)。
由於輸出值的邊界不與輸入值的邊界相對應,所以要檢查輸出值的邊界不一定可能,要產生超出輸出值之外的結果也不一定能做到,但必要時還需試一試。
⑷如果程式 的規格說明給出的輸入或輸出域是個有序集合(如
順序檔案
、線形表、鍊錶等),則應選取集合的第乙個元素和最後乙個元素作為測試用例。
⒊錯誤推測
在測試程式
時,人們可能根據經驗或直覺推測程式中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的測試用例,這就是錯誤推測法。
⒋因果圖
等價類劃分和邊界值方法分析方法都只是孤立地考慮各個輸入資料的測試功能,而沒有考慮多個輸入資料的組合引起的錯誤。
⒌綜合策略
每種方法都能設計出一組有用例子,用這組例子容易發現某種型別的錯誤,但可能不易發現另一型別的錯誤。因此在實際測試中,聯合使用各種測試方法,形成綜合策略,通常先用黑盒法設計基本的測試用例,再用
白盒法 補充一些必要的測試用例。
作用:⒈指導測試的實施
測試用例主要適用於
整合測試
、系統測試
和回歸測試
。在實施測試時測試用例作為測試的標準,測試人員一定要按照測試用例嚴格按用例專案和測試步驟逐一實施測試。並對測試情況記錄在測試用例管理軟體中,以便自動生成測試結果文件。
根據測試用例的測試等級,
整合測試
應測試那些用例,
系統測試
和回歸測試
又該測試那些用例,在設計測試用例時都已作明確規定,實施測試時測試人員不能隨意作變動。
⒉規劃測試資料的準備
在我們的實踐中測試資料是與測試用例分離的。按照測試用例配套準備一組或若干組測試
原始資料
,以及標準測試結果。尤其象測試報表之類資料集的正確性,按照測試用例規劃準備測試資料是十分必須的。
除正常資料之外,還必須根據
測試用例設計
大量邊緣資料和錯誤資料。
⒊編寫測試指令碼的"設計規格說明書"
為提高測試效率,軟體測試已大力發展自動測試。自動測試的中心任務是編寫
測試指令碼
。如果說
軟體工程
中軟體程式設計必須有設計規格說明書,那麼
測試指令碼
的設計規格說明書就是測試用例。
⒋評估測試結果的
度量 基準
完成測試實施後需要對測試結果進行評估,並且編制
測試報告
。判斷軟體測試是否完成、衡量測試質量需要一些量化的結果。例:
測試覆蓋
率是多少、測試合格率是多少、重要測試合格率是多少,等等。以前統計基準是軟體模組或功能點,顯得過於粗糙。採用測試用例作
度量 基準更加準確、有效。
⒌分析缺陷 的標準
通過收集
缺陷 ,對比測試用例和缺陷
資料庫 ,分析確證是漏測還是缺陷復現。漏測反映了測試用例的不完善,應立即補充相應測試用例,最終達到逐步完善
軟體質量
。而已有相應測試用例,則反映實施測試或變更處理存在問題。
軟體測試基礎知識 測試用例,測試用例的設計方法
測試方案和測試用例均屬於測試的設計文件,測試用例描述了輸入動作和乙個期望結果,目的是確定程式的某個功能是否能正常工作 參考依據 需求規格說明書,需求分析結果,測試方案 編寫人和時間編寫工具和輸出文件 編寫工具 excel,word,zentao,buggree,testlink 輸出文件 測試用例 ...
軟體測試基礎知識(13)測試用例方法總結
一.測試用例方法總結 通常,在確定測試方法時,應遵循以下原則 根據程式的重要性和一旦發生故障將造成的損失來確定測試等級和測試重點認真選擇測試策略,以便能盡可能少的使用測試用例,發現盡可能多得程式錯誤。要在測試過度和測試不足中找平衡點 二.測試方法選擇 通常在確定測試方法時,有以下幾條參考原則 1.拿...
軟體測試基礎 測試用例詳解
軟體測試是軟體質量管理中最實際的行動,也是耗時量最大的一項工作,所以在測試過程中需要有組織 有步驟 有計畫的開展,需要能夠被量化管理,而測試用例就是將測試行為具體量化的方法之一 一 什麼是測試用例?測試用例 就是設計一種情況,軟體在這種情況下能夠正常或異常執行並達到預期結果 而程式如果在這種情況下不...