在進入到測試所需要的能力之前,我們來討論一下不同的測試方法。
先由功能性測試來說,主要的三個層次是單元測試(unit testing),整合測試(integartion testing)和功能測試(functional testing)。
這三種測試法的分佈應如下,大量的進行unit testing,少量的functional testing:
不過大部分的人都剛好相反,大量的進行funcitonal testing。這樣的問題在於functional testing是非常耗時耗力的。我最常看到的是客戶請了一大群非常聰明有能力的tester然後讓他們每天都坐在電腦前面照著runbook點選畫面按鈕,或是輸入名字,地址等。結果就是testing team永遠都趕不上進度,沒時間改善測試過程,更浪費了這群人的能力,照成職業倦怠。
所以測試中第一個要注意的事情就是正確的測試步驟分配:照以上講的,大量的unit test,適度的integration test和少量的functional test。
不過要達到這樣的境界需要其他的能力來支撐這種測試方法,比如說測試自動化(test automation),簡單地取得測試用資料(test data),和確保後端服務隨時可以取得聯繫。
下圖是我們網銀的system architecture。接下來幾篇會來看上列的能力如何支持testing team來完整測試系統的變化。
< 上一篇 Day11 - Continuous Integration - Artifact repository
> 下一篇 Day13 - Continuous Testing - Test Data (Part 1)