l

2011年1月17日 星期一

土炮跨平台自動化功能測試環境:補充篇

Jan. 17 22:03~23:02

昨天 Teddy 談到『土炮跨平台自動化功能測試環境』的建置重點,包含。
  • 儘早為待測軟體寫安裝/反安裝程式
  • 使用 DRBL 從 server 端自動載入執行功能測試案例所需的作業系統
  • 用 Robot 作為自動化功能測試框架
不過昨天漏掉了一點,少談了『自動佈署測試框架』 這個問題。假設鄉民們要在 Windows 7 64-bit,Windows 2008 64-bit,Ubuntu 64-bit 與 CentOS 64-bit 上面用 Robot 測試自己開發的軟體,當 OS 裝完之後,至少也要把 Robot 裝上去。 假使鄉民們的軟體需要用到 Firefox 3.5,那這個也要順便裝好。總之,待測軟體本身可以利用待測軟體的安裝程式來佈署,但是其他週邊『哩哩扣扣』的東西就不一定有現成的自動安裝方法。

這有什麼大不了的嗎?安裝測試環境到四個作業系統,頂多花四個小時好不好,有什麼好『自動化』的。是沒錯,但是考量到:
  • 如果未來支援的作業系統變多,每次都要花時間安裝很煩。而且有時候要裝好後還要手動作設定,一不小心手ㄎㄟ就有可能做錯。產生 bugs,就是一種浪費。
  • 如果鄉民們和 Teddy 一樣,開發的軟體是會認『主機板』的,那麼要需要安裝的 OS images 就很可觀了。這時候,每次都要重複人工佈署測試環境也是一種時間與人力的『浪費』。請參考這一篇 『消除浪費 (3):Relearning 』。
  • 如果開發人員也想要在自己的開發環境中執行一下『功能測試』,那麼又要自己安裝一次測試環境。這位開發人員很可能會因為不熟悉如何安裝而延後測試的時機。這也是一種浪費,請看『消除浪費 (6):Delays 』。
還記得 Teddy 說的:建制一個『自動化測試環境』,並且要讓在這個環境中加入一個 acceptance tests 這件事變得很透明且很簡單。現在還要加上一句『人人有測試環境可用』,如此方可達到『人人有功練習』的境界。
 

***

講了這麼多,總之就是要『想辦法』自己把所需要的測試環境看看能不能打包成一個 zip 檔案,然後只要隨便在想要測試的電腦中解開,再執行一個 script 設定一下環境變數這類的事情,就完成了測試環境的佈署了。換句話說,就是要把測試環境變成『綠色軟體』,差不多就是這個意思,這樣大家應該瞭了吧。


每個團隊所使用的測試工具與需要的環境都不一樣,因此 Teddy 也只能講個大概,實際的『苦工』就要靠各位有心的鄉民們自行處理了。

***
在結束本篇之前,Teddy 想提一下 TPS (Toyota Production System) 裡面所提到的『自働化』觀念。簡單的說,很多事情鄉民們以前可能都覺的『這是不可能滴』,但是如果一直思考如何用『自働化』來逐步實現原本認為不可能的事情,那麼這件事最後就有可能變得可行。例如,假設鄉民們的團隊只有 5 個人,被要求要開發支援:
  • 所有的 Windows 與 Linux 系列的作業系統。
  • IE 8, IE9, Firefox 3.x, Chromium。
  • DB2, Oracle, SQL Server, SyBase, Informix, MySQL, H2, HSQL。
如果傻傻的卯起來寫程式,就算是『寫 code 寫到手抽筋』也是白搭。但是如果可以想想:
  • 如何簡化跨平台軟體『開發』的困難?
  • 如何簡化跨平台軟體『測試』的困難?
  • 如何同時支援不同的瀏覽器?
  • 如何同時支援不同的關聯式資料庫?
漸漸的,答案可能就會浮出。

路人甲:那答案是什麼?

Teddy:你有付顧問費嗎...XD

同樣的,如果團隊中沒有『專門的測試人員』,這並不表示團隊的測試就『被允許』可以做的比較差。『土炮』雖然沒有『洋槍洋炮』那麼厲害,不過就好像武林高手一樣,功夫到了一定境界,樹葉都可以殺人....(路人甲內心獨白:希望被殺的不是自己...)。


***

友藏內心獨白:其實 Teddy 自己也沒動手做過,都是出一張嘴而已。

沒有留言:

張貼留言