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

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