課程簡介
通過總結業(yè)界標桿公司的自動化測試方法、自動化測試架構技術、自動化測試優(yōu)秀實踐形成系統(tǒng)化的課程。賦能內容包括傳統(tǒng)的自動化測試技術(測試執(zhí)行自動化),也包含熱門的智能自動化技術(測試設計自動化)。課程以大量的實踐案例來引導學員理解和掌握先進的自動化測試方法。
目標收益
自動化不一定是智能化,但智能化一定是自動化的。通過本課程可以掌握自動化測試理論和方法,洞察最新的智能化測試技術。幫助完善測試架構師的能力棧,助力學員從測試效率和全質量屬性上去構建卓越的自動化測試保障體系。
培訓對象
自動化測試工程師、中高級測試工程師、測試架構師;
課程大綱
自動化測試趨勢 |
1.自動化技術貫穿在軟件研發(fā)的進化史中——開發(fā)、測試、運維 2.自動化測試的幾個概念和層級——自動化不一定智能化,但智能化一定是自動化 3.自動化(計算機)應用在不同測試活動環(huán)節(jié) 4.軟件開發(fā)生命周期中的自動化技術輔助 5.自動化測試優(yōu)勢發(fā)揮和智能化質量內建——執(zhí)行最適合自動化/設計也需要自動化(DFx) 6.自動化/智能化測試分級——協(xié)同、自動化、智能化 7.自動化測試的優(yōu)缺點 8.自動化測試的分層和金字塔模型演變 9.自動化測試的成本和收益 10.自動化測試質效評估維度 11.自動化測試的決策和影響因素 12.早期自動化測試技術發(fā)展 13.自動化測試生命周期/E2E流程 14.IPD流程中的自動化測試角色和分工配合 15.敏捷中的自動化測試挑戰(zhàn)——脆弱的測試 16.敏捷中使用自動化測試作為質量防護 17.敏捷中自動化測試的持續(xù)部署 18.自動化測試對敏捷開發(fā)生產力的影響 |
自動化測試技術 |
1.自動化測試的本質——IBO模型驅動的自動化 2.好的自動化測試用例評判標準 3.自動化測試引擎——腳本怎么驅動? 4.自動化腳本設計技術——腳本怎么寫? 5.自動化比較技術——Test oracle的定義和挑戰(zhàn) 6.自動化比較技術——Test oracle的完整性和準確性 7.自動化比較技術——Test oracle的其他挑戰(zhàn) 8.自動化比較技術——Test oracle的啟發(fā)式策略 9.自動化比較技術——Test oracle結果比較策略 10.自動化比較技術——Test oracle的平衡(敏感和健壯的沖突) 11.自動化比較技術——不同比較策略差異 12.自動化比較技術——比較器和過濾器 13.自動化比較技術——單一功能過濾器舉例 |
自動化測試架構基礎 |
1.軟件架構的概念 2.自動化測試架構的需求和定義 3.幫助自動化測試更好實施的準則 4.自動化測試件(testware)的管理 5.好的自動化測試的對外表現(xiàn) 6.自動化測試框架的架構——通用架構 7.自動化測試框架分類 8.自動化測試框架的功能 9.X-Driven Framework自動化測試框架對比 10.自動化測試替身(Test Double)的價值 11.自動化測試替身的分類和選擇策略 12.自動化測試框架的運行時異常處理 13.自動化測試框架的日志系統(tǒng) 14.自動化測試框架的報告生成 |
自動化測試架構實踐 |
1.自動化測試架構的需求分析5維度 2.好的自動化測試架構評判標準 3.合理的Testware文件系統(tǒng)架構 4.規(guī)范的Testware件配置管理 5.模塊化的Testware自動化架構組織 6.自動化測試框架設計原則 7.自動化框架關鍵模塊AW抽象原則和步驟 8.自動化框架應支持數(shù)據(jù)驅動參數(shù)的自動組合 9.靈活按需的自動化測試過程控制 10.自動化測試架構的建模和控制點設計 11.自動化測試框架的詳細分析和設計步驟 12.自動化測試架構的可測試性設計范圍 13.自動化測試架構的可測試性設計SOLID原則 14.AW和數(shù)據(jù)表驅動分析設計步驟 15.自動化測試架構中輸入的變化性設計——破除殺蟲劑悖論 16.不同種類自動化測試套通常的oracle策略選擇 17.常規(guī)測試test oracle策略的適用場景對比 18.變化性輸入測試test oracle策略的適用場景對比 19.自動化測試用例執(zhí)行的前后處理要求 20.自動化測試技術債務舉例和解決 21.債務解決:線性腳本和錄制回放類腳本的改造 22.債務解決:脆弱測試需解決耦合的外部依賴 23.債務解決:可解釋性差的壞味道代碼 24.債務解決:可維護性差的壞味道代碼——重復代碼 25.債務解決:可維護性差的壞味道代碼——結構重復優(yōu)化例子 26.債務解決:可維護性差的壞味道代碼——混亂的文件系統(tǒng)和參數(shù) 27.債務解決:可維護性差的壞味道代碼——復雜的測試邏輯 28.債務解決:不可信賴的壞味道代碼 29.債務解決:自動化測試執(zhí)行的加速 30.自動化測試的度量維度和度量項 31.自動化測試需要反復執(zhí)行放大收益 32.自動化ROI度量舉例 33.穩(wěn)定后的自動化縮短執(zhí)行時間 34.自動化測試實施經驗警句 |
智能化測試技術 —— 挑戰(zhàn) |
1.Software Defines Everything!Software Runs The World! 2.智能化產品大量使用復雜/龐大的開源軟件 3.集成第三方/開源項目的測試設計過程被壓縮 4.云/ABC的不確定性(難解釋性)影響測試分析 5.ABC智能化系統(tǒng)/產品/解決方案的測試設計越來越難 6.自動化測試(執(zhí)行)存在嚴重的殺蟲劑悖論 7.智能化測試需同時解決輸入域探索和輸出預期判斷的問題 |
智能化測試技術 —— 從隨機到混沌工程 |
1.ABC背景下的可靠性測試三層防護——人工+隨機+智能化 2.隨機自動化測試——FUZZING 3.隨機的混沌工程實驗/探索測試 4.混沌工程原則 5.混沌工程發(fā)展時間線 6.混沌工程和傳統(tǒng)測試對比 7.混沌工程的成熟度評估 8.Netflix創(chuàng)始的混沌工程平臺實踐 9.混沌工程關鍵技術 10.混沌工程技術發(fā)展趨勢 11.混沌工程技術相關文獻 12.混沌工程自動化實踐1——最大化注入事件的真實性 13.混沌工程自動化實踐2——安全混沌工程CloudStrike 14.混沌工程常用工具框架一覽 15.阿里混沌工程框架ChaosBlade——豐富的分層故障注入場景 16.混沌工程自動化平臺通用架構抽象 |
智能化測試技術 —— 啟發(fā)式隨機和符號執(zhí)行 |
1.普通隨機測試的盲目性會導致探索深度不夠 2.“智能”的啟發(fā)式隨機可靠性測試 3.程序行為分析“全路徑”的測試自動生成技術 4.智能化測試生成工具——符號執(zhí)行測試 |
智能化測試技術 —— 測試全自動生成 |
1.測試設計自動化——測試自動生成技術的分類 2.測試設計自動化——AI輔助的測試全自動生成 3.測試設計自動化——等效蛻變測試全自動生成 |
智能化測試技術 —— 基于搜索的測試(SBST) |
1.軟件工程問題的共性和本質 2.解決軟工問題的搜索優(yōu)化技術 3.SBSE領域的蓬勃發(fā)展 4.SBST的位置和研究領域 5.測試數(shù)據(jù)自動生成常用技術 6.SBST測試自動生成——爬山算法 7.SBST測試自動生成——GA算法 8.SBST技術演進趨勢 9.SBST技術業(yè)界實踐——Android應用自動探索測試 Sapienz 10.SBST技術業(yè)界實踐——崩潰復現(xiàn)用例自動搜索框架 BOTSING 11.SBST的相關工具 12.SBST的相關工具——Java單元測試自動生成 EvoSuite 13.SBST的相關工具——Android應用自動探索 Sapienz |
智能化測試技術 —— AI系統(tǒng)的測試生成 |
1.AI系統(tǒng)測試需解決的問題和挑戰(zhàn) 2.AI系統(tǒng)的測試過程 3.AI系統(tǒng)用例擴展的主要方法 4.AI駕駛測試技術洞察 5.AI系統(tǒng)的可靠性測試——充分性度量 6.AI汽車可靠性自動化測試概述 7.AI自動駕駛汽車的圖像“變異”方法 8.以神經元覆蓋率為用例有效性啟發(fā)策略 9.基于圖像變異合成+貪婪算法增加神經元覆蓋率 10.控制變質關系創(chuàng)建Test Oracle參照 11.控制變異幅度避免過度變異 12.其他AI-Based系統(tǒng)測試借鑒意義 |
智能化測試技術 —— 測試分析的自動化 |
1.迭代影響分析和策略自動生成 2.兼容性測試影響分析自動化——變更識別和防護 3.精準影響分析及測試執(zhí)行自動化 4.自動化用例健壯性分析自動化提升用例穩(wěn)定度 5.缺陷自動分析和定位 6.缺陷自動分析和定界 |
智能化測試技術 —— 其他 |
1.環(huán)境0等待之組網自動化技術 2.云自動化助力全量測試工廠加速 |
自動化測試趨勢 1.自動化技術貫穿在軟件研發(fā)的進化史中——開發(fā)、測試、運維 2.自動化測試的幾個概念和層級——自動化不一定智能化,但智能化一定是自動化 3.自動化(計算機)應用在不同測試活動環(huán)節(jié) 4.軟件開發(fā)生命周期中的自動化技術輔助 5.自動化測試優(yōu)勢發(fā)揮和智能化質量內建——執(zhí)行最適合自動化/設計也需要自動化(DFx) 6.自動化/智能化測試分級——協(xié)同、自動化、智能化 7.自動化測試的優(yōu)缺點 8.自動化測試的分層和金字塔模型演變 9.自動化測試的成本和收益 10.自動化測試質效評估維度 11.自動化測試的決策和影響因素 12.早期自動化測試技術發(fā)展 13.自動化測試生命周期/E2E流程 14.IPD流程中的自動化測試角色和分工配合 15.敏捷中的自動化測試挑戰(zhàn)——脆弱的測試 16.敏捷中使用自動化測試作為質量防護 17.敏捷中自動化測試的持續(xù)部署 18.自動化測試對敏捷開發(fā)生產力的影響 |
自動化測試技術 1.自動化測試的本質——IBO模型驅動的自動化 2.好的自動化測試用例評判標準 3.自動化測試引擎——腳本怎么驅動? 4.自動化腳本設計技術——腳本怎么寫? 5.自動化比較技術——Test oracle的定義和挑戰(zhàn) 6.自動化比較技術——Test oracle的完整性和準確性 7.自動化比較技術——Test oracle的其他挑戰(zhàn) 8.自動化比較技術——Test oracle的啟發(fā)式策略 9.自動化比較技術——Test oracle結果比較策略 10.自動化比較技術——Test oracle的平衡(敏感和健壯的沖突) 11.自動化比較技術——不同比較策略差異 12.自動化比較技術——比較器和過濾器 13.自動化比較技術——單一功能過濾器舉例 |
自動化測試架構基礎 1.軟件架構的概念 2.自動化測試架構的需求和定義 3.幫助自動化測試更好實施的準則 4.自動化測試件(testware)的管理 5.好的自動化測試的對外表現(xiàn) 6.自動化測試框架的架構——通用架構 7.自動化測試框架分類 8.自動化測試框架的功能 9.X-Driven Framework自動化測試框架對比 10.自動化測試替身(Test Double)的價值 11.自動化測試替身的分類和選擇策略 12.自動化測試框架的運行時異常處理 13.自動化測試框架的日志系統(tǒng) 14.自動化測試框架的報告生成 |
自動化測試架構實踐 1.自動化測試架構的需求分析5維度 2.好的自動化測試架構評判標準 3.合理的Testware文件系統(tǒng)架構 4.規(guī)范的Testware件配置管理 5.模塊化的Testware自動化架構組織 6.自動化測試框架設計原則 7.自動化框架關鍵模塊AW抽象原則和步驟 8.自動化框架應支持數(shù)據(jù)驅動參數(shù)的自動組合 9.靈活按需的自動化測試過程控制 10.自動化測試架構的建模和控制點設計 11.自動化測試框架的詳細分析和設計步驟 12.自動化測試架構的可測試性設計范圍 13.自動化測試架構的可測試性設計SOLID原則 14.AW和數(shù)據(jù)表驅動分析設計步驟 15.自動化測試架構中輸入的變化性設計——破除殺蟲劑悖論 16.不同種類自動化測試套通常的oracle策略選擇 17.常規(guī)測試test oracle策略的適用場景對比 18.變化性輸入測試test oracle策略的適用場景對比 19.自動化測試用例執(zhí)行的前后處理要求 20.自動化測試技術債務舉例和解決 21.債務解決:線性腳本和錄制回放類腳本的改造 22.債務解決:脆弱測試需解決耦合的外部依賴 23.債務解決:可解釋性差的壞味道代碼 24.債務解決:可維護性差的壞味道代碼——重復代碼 25.債務解決:可維護性差的壞味道代碼——結構重復優(yōu)化例子 26.債務解決:可維護性差的壞味道代碼——混亂的文件系統(tǒng)和參數(shù) 27.債務解決:可維護性差的壞味道代碼——復雜的測試邏輯 28.債務解決:不可信賴的壞味道代碼 29.債務解決:自動化測試執(zhí)行的加速 30.自動化測試的度量維度和度量項 31.自動化測試需要反復執(zhí)行放大收益 32.自動化ROI度量舉例 33.穩(wěn)定后的自動化縮短執(zhí)行時間 34.自動化測試實施經驗警句 |
智能化測試技術 —— 挑戰(zhàn) 1.Software Defines Everything!Software Runs The World! 2.智能化產品大量使用復雜/龐大的開源軟件 3.集成第三方/開源項目的測試設計過程被壓縮 4.云/ABC的不確定性(難解釋性)影響測試分析 5.ABC智能化系統(tǒng)/產品/解決方案的測試設計越來越難 6.自動化測試(執(zhí)行)存在嚴重的殺蟲劑悖論 7.智能化測試需同時解決輸入域探索和輸出預期判斷的問題 |
智能化測試技術 —— 從隨機到混沌工程 1.ABC背景下的可靠性測試三層防護——人工+隨機+智能化 2.隨機自動化測試——FUZZING 3.隨機的混沌工程實驗/探索測試 4.混沌工程原則 5.混沌工程發(fā)展時間線 6.混沌工程和傳統(tǒng)測試對比 7.混沌工程的成熟度評估 8.Netflix創(chuàng)始的混沌工程平臺實踐 9.混沌工程關鍵技術 10.混沌工程技術發(fā)展趨勢 11.混沌工程技術相關文獻 12.混沌工程自動化實踐1——最大化注入事件的真實性 13.混沌工程自動化實踐2——安全混沌工程CloudStrike 14.混沌工程常用工具框架一覽 15.阿里混沌工程框架ChaosBlade——豐富的分層故障注入場景 16.混沌工程自動化平臺通用架構抽象 |
智能化測試技術 —— 啟發(fā)式隨機和符號執(zhí)行 1.普通隨機測試的盲目性會導致探索深度不夠 2.“智能”的啟發(fā)式隨機可靠性測試 3.程序行為分析“全路徑”的測試自動生成技術 4.智能化測試生成工具——符號執(zhí)行測試 |
智能化測試技術 —— 測試全自動生成 1.測試設計自動化——測試自動生成技術的分類 2.測試設計自動化——AI輔助的測試全自動生成 3.測試設計自動化——等效蛻變測試全自動生成 |
智能化測試技術 —— 基于搜索的測試(SBST) 1.軟件工程問題的共性和本質 2.解決軟工問題的搜索優(yōu)化技術 3.SBSE領域的蓬勃發(fā)展 4.SBST的位置和研究領域 5.測試數(shù)據(jù)自動生成常用技術 6.SBST測試自動生成——爬山算法 7.SBST測試自動生成——GA算法 8.SBST技術演進趨勢 9.SBST技術業(yè)界實踐——Android應用自動探索測試 Sapienz 10.SBST技術業(yè)界實踐——崩潰復現(xiàn)用例自動搜索框架 BOTSING 11.SBST的相關工具 12.SBST的相關工具——Java單元測試自動生成 EvoSuite 13.SBST的相關工具——Android應用自動探索 Sapienz |
智能化測試技術 —— AI系統(tǒng)的測試生成 1.AI系統(tǒng)測試需解決的問題和挑戰(zhàn) 2.AI系統(tǒng)的測試過程 3.AI系統(tǒng)用例擴展的主要方法 4.AI駕駛測試技術洞察 5.AI系統(tǒng)的可靠性測試——充分性度量 6.AI汽車可靠性自動化測試概述 7.AI自動駕駛汽車的圖像“變異”方法 8.以神經元覆蓋率為用例有效性啟發(fā)策略 9.基于圖像變異合成+貪婪算法增加神經元覆蓋率 10.控制變質關系創(chuàng)建Test Oracle參照 11.控制變異幅度避免過度變異 12.其他AI-Based系統(tǒng)測試借鑒意義 |
智能化測試技術 —— 測試分析的自動化 1.迭代影響分析和策略自動生成 2.兼容性測試影響分析自動化——變更識別和防護 3.精準影響分析及測試執(zhí)行自動化 4.自動化用例健壯性分析自動化提升用例穩(wěn)定度 5.缺陷自動分析和定位 6.缺陷自動分析和定界 |
智能化測試技術 —— 其他 1.環(huán)境0等待之組網自動化技術 2.云自動化助力全量測試工廠加速 |