天天看點

《 自動化測試最佳實踐:來自全球的經典自動化測試案例解析》一一2.1 本案例研究的背景

2.1 本案例研究的背景

這個案例研究描述了我(指henri)在一個快速成長的新公司裡的經曆:剛開始的時候,大約有50個員工,但僅僅過了五六個月,員工數量就增加到超過100人。由于人員數量增加太迅速,導緻後來加入的很多開發人員和測試人員缺乏對産品的基本了解。知識的交流被極大地忽視了。結果,産品和測試的品質都很差。

辦公室裡有大約50 ~ 60個開發人員及20個專用測試人員,分别分布在同一辦公大樓的各個樓層。測試人員報告産品中存在的問題,但由于測試品質差以及缺乏對産品的充分了解,以緻這些問題往往被忽視。通過改善開發人員和測試人員兩個群體間的交流,開發和測試工作都從中受益并且品質都得到了提高。是以,良好的交流是開始考慮自動化測試的先決條件。

【真知灼見】

不要嘗試對設計很差的測試實施自動化,先完善測試,再進行自動化。

一個包含大約30 ~ 40個測試的典型的釋出測試隻在一個平台上運作,這就可能需要15 ~ 20個測試人員花費3 ~ 4周的時間。同時,由于釋出測試中有更多的bug修複周期和測試周期(一般是4 ~ 6個周期),是以,在可以釋出一個産品的新版本之前,過去需要大量的時間。由此可見,将以上過程實作自動化的需求是非常顯著的:周期必須縮短,人力資源必須減少,并且測試人員必須在多個平台上運作測試。

一開始,我們使用java語言開發了一個能夠滿足以上需求的内部工具,随後再将更多的新功能逐漸添加進去。到目前為止,這個工具的一個更新的版本也已經開發出來了,且又增加了一些新功能。測試也是用java語言開發的。雖然自動化測試是從gui自動化開始的,但是基于指令行界面的測試也變得日益重要,因為它可以使團隊更友善地通過已安排的分工協作進行自動化。

雖然當時有一些現成的測試套件可用于測試資料庫,但是我們并不知道使用什麼自動化工具來進行資料庫的測試。另外,我們的資料庫有當時市場上還沒出現的一些特殊功能,而這是現有的測試工具無法測試的。雖然當時已經開發出了一款内部測試工具,但是它根本沒法滿足我們的需求。那時,我們突然有一些可用資源來開始這樣的一個項目,基于這些原因,我們進一步開始測試工具的開發。