不測的祕密:精準測試之路----讀書筆記(第二章)
二:道與術
1、程式碼分析
解決:如何在保證質量前提下,縮減迴歸測試範圍
why:瞭解其內部實現,讓測試變得更精準
白盒測試優勢:對程式內部實現的瞭解; 黑盒測試優勢:對使用者場景的把握
2、測試分析理論由來
黑白測試核心思想:
白盒:架構、設計、實現
黑盒:需求、使用者
黑盒測試八招:
等價類、邊界值、場景分析、因果圖、判定表、錯誤推測、正交實驗設計、功能圖
在傳統測試中非常實用,但弱點也很明顯,黑盒符合二八原則,能發現80%左右的bug,20%的靠運氣。
白盒測試方法(內在邏輯):
語句覆蓋、分支覆蓋或判斷覆蓋、條件覆蓋、判斷/條件覆蓋、路徑覆蓋
在“快”重壓下,做好白盒級別的測試很難。
既取黑盒厚重,且化繁為簡--新方法產生:測分(測試分析)
建立在對需求本身及對應系統架構和實現細節的充分了解上,通過對資料流、狀態變化、邏輯時序、功能/效能/相容性等方面進行分析,得出詳細的測試關注點的過程。
敏捷開發模式下,唯一不變的是變化。測分是道,幫助我們快速分析出應該測試什麼,不該測試什麼。
3、全面認識測試分析
1)基於需求的分析
- 物件:需求說明書
- 分析基礎
對業務的熟悉
對使用者使用場景的瞭解
產品功能矩陣
- 分析方法
業務流程分析:描述業務的正向流程
業務狀態分析:描述業務物件的狀態轉換
測試範圍分析:需求本身的功能模組/受影響的功能模組
受影響的模組,如果不瞭解開發實現,很難界定
2)基於開發實現的測試分析
- 理清使用者/需求價值方向:對需求要解決什麼問題有清晰的認識
- 理清架構/實現的細節:需求經理解轉化為程式碼,程式碼的實現架構和細節就是產品的體現
分析測試關注點(界定內容、影響點):
- 功能測試詳細分析:
涉及模組(檔案)
模組互動時序
介面/類/函式設計
實現細節
- 效能測試詳細分析:
基於系統資源的效能測試分析
基於響應時間的效能分析
- 介面測試分析:
針對本次功能需求,是否具有可測介面,描述清楚為什麼要測及測哪些(介面測試覆蓋的介面定義描述;介面內部實現的相關邏輯;介面測試涉及的實現方案)
針對本次需求功能,是否有介面變更,分析變更影響範圍及測試內容(變更介面修改實現的相關邏輯細節;變更介面(函式)對模組內功能影響分析;變更介面(函式)對模組外功能影響分析)
- 穩定性測試分析:
穩定行測試場景設計(用例)
穩定性測試指令碼設計
- 相容性測試分析:
相容性測試相關點
開發相關實現細節
相容性場景設計、測試環境說明(實驗室或眾測)
* 從全面測試覆蓋到追求不測:精準測試呼之欲出