詳解利用Visual Studio 2010提高測試效率
Visual Studio 2010在測試方面的改進有目共睹,本文將結合作者所做實例,來為大家介紹自動測試的問題。
上文書說到測試人員小張給開發(fā)人員小李發(fā)來了一份淋漓盡致的Bug報告,果不其然,小李根據小張的這張“畫影圖形”沒費什么周折就將那個潛伏很深的Bug捉了出來??纱薆ug究竟是不是彼Bug呢?小張恐怕還得再跑一遍她發(fā)現(xiàn)彼Bug的測試以確認問題確實已經得到解決。其實,即使不是為了確認Bug是否已被剪滅,小張也得經常把她做過的很多測試重新跑跑,以確保代碼在被程序員們改來改去的情況下,以前跑得通的測試現(xiàn)在也還仍然跑得通,這也就是所謂的回歸測試。
不斷單調重復地做同樣的事情總是會讓人感到很郁悶,而VS 2010可以幫助小張解除做回歸測試的煩惱,這也是VS 2010另一個可能讓所有手工測試人員眼前一亮的地方。
我們還是拿測試人員小張和開發(fā)人員小李來說吧,譬如,當小張使用VS 2010中的MTR (Microsoft Test Runner)把自己編寫的某個手工測試(權且叫它TC 329吧)跑了一遍之后,MTR內置的一個被稱作“錄制/回放引擎”的裝置就會象錄音機那樣把她所做的每一步操作都錄制下來,隨后小李基于小張的這段“操作錄音”(也就是前文提到的操作日志 - Action Log)就可以在Visual Stuido中創(chuàng)建出一個被稱作"Coded UI Test"的測試(參考下面三幅圖),本質上,他其實是把小張跑過的手工測試轉化成了一種基于.NET代碼的自動化測試。
(使用操作“錄音”將手工測試轉換成自動化測試)
(計算器加法測試的操作“錄音”)
(加法測試的操作“錄音”被轉換成代碼后的樣子)
當TC 329被轉換成自動測試之后,只要在小張測試路徑上的界面元素不出現(xiàn)大的調整,小張從此之后就可以讓機器替她來做TC 329的回歸測試了。哇!想想吧,這能讓小張同志少做多少重復勞動吶 ;)
此外,小李還可以在這種"Coded UI Test"測試中加入一些驗證邏輯代替“肉眼”驗證界面元素的各種屬性,譬如文本內容、控件尺寸、字體大小、背景顏色之類的東東(參考下面兩幅圖)。
(使用Coded UI Test Builder定位界面元素)
(隨即通過可視化方式加入驗證邏輯)
值得一提的是,這些被自動化了的手工測試可以象單元測試那樣在程序員簽入代碼前或在源代碼被Build時被自動運行,顯然這將及時捕捉到無法通過已有測試的代碼,有效地防止當前系統(tǒng)因不良代碼的“侵入”而出現(xiàn)“退化”,同時,這也將大大減輕小張小李們Debug的負擔。
最后,我想再補充一點,那就是在手工測試的基礎上轉換而成的自動測試,即Coded UI Test,其后臺代碼,如前面的圖片所示,是標準的.NET代碼,可以是用C#寫的,也可以是用VB.NET寫的,總之不是用任何其它為廣大.NET開人員所不熟悉的腳本語言,如VBScript之類的東東寫的。
原文標題:使用VS 2010提高軟件測試自動化的水平(2) - 將手工測試轉換成自動測試
鏈接:http://www.cnblogs.com/taokey/archive/2010/03/29/1699841.html
【編輯推薦】