軟件功能自動化測試工具給我們帶來了什么
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2012/3/13 10:41:44 ] 推薦標(biāo)簽:
首先說說為什么做測試的人喜歡搞自動化。
第一,自尊心。計算機(jī)科班出身的人都喜歡作開發(fā)(Dev)。做測試工作經(jīng)常是身不由己,可是測試工作很多時間不需要編程,于是做測試的人想方設(shè)法寫些程序,以顯示自己也會編程。結(jié)果往往是欲罷不能,測試自動化程序越寫越多,越寫越復(fù)雜。后面我會談?wù)劀y試自動化框架復(fù)雜的代價。
第二,為了出成績。很多測試組為了向管理層展示成績,往往要拿出例如測試自動化達(dá)到80%,程序覆蓋率達(dá)到90%。要我說,這些都是Bull Shit. 象小平同志說的“實踐是檢驗真理的標(biāo)準(zhǔn)”,我認(rèn)為在測試中“用戶不出問題是檢驗質(zhì)量的標(biāo)準(zhǔn)”。自動化做的再多,用戶出了問題,也是白搭。另外,一個人可以做的測試,自動化往往需要兩個,三個。倒是解決業(yè)的好方法。
我對測試自動化的認(rèn)識也有一個變化的過程。剛剛?cè)胄袝r也是很相信自動化,想方設(shè)法寫一些從頭到尾自動化的框架,覺得自動測試很過癮。到微軟的Portal Media Center組后也是和另外兩個人做了一個相當(dāng)復(fù)雜的用戶界面的自動測試。其實現(xiàn)在想想,用自動測試發(fā)現(xiàn)的問題基本上可以一個人用手工測試完成,多寫些簡單的測試輔助工具可以完成。有些人可能會說自動化可以為產(chǎn)品的下一個版本節(jié)省測試時間。其實Portal Media Center 下一個版本出來時,所有戶界面完全變了,80%以上的自動測試程序都需要改動。做完第一個版本,我們?nèi)齻人全都走掉了。后面來的人往往寧可自己再寫一套,也懶得改以前人的程序。自動化的浪費(fèi)是這樣造成的。想說服別人用你開發(fā)的自動測試框架是很難的,所有人都想另搞一套。
接下來我先以我的多年工作經(jīng)驗來說一下有關(guān)功能自動化測試工具的詳情吧。
功能自動化測試工具給我們帶來了什么?我不知道大家如何看待這個問題,我總覺的很多人把功能的自動化測試工具看的特別的“厲害”,覺得可以完成很多的工作。領(lǐng)導(dǎo)會說,如果我們用工具進(jìn)行回歸測試,會很快的發(fā)現(xiàn)問題,然后減少回歸測試的時間,提高項目的效率,如此這般公司開始推行自動化工具。
幸運(yùn)的,我開始成為自動化工具的推廣者,曾經(jīng)用過自動化測試工具selenium進(jìn)行簡單的自動化測試,因為項目是多省系統(tǒng),進(jìn)行系統(tǒng)測試時,重復(fù)內(nèi)容比較多,但是程序又相對穩(wěn)定。于是在測試的間隙,完成自動化測試腳本,在系統(tǒng)測試中運(yùn)行測試。效果還是比較好的,現(xiàn)在想想當(dāng)時的腳本真的是非常脆弱而且是簡單的,沒有任何的控制語句,場景回復(fù),腳本的維護(hù)量比較大,一旦出現(xiàn)問題,腳本跑不通,只能人工排查原因,自動化測試的部分只在系統(tǒng)測試中站系統(tǒng)測試百分之五十的工作量,但是在整個測試的工作量中百分之十都不到,大家仿似看到此時自動化測試的甜頭,希望在整個公司中推廣自動化測試工具,覺得自動化測試是一種趨勢,一種必然,于是我站在風(fēng)頭浪尖開始試著完成這項工作。
自動化測試同手工測試一樣,都需要有一個計劃,測試的覆蓋率,評估自動化測試工具是否能帶來收益來確定測試的內(nèi)容,其實,并不是所有項目都適合自動化測試工具的,如果項目周期短,是不適宜做自動化測試的,自動化測試雖然在運(yùn)行中比較省時間,但是在前期的設(shè)計,腳本的編寫和維護(hù)都會浪費(fèi)較多的時間,如果自動化測試腳本不能重復(fù)利用多次,自動化對于我們只是一種時間的浪費(fèi),只會令整個項目延期。如果你要用qtp這種識別gui屬性的工具必須要等待頁面功能穩(wěn)定以后才能進(jìn)行自動化腳本的設(shè)計,因為任何一個控件的修改都會導(dǎo)致自動化工具不能識別控件。其次,自動化和手工測試都需要完成用例的設(shè)計,手工測試用例有相應(yīng)的輸入輸出,自動化腳本也需要,好能參數(shù)化進(jìn)行。
自動化測試是否能代替手工測試呢?多少人重復(fù)的問這這個問題,答案是不能,自動化測試大的用處是保證測試的質(zhì)量,而不是發(fā)現(xiàn)問題,而手工測試是發(fā)現(xiàn)問題。因為我們每次的回歸測試,如果是手工測試的情況由于時間的關(guān)系并不能因為一個模塊的bug,去測試其他的模塊,而自動化測試工具的加入,可以保證所以模塊的基本功能,每次回歸用手工去發(fā)現(xiàn)驗證問題,用自動化工具去保證整個軟件的基本功能正常運(yùn)行,自動化的推廣是逐步的,首先做一些冒煙測試的自動化,隨后把一些主要的功能和測試點也加進(jìn)來,但是千萬不要太細(xì)化,到所有手工測試的點,這樣,會帶來很大的風(fēng)險,自動化程度越高,風(fēng)險將越大。
自動化的另外一個注意點是管理,引入一項內(nèi)容,必然需要花一定的時間對引入的內(nèi)容做管理,例如用td管理工具,一定有相應(yīng)的說明文檔,使他不依賴于某個人,以至于某個人的離職不會對自動化工作造成太大的打擊。
第一,自尊心。計算機(jī)科班出身的人都喜歡作開發(fā)(Dev)。做測試工作經(jīng)常是身不由己,可是測試工作很多時間不需要編程,于是做測試的人想方設(shè)法寫些程序,以顯示自己也會編程。結(jié)果往往是欲罷不能,測試自動化程序越寫越多,越寫越復(fù)雜。后面我會談?wù)劀y試自動化框架復(fù)雜的代價。
第二,為了出成績。很多測試組為了向管理層展示成績,往往要拿出例如測試自動化達(dá)到80%,程序覆蓋率達(dá)到90%。要我說,這些都是Bull Shit. 象小平同志說的“實踐是檢驗真理的標(biāo)準(zhǔn)”,我認(rèn)為在測試中“用戶不出問題是檢驗質(zhì)量的標(biāo)準(zhǔn)”。自動化做的再多,用戶出了問題,也是白搭。另外,一個人可以做的測試,自動化往往需要兩個,三個。倒是解決業(yè)的好方法。
我對測試自動化的認(rèn)識也有一個變化的過程。剛剛?cè)胄袝r也是很相信自動化,想方設(shè)法寫一些從頭到尾自動化的框架,覺得自動測試很過癮。到微軟的Portal Media Center組后也是和另外兩個人做了一個相當(dāng)復(fù)雜的用戶界面的自動測試。其實現(xiàn)在想想,用自動測試發(fā)現(xiàn)的問題基本上可以一個人用手工測試完成,多寫些簡單的測試輔助工具可以完成。有些人可能會說自動化可以為產(chǎn)品的下一個版本節(jié)省測試時間。其實Portal Media Center 下一個版本出來時,所有戶界面完全變了,80%以上的自動測試程序都需要改動。做完第一個版本,我們?nèi)齻人全都走掉了。后面來的人往往寧可自己再寫一套,也懶得改以前人的程序。自動化的浪費(fèi)是這樣造成的。想說服別人用你開發(fā)的自動測試框架是很難的,所有人都想另搞一套。
接下來我先以我的多年工作經(jīng)驗來說一下有關(guān)功能自動化測試工具的詳情吧。
功能自動化測試工具給我們帶來了什么?我不知道大家如何看待這個問題,我總覺的很多人把功能的自動化測試工具看的特別的“厲害”,覺得可以完成很多的工作。領(lǐng)導(dǎo)會說,如果我們用工具進(jìn)行回歸測試,會很快的發(fā)現(xiàn)問題,然后減少回歸測試的時間,提高項目的效率,如此這般公司開始推行自動化工具。
幸運(yùn)的,我開始成為自動化工具的推廣者,曾經(jīng)用過自動化測試工具selenium進(jìn)行簡單的自動化測試,因為項目是多省系統(tǒng),進(jìn)行系統(tǒng)測試時,重復(fù)內(nèi)容比較多,但是程序又相對穩(wěn)定。于是在測試的間隙,完成自動化測試腳本,在系統(tǒng)測試中運(yùn)行測試。效果還是比較好的,現(xiàn)在想想當(dāng)時的腳本真的是非常脆弱而且是簡單的,沒有任何的控制語句,場景回復(fù),腳本的維護(hù)量比較大,一旦出現(xiàn)問題,腳本跑不通,只能人工排查原因,自動化測試的部分只在系統(tǒng)測試中站系統(tǒng)測試百分之五十的工作量,但是在整個測試的工作量中百分之十都不到,大家仿似看到此時自動化測試的甜頭,希望在整個公司中推廣自動化測試工具,覺得自動化測試是一種趨勢,一種必然,于是我站在風(fēng)頭浪尖開始試著完成這項工作。
自動化測試同手工測試一樣,都需要有一個計劃,測試的覆蓋率,評估自動化測試工具是否能帶來收益來確定測試的內(nèi)容,其實,并不是所有項目都適合自動化測試工具的,如果項目周期短,是不適宜做自動化測試的,自動化測試雖然在運(yùn)行中比較省時間,但是在前期的設(shè)計,腳本的編寫和維護(hù)都會浪費(fèi)較多的時間,如果自動化測試腳本不能重復(fù)利用多次,自動化對于我們只是一種時間的浪費(fèi),只會令整個項目延期。如果你要用qtp這種識別gui屬性的工具必須要等待頁面功能穩(wěn)定以后才能進(jìn)行自動化腳本的設(shè)計,因為任何一個控件的修改都會導(dǎo)致自動化工具不能識別控件。其次,自動化和手工測試都需要完成用例的設(shè)計,手工測試用例有相應(yīng)的輸入輸出,自動化腳本也需要,好能參數(shù)化進(jìn)行。
自動化測試是否能代替手工測試呢?多少人重復(fù)的問這這個問題,答案是不能,自動化測試大的用處是保證測試的質(zhì)量,而不是發(fā)現(xiàn)問題,而手工測試是發(fā)現(xiàn)問題。因為我們每次的回歸測試,如果是手工測試的情況由于時間的關(guān)系并不能因為一個模塊的bug,去測試其他的模塊,而自動化測試工具的加入,可以保證所以模塊的基本功能,每次回歸用手工去發(fā)現(xiàn)驗證問題,用自動化工具去保證整個軟件的基本功能正常運(yùn)行,自動化的推廣是逐步的,首先做一些冒煙測試的自動化,隨后把一些主要的功能和測試點也加進(jìn)來,但是千萬不要太細(xì)化,到所有手工測試的點,這樣,會帶來很大的風(fēng)險,自動化程度越高,風(fēng)險將越大。
自動化的另外一個注意點是管理,引入一項內(nèi)容,必然需要花一定的時間對引入的內(nèi)容做管理,例如用td管理工具,一定有相應(yīng)的說明文檔,使他不依賴于某個人,以至于某個人的離職不會對自動化工作造成太大的打擊。
相關(guān)推薦
性能測試之測試環(huán)境搭建的方法軟件測試是從什么時候開始被企業(yè)所重視的呢?Android自動化測試框架有哪些?有什么用途?什么樣的項目適合做自動化?自動化測試人員應(yīng)具備怎樣的能力?幾大市面主流性能測試工具測評軟件測試基本概念是怎么來的?軟件測試生命周期的形成歷經(jīng)了什么?一文幫助理清性能測試中壓力、負(fù)載測試之間的關(guān)系在軟件測試中缺陷是如何定義的?缺陷等級的評定標(biāo)準(zhǔn)是什么?為什么要進(jìn)行自動化測試?自動化測試發(fā)展的怎么樣了?如何對微信小程序進(jìn)行自動化測試?什么是性能測試原則?對應(yīng)到服務(wù)器資源監(jiān)控的指標(biāo)是哪些?接口測試哪些地方容易出現(xiàn)代碼漏洞?代碼漏洞該如何解決?軟件測試的目的是什么?軟件的可交付性和實施周期對軟件測試有影響嗎?自動化測試的行業(yè)現(xiàn)狀是怎樣的?未來的發(fā)展方向在哪?性能測試實施方案如何制定?性能測試具體實施過程是怎么樣的?自動化測試很難,那么軟件測試為什么要堅持自動化呢?
相關(guān)產(chǎn)品

最新發(fā)布
性能測試之測試環(huán)境搭建的方法
2020/7/21 15:39:32軟件測試是從什么時候開始被企業(yè)所重視的呢?
2020/7/17 9:09:11Android自動化測試框架有哪些?有什么用途?
2020/7/17 9:03:50什么樣的項目適合做自動化?自動化測試人員應(yīng)具備怎樣的能力?
2020/7/17 8:57:06幾大市面主流性能測試工具測評
2020/7/17 8:52:11RPA機(jī)器人能夠快速響應(yīng)企業(yè)需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消滅嗎?為什么?
2020/7/17 8:43:03軟件測試基本概念是怎么來的?軟件測試生命周期的形成歷經(jīng)了什么?
2020/7/16 9:11:10熱門文章
常見的移動App Bug??崩潰的測試用例設(shè)計QC使用說明如何用Jmeter做壓力測試APP壓力測試入門教程移動app測試中的主要問題使用JMeter進(jìn)行HTTP負(fù)載測試jenkins+testng+ant+webdriver持續(xù)集成測試2017軟件測試面試題及答案(一)