日常的測試工作中都在有形無形的應用各種測試方法進行測試,只是沒有形成完整的體系概念。這幾天將測試用例設計方法進行彙總,將測試思想運用於實際工作中,從而更好的指導測試工作。
日常最常用的三種方法:等價類劃分、邊界值分析法、錯誤推斷法。
1.等價類劃分
在軟體測試中,窮舉法雖然是最安全最保險的一種方法但成本代價高,一般是不可取的。我們可以通過等價類劃分方法花費最小的代價來完成最高效的測試。
等價類劃分是把程式輸入域劃分成若干子集,然後從子集中選取少數具有代表性的資料進行測試。在子集集合中,各個輸入資料對於揭露程式中的錯誤是等價的。等價類分為有效等價類和無效等價類。
1.1有效等價類
對於程式規格來說合理的、有意義的輸入資料的集合,檢驗程式是否實現了規格說明中的功能和效能。
1.2無效等價類
不合理的、無意義的輸入資料集合,驗證程式處理意外資料的能力。
1.3劃分方法
劃分等價類時,可分為按區間劃分、按數值劃分、按數值集合劃分、按限制條件和規則劃分、按處理方式劃分。除了應掌握必須使同類資料的處理過程及處理結果完全一致的大原則,可參考以下劃分方法:
1)輸入條件規定了取值範圍或值的個數的情況下,可以確定乙個有效等價類和兩個無效等價類,如合格成績取值範圍為[60,100],則範圍內取值為有效等價類,範圍外<60和》100為無效等價類
2)輸入條件規定了輸入值的集合或「必須如何」的情況下,可以確定乙個有效等價類和乙個無效等價類,如:規定資料庫型別必須選擇oracle,則選擇oracle時為有效等價類,否則為無效等價類
3) 輸入條件是乙個布林量的情況下,可以確定乙個有效等價類和乙個無效等價類
4)輸入條件規定必須遵守某種規則的情況下,可以確定乙個有效等價類和若干個無效等價類(從不同角度違法規則),如:規定輸入必須為非0正整數,則無效等價類可以分為空、0、負整數、小數、字元等
5)在規定了輸入資料的一組值(假定n個),並且程式要對每個輸入值分別處理的情況下,可以確立n個有效等價類和乙個無效等價類。如下列框選擇「科目」,每個科目所顯示的資訊不同。
6) 在確知已劃分的等價類中各元素在程式處理鎮南關的方式不同的情況下,則應再將該等價類進一步的劃分為更小的等價類
1.4等價類表
在確立了等價類後,可以建立等價類表,列出所有劃分出的等價類
輸入條件
有效等價類
無效等價類
成績為[0,100]之間整數
[0,100]之間整數
大於100的整數
小於0的整數(負數)
帶小數字,如98.5
含有字母的字串
空1.5設計測試用例
然後從劃分出的等價類中按以下原則設計測試用例:
1)為每個等價類規定乙個唯一編號
2)設計乙個新的測試用例,使其盡可能多得覆蓋尚未被覆蓋的有效等價類,重複這一步,直到所有的有效等價類都被覆蓋為止
3)設計乙個新的測試用例,使其僅覆蓋乙個尚未被覆蓋的無效等價類,重複這一步,直到所有無效等價類都被覆蓋為止
2.邊界值分析法
以往的測試經驗表明,由於需求界定不準確、設計不嚴密、程式書寫手誤等等原因,對於這些資料範圍邊界的判斷是軟體極容易出錯的地方。大量的錯誤往往發生在輸入或輸出範圍的邊界上,因此針對各種邊界情況設計測試用例,可以檢查出更多的錯誤。
2.1邊界值適用場景
邊界值法多被應用於以上幾個場景中:
輸入(輸出)條件規定了取值範圍
輸入(輸出)條件規定了值的個數
程式規格說明書中提到的輸入或輸出是乙個有序的集合
程式中使用了乙個內部資料結構
邊界值取值應當選取正好等於、剛剛大於最大邊界值和剛剛小於最小邊界值最為測試資料。
2.2邊界值選擇測試用例原則
1) 如果輸入條件規定了值的範圍,則應取剛達到這個範圍的邊界值、以及剛超越這個範圍邊界的值作為測試輸入資料
2) 如果輸入條件規定了值的個數,則選取最大個數、最小個數、比最大個數多
一、比最小個數少一的數作為測試資料
3) 根據規格說明的每個輸出條件,使用規則1)
4) 根據規格說明的每個輸出條件,使用規則2)
5) 若輸入域是有序集合,則選取集合的第乙個元素和最後乙個元素作為測試用例
6) 如果程式使用了乙個內部資料結構,則應當選擇內部資料結構上得邊界值作為測試用例
7) 分析規格說明,找出其他可能的邊界條件
3.錯誤推斷法
錯誤推斷法一般基於以往的測試經驗和直覺,參照以往的軟體系統出現的錯誤,推測程式中可能存在的各種錯誤,列出程式中所有可能有的錯誤和容易發生錯誤的情況,有針對性的設計測試用例。
例如:單元測試用例中列出許多在模組中常見的錯誤、以前產品測試中曾經發現的錯誤等
輸入資料為0或字元為空
各種情況在產品說明中常常被忽視,也可能被程式設計師遺忘,但在實際使用中卻經常發生。測試人員要站在使用者的角度,考慮他們要輸入的資訊,而不管這些資訊看起來是合法的輸入還是非法的輸入。
等價邊界值測試 日期
原始碼位址 分析步驟 有效等價類 有效值邊界值 無效等價類 邊界值年份 1971,2035 1980 1971 大小 1971 1970 2035 1971,2036 型別 月份 1,12 31 大小 1 012 12,13型別 b月份和天數 大月 1,31 2031 大小大月 31,32小月 1,...
unit3 邊界值與等價類
邊界值分析技術 邊界值選擇基本原則 如果輸入條件規定了取值範圍,則以此範圍為基礎設計測試用例。如果輸入條件規定了取值的個數,則以個數為基礎設計測試用例。如果需求規格說明中指定了輸出的範圍和取值的個數,參考使用原則1和2。如果輸入或輸出是乙個有序集合,如 線性表 順序檔案等 則選擇該序列中的第乙個及最...
黑盒測試 等價類劃分 邊界值分析
邊界值分析 把全部輸入資料合理地劃分為若干等價類,在每乙個等價類中取乙個資料作為測試的輸入條件,就可以用少量代表性的測試資料取得較好的測試結果。有效等價類 指對於程式的規格說明來說是合理的 有意義的輸入資料構成的集合。無效等價類 與有效等價類的定義恰巧相反。設計測試用例時,要同時考慮這兩種等價類。因...