==7種==程序員
測試經常使用的方法:code review +代碼靜態分析、CI/CDide
CI--持續集成--開發成員常常集成它們的工做,儘快發現集成錯誤學習
CD--持續部署--將集成後的代碼部署到更貼近真實運行的環境測試
用例編號 用例標題 功能模塊名稱 前置條件 輸入數據 操做步驟 預期結果 設計
優先級 執行結果 編寫人 執行人 其餘補充項 code
(1)基於需求:依據需求來寫測試點blog
難點:讀出需求以外的測試點(需求很是的瞭解)開發
需求學習方法:、部署
(2)等價類--分類產品
思想:解決無窮輸入
目的:減小測試用例條目
概念:無窮輸入進行N個歸類,從第一個類中提取一個數據進行測試,只要這個數據測試經過,咱們就職務它所在的這一類的數據所有測試經過
有效等價類:根據需求說明書,和需求一致,有意義的輸入數據構成的集合
無效等價類:和需求不一致,不知足需求的集合
(3)邊界值:--黑盒測試方法
測試用例來自等價類的邊界,是等價類的一種補充方法,與它基本成對出現
場景:輸入和輸出
強調:輸入和輸出的「邊界值」
取值:開區間和閉區間
開區間--向外取值,閉區間--向內取值
【1,50】---0,1,50,51
(1,50】--1,2,50,51
(4)因果圖--條件和結果的關係--最後轉爲斷定表
場景:輸入(緣由)和輸出(結果)之間的關係
概念:輸入(緣由)和輸出(結果)之間的關係,輸出依賴輸入(多個)
因果圖須要掌握的基本知識
基礎概念:
恆等、與、或、非
恆等
若是緣由爲真,那麼結果一定爲真。
與
只有兩個緣由都爲真,那麼結果爲真
或
2個緣由有一個爲真時,結果爲真
非
緣由爲假,結果才爲真
因果圖設計測試用例的步驟:
- 列出全部輸入 - 列出全部輸出 - 理出輸入和輸出之間的關係 - 畫因果圖 - 畫斷定表,列數是輸出的輸入次方 - 從表裏提出測試用例 因果法設計測試用例能夠幫助測試人員理清輸入和輸出的關係,可是對於比較複雜的輸入和輸出,會耗費大量時間
(5)正交排列法:--減小用例數目,對因果圖的改進
原理:正交表,正交實驗(抽樣)
目的:減小測試用例的條數
兩條性質:
任何一列中出現的數字個數同樣\
任何兩列中有序對出現的次數同樣
L=N(TC)--L:正交表
N:行數實驗次數
T:水平數(變量的可取值個數)
C:因素數(變量的個數),列
N=C*(T-1)+1
步驟:
-變量提取出來 -提出水平 - 找出正交表(多個) -取值---映射到表中 -表中每一行就是一條測試用例 -特殊的測試數據表中沒有的添加進來
(6)場景法:業務流程(一個業務流程不必定是一個場景)
業務流程:把孤立的功能點串起來
註冊--登陸--寫郵件--發郵件
業務流程是場景法的典型用法
(7)錯誤推測法(猜想)
非憑空想象,是有來源的,三大來源:
- 對某項目測試時間長 - 用戶反饋 - 從故障庫中整理bug,梳理產品以往哪些地方容易出現問題
例如:輸入框要求字符類型--字符型
輸入非字符型:是等價類中的無效等價類,同時它也是錯誤推測法
- 分爲項目組評審 - 用戶評審:能夠是最終用戶也能夠是程序員 - 同行評審 - 白盒:要查看代碼
等價類劃分、邊界值分析、因果圖、場景法、正交實驗設計法、斷定表、驅動分析法、錯誤推測法、功能圖分析法,依據是用戶需求規格說明書、詳細涉及說明書
語句覆蓋、判斷覆蓋、條件覆蓋、路徑覆蓋、條件組合覆蓋,依據是代碼結構和邏輯
六種覆蓋標準發現錯誤的能力由弱到強的變化:
-語句覆蓋,每條語句至少執行一次。 -判斷覆蓋,每一個判斷的每一個分支至少執行一次。 -條件覆蓋,每一個判斷的每一個條件應取到的各類可能的值。 -判斷/條件覆蓋,同時知足判斷覆蓋條件覆蓋。 -條件組合覆蓋,每一個斷定中各條件的每一種組合至少出現一次。 -路徑覆蓋,使程序中每一條可能的路徑至少執行一次。