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