關(guān)于自動化軟件測試
● 把手動的測試用例自動化,手動的測試用例可以自動執(zhí)行
● 把沒有辦法手動的測試用例自動化,比如讓你測試光驅(qū)可以打開幾次,做個壓力測試,人工測試顯然不可行(也有人把這部分稱之為自動化測試,但是我覺得這樣太繞了,就全部稱之為測試自動化吧)
然后再說明一下為什么要自動化,ROI如何;
● 研發(fā)要解決的問題是,一個是效果問題,一個是效率問題, 自動化可以提高效率(大部分人這么認(rèn)為,雖然其實(shí)這個有待商榷),所以自動化有利于提高效率
● 這是一種工程師的態(tài)度,或者是套用一下流行的詞,叫做Facebook的文化,Hacker的文化;因?yàn)椴幌矚g重復(fù)的做一個事情,把它自動化,看上去是很Cool的事情
所以自動化最重要的事情就是提高效率(當(dāng)然能否提高效率,這個事情是這樣的,因?yàn)閁I經(jīng)常變動,或者是由于其他的外部因素,自動化需要修改,維護(hù),那么投入的人力和物力是否大于產(chǎn)出或者小于產(chǎn)出,這個每個公司,每個產(chǎn)品都不一樣,具體就不在這里討論了)以及實(shí)現(xiàn)手動無法完成的事情;
接下來回應(yīng)一下《什么是測試自動化?》
文章里面提到測試自動化是無法自動化所有的測試用例,這點(diǎn)是肯定的,完全同意;所以這里來說說自動化的弊端:
● 自動化其實(shí)更多的是一種防御策略,是為了防止Regression,自動化發(fā)現(xiàn)的bug數(shù)量一般都是不及手動測試發(fā)現(xiàn)的bug數(shù)量;而且有人提出了有些系統(tǒng)比較難發(fā)現(xiàn)Bug的測試用例你即使在不同的版本多跑幾次相同的測試用例效果甚微,就像殺蟲劑效應(yīng)一樣,由于蟲子有抗藥性,同樣Bug也有;所以不能期望自動化測試發(fā)現(xiàn)更多的Bug
● 自動化測試需要更多的投入,維護(hù),由于系統(tǒng)需要經(jīng)常變動,期望值發(fā)生改變,所以自動化測試也需要變動
另外說明一下對API的測試不能算成自動化測試的范疇,因?yàn)槟惚緛砭褪且獪y試這些API,只是恰好這些都可以寫成Code,可以自動的運(yùn)行而已;
所以理想的情況是, 自動化的產(chǎn)出大于投入在自動化的人力,物力;然后解放出來的人力,物力可以花在發(fā)現(xiàn)新的Bug,解決新的Bug上面;而且由于大家不用去做重復(fù)的事情,真?zhèn)€團(tuán)隊(duì)的Productivity也很高。
相信這樣的解釋,大家對自動化就有一個合理的期望,然后心安理得的選擇自動化或者是手工的測試。
posted on 2012-06-13 09:52 順其自然EVO 閱讀(295) 評論(0) 編輯 收藏 所屬分類: qtp 、selenium and watir webdrivers 自動化測試學(xué)習(xí)