測試設計:將歸納的測試目標轉化爲具體的測試條件和測試用例的一系列活動架構
測試分析和設計的主要任務工具
- 評審測試依據(需求、系統架構、設計和接口說明)
- 評估測試依據和測試對象的可靠性
- 經過對測試項、規格說明、測試對象行爲和結構的分析,識別測試條件並肯定優先級
- 設計測試用例,並肯定優先級
- 肯定測試條件和測試用例所需的必要測試數據
肯定測試條件測試
- 依據在測試策劃或者測試計劃中肯定的測試技術
- 經過對策是依據與測試目標的分析,能夠肯定須要測試的內容,得到測試條件
測試用例:設計
經過使用在測試計劃中肯定的測試技術與測試方法,對於已肯定的測試條件進行逐步推敲,精煉而設計出來的,重點說明如何具體操做,產生何種結果的文檔對象
- 特色:可重複性,可驗證性,需求可追蹤性
設計的關鍵點:排序
- 前提條件:如項目或局部測試環境的需求,及其交付計劃
- 測試步驟:可還原,可檢測,不可有歧義
- 測試數據
- 預期結果
設計方法:接口
- 等價類劃分法
- 邊界值法
- 因果圖設計法
- 斷定表設計法
- 正交實驗法
- 場景法
定義:把程序的輸入域劃分紅若干部分,再從每一個部分中選取少數表明性數據當作測試用例,每一類的表明性數據在測試中的做用等價於這一類中的其餘值文檔
劃分原則:系統架構
- 若是輸入條件規定了取值的範圍或者值的個數,則可肯定一個有效等價類和兩個無效等價類
- 對立關係:若是一個輸入條件說明了一個 「必須成立」的狀況,則可劃分一個有效等價類和一個無效等價類
- 若是輸入條件規定了輸入數據的一組可能的值,並且程序是用不一樣的方式處理每一種值,則可爲每一種值劃分一個有效等價類,並劃分一個無效等價類
- 若是已明確,已劃分的某等價類中的各元素在程序中的處理方式是不一樣的,則應據此等價類進一步劃分紅更小的等價類
設計步驟軟件
- 明確測試對象,非測試對象保證正確
- 爲每個等價類規定一個惟一的編號
基於等價類劃分的用例設計
- 設計一個新的測試用例,使其儘量多地覆蓋還沒有覆蓋的有效等價類,重複這一步,最後使得全部有效等價類均被測試用例所覆蓋
- 設計一個新的測試用例,使其只覆蓋一個無效等價類。重複這一步,使全部無效等價類均被覆蓋
等價類的特色
- 測試相同的內容
- 若是等價類中的一個測試可以捕獲一個缺陷,那麼選擇該等價類中的其餘測試也能捕獲該缺陷
- 若是等價類中的一個測試不能捕獲缺陷,那麼選擇該等價類中的其餘測試也不會捕獲缺陷
- 若是正確的劃分等價類,能夠大大下降測試用例的數量,測試會準確有效
- 若是錯誤地將兩個不一樣的等價類當作一個等價類,那就會遺漏一種測試狀況
- 相反,把同一個等價類看做兩個不一樣的等價類,那麼測試就會是冗餘的
注意事項:
- 不但要考慮有效等價類,也要考慮無效等價類
- 仔細劃分,審查劃分
- 過於粗略可能會遺漏掉軟件缺陷
- 組織評審
定義:是一種補充等價劃分的測試用例設計技術,它不是選擇等價類的任意元素,而是選擇等價類邊界的測試用例
邊界值設計的原則
- 若是輸入條件規定了取值範圍,應以該範圍的邊界內及剛剛超範圍的邊界外的值做爲測試用例
用來處理等價類劃分和邊界值考慮不到的狀況,由於這兩種方法都是着重考慮輸入條件,而不考慮輸入條件的各類組合,輸入條件之間的相互制約關係因果圖法,適合用於描述多種條件的組合,產生多個相應動做的測試方法;從程序規格說明書的描述中找出因果關係
定義:是分析和表達多邏輯條件下執行不一樣操做的工具
組成部分:
- 條件樁:列出了問題的全部條件,一般認爲列出的條件次序可有可無
- 動做樁:列出了問題規定可能採起的操做,這些操做的排序順序沒有約束
- 條件項
- 動做項
設計步驟:
- 分析軟件規格說明中的因果,並給每一個緣由和結果賦予一個標識符
- 分析軟件規格說明中語義的內容,找出緣由與結果之間、緣由與緣由之間對應的關係,根據這些關係畫出因果圖
- 因爲語法或環境的限制,有些緣由與緣由之間、緣由與結果之間的組合狀況不可能出現。爲代表這些特定狀況,在因果圖上使用一些記號代表約束或限制條件
- 把因果圖轉換爲斷定表
- 根據斷定表的每一列設計測試用例
定義:是從大量的實驗點中挑選出適量的、有表明性的點,應用依據伽羅卡瓦理論導出的正交表,合理地安排實驗的一種科學的試驗設計方法
相關參數:指標、因子、因子的狀態
設計步驟:
- 提取功能說明,構造因子狀態表
- 加權篩選,生成因素分析表
- 利用正交表構造測試數據集
- 利用正交表每行數據構造測試用例
場景法設計步驟:
- 根聽說明,描述出程序的基本流及各項備選流
- 根據基本流和各項備選流生成不一樣的場景
- 對每個場景生成相應的測試用例
- 對生成的全部測試用例從新審覈,去掉多餘的測試用例,測試用例肯定後,對每個測試用例肯定測試數據值
測試用例項劃分
- 測試用例劃分的經典方法是瀑布模型,從上到下,逐漸細分;大模塊包括小模塊,小模塊包括更小的模塊
- 要從更多的角度切入系統,把系統切分紅一塊一塊地來進行測試,從而確保測試大項的完整性
切面測試
- 功能點切面:最多見的切面,一般認爲頁面上的一個按鈕就是一個功能點。根據功能的複雜程度,按每個功能進行用例的撰寫
- 隱含切面:完整業務流程的測試。從需求,業務角度進行編寫
功能點用例設計
- 任何狀況下都必須使用邊界值分析法,經驗代表,用這種方法設計出測試用例發現程序錯誤的能力最強
- 必要時用等價類劃分的方法補充一些測試用例
- 若是程序的功能說明中含有輸入條件的組合狀況,則一開始就可選用因果圖法
- 若是程序業務複雜度比較高,則適當使用場景法補充一部分測試用例