這是兩個很繞口的詞。而且乍一看起來好像就是同一份
工作。今兒聊聊我個人對于這兩者的認(rèn)識。
舉例:
這個工程師需要做的事情,首先就是setup一個
自動化測試環(huán)境。單單從這方面來說,測試工程師和自動化工程師需要做的是完全一樣的。比如搭建起來一套完整的UiAutomator環(huán)境。
之后就會有區(qū)別了。當(dāng)環(huán)境搭建好以后,測試工程師的主要精力就會鋪到編寫腳本,執(zhí)行測試上。而自動化工程師則會把精力放在如何優(yōu)化UiAutomator環(huán)境上
比如,大家都知道UiAutomator的case編寫完成后,首先需要通過ant編譯,然后再通過adb命令進(jìn)行push,最后才能執(zhí)行。這一點上,一般來說測試工程師就不會做什么改變了,但是自動化工程師一定會做一個程序或者批處理或者其他的什么,讓這幾個步驟變成點一下就全干完的事情。
什么是測試自動化:
這是一種讓測試過程脫離人工的一次變革。對于控制成本,控制質(zhì)量,回溯質(zhì)量和減少測試周期都有積極影響的一種研發(fā)過程。
什么是自動化測試:
通過將測試執(zhí)行部分部分或者全部交由機(jī)器執(zhí)行的一種測試,叫做自動化測試。這種測試不需要人的實時參與。同時這種測試在小規(guī)模應(yīng)用時會比手動測試昂貴許多。
自動化測試可以看作測試自動化的一部分。
不同的工程師,工作不同:
一個自動化工程師,會比較專注于測試工具的研發(fā)。最主要的是這個工程師會從成本的角度去考慮問題。這一點比較像PM。他所做的一切是為了減少自己或者團(tuán)隊的工作量,盡可能的將重復(fù)的,有規(guī)律可循的工作代碼化,自動化。
一個自動化測試工程師,會比較專注于測試代碼的開發(fā),以及測試結(jié)果的分析。對于被測設(shè)備本身非常感興趣。他們比較傾向于一種完美主義者,追求的是高質(zhì)量而經(jīng)常忽略成本。這一點更像開發(fā)人員。
現(xiàn)在絕大多數(shù)公司都會執(zhí)著于自動化測試,而忽略測試自動化。這一點會讓整個AT(automation
test,下同)成本變得非常高。
我曾經(jīng)
面試過一家公司的AT工程師,對方對于AT的做法就是每天都在release新的測試代碼,每天都在run不同的測試。每天都在修改之前的case。我說你這個并不是自動化測試,而是一種用代碼測試產(chǎn)品的手動測試。這樣的測試,經(jīng)常被冠以自動化測試之名混水摸魚。
這家公司很明顯的只是將代碼
單元測試貼上了自動化的幌子。
自動化測試的幾個準(zhǔn)則:
并不是將測試用例代碼化了,就可以稱之為自動化測試了。這是現(xiàn)在很多公司宣稱自己做AT的一個噱頭。
AT的代碼有很多的要求。
首先就是你的覆蓋面要夠廣。個位數(shù)case的自動化完全沒有意義。
第二就是你的case必須要能夠復(fù)用:軟件每天都在變,如果你的case要天天跟著軟件變,那你的case是完全不合格的。
第三就是測試的規(guī)模要夠大:要么時間長(case多或者是壓力測試),要么測試產(chǎn)品多。這樣才能體現(xiàn)出來自動化測試的優(yōu)勢。、
測試自動化的幾個準(zhǔn)則:
第一個就是要減少除工具研發(fā)部門外,其他所有測試部門的人力成本。這個是測試自動化追求的終極目標(biāo)之一。、
第二個就是提高測試質(zhì)量,不僅僅包括測試執(zhí)行的質(zhì)量,還包括測試的統(tǒng)計質(zhì)量,數(shù)據(jù)回溯質(zhì)量,等等等等。這些質(zhì)量的提高可以幫助測試團(tuán)隊修正他們的測試方法,而不是每天將精力鋪在無止境的數(shù)據(jù)收集和分析中。
第三個就是要搶出時間。某一項工作自動化后的時間,要么比人手做時間短,要么可以在非工作的16個小時中進(jìn)行。通過讓電腦OT的方法來解放工程師或者項目經(jīng)理。
自動化的三大入手點:
自動化的三大入手點其實和三大準(zhǔn)則是一樣的。看哪個需求更加迫切:
1. 成本:自動化并不一定圍繞測試執(zhí)行,還可以包括測試的準(zhǔn)備,log的提取,數(shù)據(jù)分析等等。將所有的與測試有關(guān)的工作逐一列出,然后找到重復(fù)的,可以被代碼化的部分,評估現(xiàn)有工作成本和自動化成本,尋找到收益最大的工作塊并順序?qū)⒅a化。
2. 質(zhì)量:和成本差不多,只是在評估的時候需要評估的是該工作塊現(xiàn)有的質(zhì)量狀況和需求質(zhì)量間的差異,尋找到差異最多的那個模塊,并將所有質(zhì)量差的模塊逐一進(jìn)行自動化。
3. 時間:和以上兩點一樣,都需要尋找到與測試有關(guān)的所有步驟和工作塊,將其中關(guān)鍵路徑上,動作最慢,耗時最大的部分進(jìn)行自動化。
版權(quán)聲明:本文出自 zeustest 的51Testing軟件測試博客:http://www.51testing.com/?15030005
原創(chuàng)作品,轉(zhuǎn)載時請務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。