自動化測試 - 銀質?彈
建立自動化測試的指引方?? ( Guidelines )
您???以??照下列的建議,建立自動化測試指引方??或策略:
1. 定義哪些測試??????自動化測試
- 以下的工作??????自動化:
- 冗長的工作
- 自動化需??複執行??無?????且常會讓人犯錯的工作
- 從 well-develope 或 well-understood 的使用案例開始
- ??於還處於經常變動的系統,從較穩定的部分開始自動化
- 使用 Data-Driven 技術測試,???高測試涵蓋率的廣度與深度
- ??整個測試團隊,??需????個人都作自動化測試的工作,指派少數的專家負責自動化的工作
- 100% 的自動化測試是??實際的,人工測試還是?????或缺的基礎
2. 計劃作更多的測試
- 自動化測試讓測試團隊有更多的時間去???更多測試的工作
- 更多勘查?? ( exploratory ) 的測試
- 更多組態 ( configuration ) 的測試
- 更多自動化測試
- 更多人工測試,特別是????高風險的部分
- 費心的??劃測試,哪些??人工測試,哪些??自動化測試,????嘗試自動化所有的測試
- 設計所有測試並寫??文件,以確??自動化測試??能執行時,馬上???以人工測試???代
3. 將自動化測試當??是一項投資
- 訓練自動化測試工具的使用者
- 建立?????複使用的測試程??碼
- 將測試切割地更??更模組化以方便日後維護
- 測試程??碼也需??建立註解或說明文件
- 記得備份
- 測試程??碼也需??程??碼控管 ( source control )
- 瞭解自動化測試也是一種軟體開發的???程,雖然通常是?????工具產生程??碼
4. 以漸進??的方??導入自動化測試
- ????妄想在短時間之內就能將所有測試自動化,實行??期速度???以放慢一點,以??????經驗為主??目的
- 從??的專案開始導入自動化測試,並且以漸進的方??實行
自動化測試還???以為我們作些什麼?
雖然自動化測試在導入的??期,需??投資在計劃與訓練,但是這些投資日後還是會有所回報的,自動化測試???以讓您:
- ???昇軟體??質 – 因為您???以在更短的時間,以更少的資??,作更多的測試
- ???高測試涵蓋率
- 更多時間投入下列測試活動
- 細部的??劃
- 仔細的設計測試個案
- 建立更複雜的測試
- ??是更少,而是更多的人工測試
???在您已經瞭解『什麼是自動化測試???以???『自動化測試到底???以幫您作什麼???,希望您???以???用這些知識,確??軟體能在通???更多以???更好的測試後??出貨。雖然自動化測試並??是銀質??彈 ( silver bullet ),但是自動化測試確實是很好的工具,?????您能夠將其???用在???當的工作,相信您會得到??錯的回報。
???考資料
原文:The Rational Edge June 2001 Automated Testing: A Silver Bullet?
Cem Kane’s Web site