4.軟件測試用例設計

1.黑盒測試用例設計方法

  • 等價類劃分法
  1. 等價類劃分法是一種典型的黑盒測試方法,使用這一方法時,徹底不考慮程序的內部結構,只依據程序的說明來設計測試用例;
  2. 等價類劃分法把全部可能的輸入數據,即程序的輸入域劃分紅若干部分,而後從每一部分中選取少數有表明性的數據做爲測試用例;
  3. 使用這一方法設計測試用例要經歷劃分等價類(列出等價類表)和選取測試用例兩步;
    • 劃分等價類:等價類是指某個輸入域的子集合,在該子集合中,各個輸入數據對於揭露程序中的錯誤都是等效的,測試某等價類的表明值就等價於這一類其餘值的測試;
    • 等價類的兩種狀況:有效等價類和無效等價類。
  4. 劃分等價類原則以下:
    • 按區間劃分;
    • 按數值劃分;
    • 按數值集合劃分;
    • 按限制條件或規則劃分。
  5. 舉例說明
  6. 從劃分出的等價類中按如下原則選擇測試用例
    • 爲每個等價類規定一個唯一的編號;
    • 設計一個新的測試用例,使其儘量多地覆蓋還沒有覆蓋的有效等價類,重複這一步驟,直到全部的有效等價類都被覆蓋爲止;
    • 設計一個新的測試用例,使其僅覆蓋一個無效等價類,重複這一步驟,直到全部的無效等價類都被覆蓋爲止。
  • 邊界值分析法
  1. 邊界值分析法也是一種黑盒測試方法,是對等價類劃分法的補充;
  2. 人們從長期的測試工做經驗得知,大量的錯誤是發生在輸入或輸出範圍的邊界上,而不是輸出範圍的內部。所以針對各類邊界狀況設計測試用例,能夠查出更多的錯誤;
  3. 舉例說明
  4. 這裏的邊界是指,至關於輸入等價類和輸出等價類而言,稍高於其邊界值及稍低於其邊界值的一些特定狀況;
  5. 使用邊界值分析法設計測試用例,首先肯定邊界狀況。應當選取正好等於,剛剛大於,或剛剛小於邊界的值做爲測試數據,而不是選取等價類中的典型值或任意值做爲測試數據。
  • 場景法
  1. 如今的軟件幾乎都是用事件觸發來控制流程的,事件觸發時的情景便造成了場景,而同一事件不一樣的觸發順序和處理結果就造成了事件流。這種在軟件涉及方面的思想也能夠引入到軟件測試中,能夠比較生動地描繪出事件觸發時的場景,有利於測試設計者設計測試用例,同時使測試用例更容易理解和執行;
  2. 場景說明
  3. 用例場景用來描述流經用例的路徑,從用例開始到結束遍歷這條路徑上全部基本流和備選流;
  4. 如圖所示,圖中通過用例的每條路徑都用基本流和備選流來表示,直黑線表示基本流,是通過用例的最簡單的路徑。備選流用不一樣的色彩表示,一個備選流可能從基本流開始,在某個特定條件下執行,而後從新加入基本流中(如備選流1和3),也可能起源於基本流或備選流,而後結束用例(如備選流4和2)
  • 測試要素分析法
  • 錯誤推測法
  1. 也能夠靠經驗和直覺推測程序中可能存在的錯誤,從而有針對性地編寫檢查這些錯誤的例子,這就是錯誤推測法;
  2. 錯誤推測法的基本思想是:列舉出程序中全部可能的錯誤和容易發生錯誤的特殊狀況,根據它們選擇測試用例。
  • 因果圖法
  1. 等價類劃分法和邊界值分析法,都是着重考慮輸入條件,但未考慮輸入條件之間的聯繫。若是在測試時必須考慮輸入條件的各類組合,可能的組合數將是天文數字。所以必須考慮使用一種適合於描述對於多種條件的組合,相應產生多個動做的形式來考慮設計測試用例,這就須要利用因果圖;
  2. 因果圖法是一個很是有效的黑盒測試方法,它可以生成沒有重複性的且發現錯誤能力強的測試用例,並且對輸入、輸出同時進行了校驗;
  3. 舉例說明:有一個表格的輸入,在第一列必須是A或B,第二列必須是數字,在此狀況下進行文件的修改,若是第一列字符不正確,則給出信息L,若是第二列不是數字,則給出信息M。
  • 正交矩陣法
  1. 優勢:正交試驗設計(Orthogonal experimental design)是研究多因素多水平的一種設計方法,它是根據正交性從全面試驗中挑選出部分有表明性的點進行試驗,這些有表明性的點具有了「均勻分散,齊整可比」的特色,正交試驗設計是一種基於正交表的、高效率、快速、經濟的試驗;
  2. 缺點:部分點可能在實際生產環境中極少用到,但測試過程當中卻花費了大量人力及時間去設計測試,而實際狀況下,咱們應該將更多的時間花費在用戶可能大量使用的測試點中;
  3. 參考路徑:https://www.cnblogs.com/Goongo/articles/9077477.html
  • 綜合策略
  1. 首先進行等價類劃分,包括輸入條件和輸出條件的等價類劃分,將無線測試變爲有限測試,這是減小工做量和提升測試效率最有效的方法;
  2. 在任何狀況下都必須使用邊界值分析方法。經驗代表,用這種方法設計出來的測試用例發現程序錯誤的能力最強;
  3. 能夠用錯誤推測法追加一些測試用例,這須要依靠測試工程師的智慧和經驗;
  4. 對照程序邏輯,檢查已設計出的測試用例的邏輯覆蓋程度,若是沒有達到要求的覆蓋標準,應當再補充足夠的測試用例;
  5. 若是程序的功能說明中含有輸入條件的組合狀況,則一開始就可選用因果圖法;
  6. 對於參數配置類的軟件,要用正交試驗法選擇較少的組合方式達到最佳效果;
  7. 對於業務流清晰的系統,能夠利用場景法貫穿這個測試案例過程,在案例中綜合使用各類測試方法
相關文章
相關標籤/搜索