軟件測試下的定義是“使用人工或自動的手段來運行或測定某個軟件系統的過程,其目的在于檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別”。
一.Overview-測試用例概述
1.兩種測試方式:驗證性測試與清除性測試
2.測試平衡決策:測試質量與測試效率
3.測試過程:建立測試過程體系模板
4.軟件測試關鍵:測試用例分析與設計
5.提升測試效率:基于Scrum的探索性測試與啟發性測試
6.模型驅動測試:基于UML的測試建模
7.測試質量與測試用例分析設計的關系
8.測試用例文檔的詳細程度與測試文檔的編著時間
9.案例分析:對比不同測試工程師的測試用例文檔差異
二.Analysis-測試需求分析
1.實踐探索:請您描述什么樣的規格可以作為測試依據(評價標準)?
2.討論探索:如何依據不完整的規格進行測試
3.如何做到讓別人幫我補充需求
4.分析功能的外部邏輯結構-Function Spec
5.分析功能的內部實現結構-Design Spec
6.分析系統的約束與環境
7.發現問題與風險:深度測試分析與淺度測試分析
8.無規格文檔的產品測試分析
9.案例實踐:依據客戶熟悉的領域的案例完成測試需求分析
三.Matrix-測試需求矩陣(Google ACC)
1.分析產品領域屬性-Attributes
2.分析產品的功能組件-Components
3.分析產品的操控能力-Capabilities
4.使用矩陣方式組織產品的屬性、組件與能力
5.產品ACC矩陣的熱點分析、成本分析等
6.對比Google ACC與IBM CBM矩陣模型
7.案例實踐:依據客戶熟悉的領域的案例完成測試需求矩陣
四.Strategy-測試策略模型
1.靜態測試與動態測試
2.關鍵測試與邊緣測試
3.獨立測試與組合測試
4.常規測試與探索測試
5.功能測試與質量測試
6.手工測試與自動測試
7.覆蓋測試與隨機測試
8.討論探索:如何在成本與時間的壓力下選擇合理的測試策略?
五.Data-基于規格的測試數據設計
1.依據“輸入結構”來構造“測試數據”策略與技巧
2.使用測試技術合理縮減測試數據規模
3.歷史測試數據與隨機測試數據
4.使用構造工具提升構造測試數據的效率
5.測試輸入數據的復用-構造一次使用多次
6.搭建測試數據中心-團隊復用
7.判斷“測試數據”的發現缺陷的幾率
8.實踐探索:依據客戶熟悉的領域的案例完成測試輸入構造
六.Scenario-基于規格的測試場景設計
1.基于用戶與界面交互的測試場景構造
2.基于請求與響應的測試場景構造
3.基于背景工作者的測試場景構造
4.基于狀態機模型的測試場景構造
5.測試步驟中的“測試參數”
6.測試步驟中的“關鍵字”
7.實踐探索:依據客戶熟悉的領域的案例完成測試場景構造
七.Assert-基于規格的測試斷言設計
1.基于測試輸入的測試預期值手工計算
2.規劃真實值的獲取位置
3.規劃預期值與真實值的比對表達方式
4.構造測試結果的判斷標準(精準判斷、經驗判斷)
5.討論探索:對于報表類型的測試用例,如何描述斷言?
6.實踐探索:依據客戶熟悉的領域的案例完成測試斷言構造
八.Environment-基于規格的測試環境設計
1.基于部署架構規格的測試環境規劃
2.純凈環境、集成環境與干擾環境
3.測試環境設計原則(容量原則、分布原則、復用原則與隔離原則)
4.估算測試環境資源
5.測試環境的組合構造策略
6.測試環境的虛擬化(重復使用,減少測試成本)
7.案例研究:案例剖析:Google的GFS測試環境設計
8.實踐探索:依據客戶熟悉的領域的案例完成測試環境構造
九.Quality-基于質量特性的測試用例設計
1.選擇質量屬性測試策略
2.獨立功能疊加質量能力測試
3.質量屬性分解成“質量效用樹”
4.質量測試中的“攻防”策略
5.構造質量屬性測試的預期值與真實值的判斷標準
6.從用戶體驗視角的可用性測試標準(外觀標準與交互標準)
7.從功能視角的可用性標準(可靠性與穩定性標準)
8.實踐探索:依據客戶熟悉的領域的案例完成可用性測試
9.討論探索:依據客戶熟悉的領域的案例完成性能測試方案
十.Risk-基于風險的探索性測試設計
1.測試風險識別(風險模板、風險分類、發散性思維、FMEA)
2.基于風險選擇測試重點(測試的深度優先、測試的廣度優先)
3.基于風險執行測試用例
4.“敏捷探索性測試”補充“風險驅動測試”
5.業務深度探索性測試
6.討論探索:如何發現隱式業務規則約束?
7.技術深度探索性測試
8.案例分析:烏龍指事件的解析
9.經驗分享:講師如何完成微軟的Beta測試(無文檔的產品測試)
十一.Execute-輕量級測試用例執行
1.測試用例轉化為自動化測試腳本
2.基于測試化測試框架的測試執行機制
3.軟件變更與回歸測試
4.缺陷命中率與測試執行優先級別
5.測試報告與缺陷報告
6.探索性測試的執行過程記錄
7.動手實踐:轉化測試用例為自動化測試腳本
8.經驗分享:基于Software Factory的測試腳本編程
十二.Knowledge-搭建測試知識庫
1.討論探索:為什么有的測試者可以快速發現缺陷,而我卻不能
2.發現缺陷的經驗哪里可以獲得到?
3.研究缺陷庫中典型的缺陷發現的條件與場景
4.他人的測試經驗如何啟發自己的測試過程
5.如何管理自己的測試經驗
6.解讀成功測試策略模型:HTSM
7.動手實踐:使用思維導圖定制自己的HTSM模型