A君:“我想學(xué)自動化沸久,我得從哪里學(xué)起?”
我:“你想學(xué)類型的自動化余蟹?”
A君:“就是自動化測試熬砜琛!威酒!哪里還分什么類型自動化”
我:“窑睁。。葵孤。担钮。。尤仍◇锝颍”
好吧,其實我是知道A君想問的是UI自動化測試宰啦,我也是故意不直說苏遥,因為我曉得在他的觀念里自動化等同于自動化測試等同于UI自動化,然而它們的關(guān)系絕不是等同關(guān)系赡模。
按我的理解田炭,所有機器代理手工執(zhí)行某種過程,都叫可以叫自動化漓柑,那自動化測試就是機器代理手工執(zhí)行測試的過程叫做自動化測試教硫。UI自動化測試也僅僅是自動化測試的一個分支叨吮。
現(xiàn)在很主流的一個觀念,分層自動化測試(經(jīng)典圖如下)分三層瞬矩,最底層是單元層挤安,中間是服務(wù)層,頂部是UI層丧鸯,而這三層越底層做自動化測試,實現(xiàn)成本越低嫩絮,越容易看見成效丛肢。
單元層自動化測試,就是我們平時所說的單元測試或者白盒測試剿干,一般由開發(fā)者自己編寫蜂怎,QA人員接觸較少。
服務(wù)層自動化測試是api自動化測試也有人叫他是灰盒測試置尔,主要是通過某種工具或者某種框架模擬請求杠步,并對請求的返回做校驗。現(xiàn)在互聯(lián)網(wǎng)公司需求變化快也大榜轿,個人非常建議在api自動化上多花時間幽歼,因為他不僅僅投入成本相對UI自動化測試來得低,也容易看見成效谬盐,執(zhí)行效率高等等的優(yōu)點甸私。很早以前曾經(jīng)寫過api自動化的一種方式,詳細可見:http://blog.csdn.net/meyoung01/article/details/46008439
最頂端的便是UI層的自動化測試飞傀,也就是現(xiàn)在很多人觀念中的自動化測試皇型。UI層自動化做的方式很多,根據(jù)不同的系統(tǒng)砸烦,不同的架構(gòu)可能會用到不同的框架或者工具弃鸦。然而UI自動化測試非常依賴于UI界面,如今的互聯(lián)網(wǎng)公司大多需求變化大而快幢痘,迭代頻繁唬格,所以很多團隊做UI自動化測試經(jīng)常花了非常高的成本雪隧,卻遲遲見不到效果西轩,自動化測試人員每天奔命于維護腳本,追趕進度脑沿。更有些領(lǐng)導(dǎo)給了不切實際的UI自動化覆蓋率藕畔。
輕UI,重API庄拇。如果你是在一個迭代頻繁注服,需求變化大的團隊韭邓,那么我建議你把更多的時間花在API自動化測試上,而UI自動化測試個人認為僅僅需要做到主流程的覆蓋便可溶弟。
最后附上很久之前畫的一張Xmind圖每一層自動化測試常見的工具或者框架女淑,以及各自的優(yōu)缺點: