資訊工業策進會˙數位教育研究所
TDD.NET 自動化測試驅動開發實戰班
《 107/10/3開課,9/21前報名即享早鳥優惠
~歡迎企業洽談包班需求~
 ◆ 課程源起

    TDD (Test-Driven Development),測試先行的觀念已逐漸被軟體開發單位接受。但如何達成自動化的測試?要測試的是哪一類型程式?如何撰寫測試測試等,一般開發人員甚或 QA 單位仍顯模糊。對於 Developer 而言,利用如 .NET Unit 測試框架,撰寫以類別為單位的功能性與單元性的測試程式,是確保需求功能的正確性。而為了達成驗收交付的目的,圖形界面操作的自動化測試,在高精確度驗收與大型的專案中仍是需要的。所以在本次課程中,我們也會介紹如何利用 GUI 的測試框架,包括在 Web UI 環境中,來達成 Web表單、輸入數據等自動化操作。同時課程也整合了從 GUI 的自動化操作到連結後端系統的功能性物件的整合性測試 (integration test),一氣呵成,全部自動化,花一次工即可。課程內容同時也說明了,對於自動化測試的環境建置,以及如何利用現今通用流行的 Mock,來隔離測試所造成對環境的影響,讓測試可以更靈活可行。

 ◆ 課程目標

。瞭解TDD的精髓與撰寫原則
。區別幾個主要的測試類型與作法-整合 (含UI)、功能驗收/單元
。釐清開發人員與QA單位各自關於測試的職掌與相關技能
。撰寫高品質的測試案例 (test case)並橋接實作的自動化測試 (automation test)
。使用Mock的技術,隔離測試所造成對環境的影響,讓測試可以更富彈性
。運用開源的開發工具與測試框架 (framework),大幅降低測試的成本與提升軟體的品質

 ◆ 預備知識

。本課程不講授程式語言 (如 Java or C#.NET)的語法,所以參與課學員須有基本的程式設計基礎。

 ◆ 課程注意事項

。本課程請學員自備筆電。建議規格如下:
硬體需求
• 1.6 GHz 或更快的處理器
• 1 GB RAM (若在虛擬機器上執行則為 1.5 GB)
• 4 GB 可用硬碟空間
• 5400 RPM 硬碟
• 具備 DirectX 9 功能,並以 1024 x 768 或更高顯示解析度執行的視訊卡
系統需求
• Windows 8.1 及 Windows Server 2012 R2 上需有 更新 2919355 (也可透過 Windows Update 取得),才可成功安裝 Visual Studio 2015。
其他需求
• Windows 市集和 Windows 通用應用程式開發
  o Windows 8.1 和 Windows Phone 8.1 開發需要 Windows 8.1 Update (含) 以後版本
  o Windows Phone 8.0 開發需要 Windows 8.1 Update (x64) (含) 以後版本
  o 針對 Windows 模擬器,需要 Windows 8.1 (x64) 專業版 (含) 以上版本,以及支援用戶端 Hyper-V 及第二層位址轉譯 (SLAT) 的處理器。

 ◆ 適合對象

1. 已擔任撰寫一般應用程式的開發人員。
2. QA 單位或 SA 人員,想要瞭解如何撰寫測試案例與如何提供測試數據。
3. 系統專案經理與技術長等,希能將測試觀念與技能併入開發流程內。
4. 資訊相關課程講師,希能瞭解軟體系統的自動化測試做法。 

 ◆ 課程日期
107年10/3-10/4 ( 週 三四 白天 9:00 ~ 17:00 ),共2天、計14小時。
*主辦單位得視報名情況而保留實際開課日期的變更權利 。
 ◆ 上課地點
資策會 數位教育研究所,台北市信義路三段153號10樓。
上課地點位於捷運大安站1號出口左轉約20公尺(農會大樓樓上)
* 上課地點與教室之確認,以上課通知函為主。
 ◆ 課程內容
   
課程單元
課程內容大綱
測試概觀介紹 。測試的種類與軟體品質
  >>功能性(functional) /單元性(Unit)測試
  >>UI 自動化操作測試 
  >>整合性測試 (整合 UI/單元 測試) 
  >>測試人員的角色界定與職掌
。基於 TDD 測試驅動的要點 
  >>驗證系統功能的正確性 
  >>簡單設計/隨時重構 (re-factoring) 
  >>測試環境的建置
撰寫測試案例與
整理測試數據
。整理功能需求陳述
。撰寫測試案例情節 (test scenario)
。整理測試數據-輸入與期望值
。利用 UML 工具產出高品質的測試文件

單元測試 (unit test)-
撰寫功能/單元測試程式碼 (C#.NET)

。簡單設計-實作 POCO (plain-old CLR object)的功能/單元類別
。利用 VS.NET 內建測試框架 (test framework)建立測試類別骨架(test class skeleton) 
。依據測試情節與數據實作測試類別
  >>同時撰寫與維護單元類別及測試類別
  >>對程式碼作重構-馬上跑測試程式 
。工具說明與應用 
  >>MS.NET Test Framework 基本語法說明與範例
  >>利用 Test Runner 執行所有自動化測試程式   
  >>Daily build-使用 Git 版控建置與整合單元/測試程式碼

測試環境建置-
使用 Mock Framework

。探討Mock,Stub與Fake的異同
。使用Stub Pattern的時機
  >>PrincipalStub – 如何模擬使用者的登入
  >>DabaseStub – 如何隔絕資料庫的影響
  >>HostMachineStub – 如何分隔外部系統對於邏輯的影響
。使用Mock取代Stub
  >>Mock Framework的使用
  >>使用動態Mock取代靜態Stub
。探討Isolation Testing與Integration Testing

撰寫UI自動化操作測試
程式碼 (C#.NET)

。UI Testing 的原理與背景介紹
。Selenium的IDE 介紹
  >>API說明與用法 
  >>WebDriver, By, WebElement, Alert, Actions與WebDriverWait
。設計可以執行後端服務的 ASP.NET Web MVC 表單
。撰寫 selenium 自動化執行程序
。整合 Unit Test與 selenium,達成從 UI 至後端控制物件的自動化測試

* 課程執行單位保留調整課程內容、日程與講師之權利

 ◆ 報名方式

本課程採線上報名,請按右方【我要報名】進入報名系統
課程諮詢電話:(02)6631-6534 黃小姐  聯絡E-mail:wenhsin@iii.org.tw
報名確認電話:(02)6631-6535 郭小姐  聯絡E-mail:florakuo@iii.org.tw


 ◆ 課程費用與繳費

1.本課程原費用NT$11,000元(含稅)費用含課程、講義及 午餐餐盒。
2.
凡於9/21前完成報名並填寫繳費資料者,可享優惠價NT$8,800元(含稅)。 
3.招生及最低人數: 本課程預計招收人數為30人,至少需達12人才予開課。
4.團報優惠:兩人團報可打95折、四人團報可打9折優惠。
團報優惠與早鳥優惠可一併使用。
課程報名系統每個帳號僅提供一位學員報名,若為團報學員,每位皆必須完成線上報名,並於其他金額說明欄位註記「與XXX一起團報」,以利事後核對名單。
5.課程若未如期開班,費用將全額退還。
6.請以信用卡或即期支票支付—
以信用卡支付者:請務必將正確信用卡資料填寫於繳費方式資料表。
以即期支票支付者:抬頭為「財團法人資訊工業策進會」,劃線並禁止背書轉讓,以掛號寄至台北市106
復興南路一段390號15樓 邱小姐 收。

 ◆ 報名確認與取消

1.已完成報名與繳費之學員,課程主辦單位將於開課三天 前以E-mail方式寄發上課通知函;若課程因故取消或延期,亦將以E-mail方式通知,如未收到任何通知,敬請來電確認。
2.已完成繳費之學員如欲取消報名,請於實際上課日前以書面通知業務承辦人,主辦單位將退還90% 課程費用。
3.學員於培訓期間如因個人因素無法繼續參與課程,將依課程退費規定辦理之︰上課未逾總時數三分之一,欲辦理退費,退還所有上課費用之二分之一,上課逾總時數三分之一,則不退費。
4.本單位保留是否接受報名之權利
5.如遇不可抗拒之因素,課程主辦單位保留修訂課程日期及取消課程的權利。

 ◆ 結業證書

    依資訊工業策進會ISO品質系統之「教育訓練服務程序」規定,本課程為短期班,參訓學員缺課未超過總時數五分之一者,結業時由本會核發結業證書。

  餐點服務
    本課程上課期間,每天都會提供午餐,學員不需自行準備或額外付費。
 ◆ 學習護照

    資策會為人事行政局首批認證審定之民間學習機構,參加本課程之中小企業員工,亦可獲得「中小企業終身學習護照」認可之時數;此外,公務人員參加資策會課程,學習時數可登錄「公務人員終身學習護照」。

資訊工業策進會 數位教育研究所  版權所有,禁止侵害,違者必究。
Copyright (c) 2017 III Digital Education Institute. All Rights Reserved