所在位置:首頁 -- 企業內訓 -- 正文

微軟軟件自動化測試最佳實踐 - 立項、流程、架構,工具、管理和新技術


發布時間:2013-2-17  來源:admin

課程簡介:
本課程屬于軟件自動化測試的高級課程,課程目標是讓測試人員和測試經理熟悉軟件測試自動化立項決定的考慮因素, 自動化測試的流程和控制, 架構的設計和優化, 工具的選擇考慮, 有效的自動化管理和新的技術。讓學員學會獨立的開發自動化測試,而不僅僅是簡單的使用第三方自動化測試軟件做測試。本課程對架構設計有相當深入的講解, 而不是對某一個已經存在的架構做一般性介紹。讓學員了解軟件軟件測試自動化的需求分析,設計和具體實施的過程。通過對案例的分析, 掌握怎樣開發單元測試,集成測試和系統與回歸測試自動化軟件,怎樣開發安全測試,壓力測試,全球化測試,本地化測試,性能測試的自動化軟件。怎樣用UIA開發GUI程序的自動化測試軟件,怎樣開發一般API程序的自動化測試軟件,及怎樣利用Spec Explorer開發Model Based測試自動化。怎樣有效的管理自動化測試和架構。
本課程在上一次培訓后學員反饋的基礎上,增加了課程的廣度和深度,結合國內軟件測試的具體情況,加入了許多具體的案例,使學員不僅能領會軟件測試自動化的基礎知識,并且通過具體的案例了解自動化測試的具體實施。
 

誰能受益于本課程:軟件開發和測試人員、技術總監、軟件管理經理
本課程通過對軟件測試自動化的介紹及各種應用的講解達到以下學習目標:
- 了解軟件測試自動化立項的判斷和準備工作
- 了解軟件測試自動化的需求分析, 設計和實施的過程
- 掌握怎樣設計一個結合自己公司實際的好的架構
- 掌握怎樣開發單元測試, 集成測試和系統與回歸測試自動化軟件
- 掌握怎樣開發Fuzz和Stress測試自動化軟件來提高軟件安全性和可靠性
- 掌握怎樣開發全球化測試, 本地化測試, 性能測試的自動化軟件
- 掌握怎樣開發一般API程序的自動化測試軟件
- 掌握怎樣開發GUI程序的自動化測試軟件
- 掌握怎樣利用UIA實現自動化測試
- 掌握怎樣利用支撐工具讓自動化測試更容易發現bug
- 掌握怎樣利用工具Spec Explorer開發Model Based測試自動化, 從而大幅度提高測試效率

時間
課題
簡述
Day1

Topic 1 軟件測試自動化的立項
- 揭開神秘面紗
- 自動化測試的立項判斷依據
- 自動化和手工測試的比例控制
- 一個完整的自動化測試包
- 什么是軟件測試‘全’自動
- 好的自動化測試是什么樣的

本章節首先揭開軟件測試自動化的神秘感。通過對一個典型的手工測試過程分析,講解自動化工作可以從哪些方面入手,什么樣的自動化測試才是一個完全的自動化測試。作為項目負責人或相關人員當考慮是否要采用自動化或者要自動化到什么程度時,判斷的依據是什么?另外以一個案例講解自動化測試的一般過程,給學員以概念:自動化的測試是什么樣子的,一個完整的軟件測試自動化應包括哪些,判斷一個自動化測試好壞的依據是什么。

Topic 2自動化測試的流程
- 自動化測試的流程:一個案例
- It is Team Work!
- 測試和開發成本
- 不要迷信測試驅動開發
- 項目進程控制

本章節重點講解自動化測試的流程,需求分析,設計,具體實施, 以及在這個過程當中各個角色的合作和配合.項目進程控制在流程當中是一個很重要的任務, 我們通過案例具體講解。

Topic 3測試自動化的架構設計
- 自動化測試的架構精髓
- 架構設計的考慮因素
- 怎么設計屬于自己的架構?
- 自動化測試的架構設計的案例分析

好的架構是設計好自動化測試體系的基礎;本章節闡述怎樣設計一個自動化測試的架構, 設計的精髓是什么?怎樣通過案例的分析并結合自己項目的實際情況設計一個屬于自己的測試架構?
Topic 4 軟件測試中各種測試的自動化
- 軟件中的安全問題和穩定性問題講解
- 自動化測試中的Fuzz和Stress測試
- 為什么Fuzz測試容易發現安全問題
- Fuzz和Stress測試的設計
- Fuzz測試的兩個重要點
- 何時需要Fuzz和Stress自動化測試
- 全球化測試和本地化測試的自動化設計
- 性能測試的自動化設計
本章節全面詳細的介紹軟件測試中各種測試的自動化實現。以具體的例子貫穿始終。另外,以軟件安全中常見的buffer overrun著手,通過挖出內存中call stack和分析常見的引起安全問題的代碼,介紹了為什么需要fuzz 和stress 測試。結合案例詳細的介紹怎么設計和實現Fuzz和Stress測試。并且結合本人實際的工作經驗,介紹了fuzz測試中的兩個關鍵點。并詳細討論全球化測試,本地化測試,性能測試的自動化設計。
Topic 5軟件測試自動化的具體實現技術
- 為什么C#適合開發自動化測試軟件
- 用C#實現一般的API和GUI測試
- 利用Reflection 實現自動化測試
- 自動化測試中delegation的應用
本章節用代碼示例講解怎樣用C#開發自動化測試軟件,用C#實現一般的API和GUI測試。另外介紹對軟件測試自動化很有用的兩個概念,并用代碼示例演示怎樣利用它們實現自動化測試。所有示例現場編譯運行,讓聽眾頓然覺得自己從零開始寫自動化測試并不是高不可攀的。如果你在使用不同的平臺和語言(像Java)也可以同樣從中受益,因為這里的很多思想是相通的。
時間
課題
簡述
Day2
 
 
Topic 6 UI Automation
- Microsoft UI Automation(UIA) 基本知識講解
- UI Automation中的Tree, Control Patterns, Properties, Event and Security
- 怎樣用UI Automation來實現UI 測試自動化
- 用UI Automation實現自動化測試的一個例子
Microsoft UI Automation(UIA)作為新的架構,應用越來越廣泛。它提供了可編程的訪問絕大部分UI 窗口元素功能。非常適合軟件測試自動化的實現。本章節講解UI Automation中的基本概念,有重點講述怎樣用UI Automation來實現UI 測試自動化,并用實際的代碼示例讓學員掌握實際應用的能力。
Topic 7 自動化測試的工具
- Record and playback 工具
- 市面上自動化測試工具的局限性
- 自己開發的必要性和可能性
- 自動化測試的支撐工具, 調試工具和虛擬工具

本章節介紹常用的自動化測試工具。首先從兩個大的分類介紹自動化常用工具Record and playback 工具和自動化測試所需的支撐工具。我們的目標是讓學員擺脫僅僅依靠測試工具來實現簡單的自動化測試,從而能夠自己設計和實現自動化測試。另外,介紹一些測試支撐工具,能夠更容易的發現,重現和分析bug,能夠提高測試自動化的程度和效率。

Topic 8 Model based 自動化測試設計
- 什么是model based 測試
- Model Based能做什么測試
- Spec Explorer工具
- Spec#語言
- Model based自動化測試的具體步驟
Model based測試設計應用領域相當廣泛。如果掌握可以很快的提高自動化設計的過程。本章節講解微軟的一個軟件自動化測試的工具SpecExsplore。通過一個實際的例子讓學員學會model based自動化測試的具體步驟。請注意,Spec Explorer不是圖形界面測試的record and play工具。
Topic 9 自動化測試的管理
- Test Cases 的管理
- 自動化測試架構的維護和管理
- Bug tracking
-自動化測試中bug重現
本章節介紹怎樣管理和維護自動化測試。從兩個方面著手;test case的管理和架構的維護管理。另外,測試中發現的bug怎樣重現和track至關重要,因為它直接關系到測試的好壞。
Topic 10 經驗分享
- 測試文化
- 怎樣才能做一個好的測試人員
- 測試人員的職業規劃
- 測試中明天的問題今天解決
將從自身的經驗出發, 討論怎樣才能做一個好的測試人員,或作為管理人員怎樣評估測試工作的績效。測試人員怎樣規劃自己的職業發展。怎樣去解決測試中明天的問題

中国北京单场足球彩票