軟體測試培訓篇:UI自動化到底是難是易?

千鋒教育qyf發表於2021-04-28

  UI自動化技術,是我們測試工程師繞不開的一個話題,只要提起它來,基本所有測試工程師都能給你說道說道。

自動

  有些人認為它很難,有些人認為它很簡單。認為它很難的人會告訴你,UI自動化非常不穩定,太難了,實用性也不大,想真正做好難於登天。

  認為它簡單的人會告訴你,UI自動化太簡單了,十分鐘就能入門,不就是寫寫指令碼麼,driver.find_element_by_id()就完事了。

  小編覺得其實這倆種觀點都片面了,都是對UI自動化的不瞭解造成的誤會。真正的UI自動化需要細分,因為它有不同的階段,各個階段的也都有自己的特點。

  文章開頭先給大家明確一個業內普遍認同的觀點:目前行業內的UI自動化已經形成了4個階段。當前國內網際網路公司中能用的起來UI自動化的不多,且大部分都集中在1-2階段。如果你的公司也在第2階段以下,那可真的要加油了。

  一、錄製回放

  可能大家第一次接觸自動化的時候,前輩或者老師就告訴了你,UI自動化是可以錄製的。比如Web自動化可以用FirFox瀏覽器的SeleniumIDE來錄製成各種語言的Selenium指令碼,然後執行這個指令碼,瀏覽器就會執行你剛剛所做的一切操作。

  還有loadrunner/badboy/QaRun/SNMPTester等等一大堆工具,你這時候會想:原來自動化測試,soeasy。

  【優點】:上手難度低,不用懂什麼程式碼,自動生成指令碼的非常簡單迅速。

  【缺點】:這種指令碼對環境的依賴性太強了,UI層稍微變化一點點,整個指令碼就失效了。甚至很多Web頁面中的元素的id都是動態的(每次開啟都不一樣),所以導致這種指令碼生成後連一次都走不通。而如想改起來的成本甚至高於自己動手重新寫一個指令碼了。從維護成本來說的話,這種指令碼屬於一次性的東西,不值得維護。

  【總結】:這種方式從筆者剛接觸自動化的時候,就已經淘汰了,無論是老師還是業界大神,都直言做自動化就不要碰錄製回放,這完全是在走彎路。所以如果你的公司是這種,那麼就到了你大顯神威進軍下一階段的時刻了!

  二、手動指令碼

  到了這個階段,公司的測試團隊會有一部分專門做自動化的測試人員,他們負責手動去寫指令碼,相信大家對這個階段都非常熟悉,因為絕大部分有UI自動化的公司都處於這個階段。各個端都有自己專門負責自動化的工程師,他們所用的語言,技術可能相同也可能不同,要比喻的話,就是八仙過海各顯神通。這時你會想:這就是少林寺的廚房麼?太壯觀了,簡直大神的聚集地!

  【優點】:手動寫的指令碼質量遠超第一階段的錄製指令碼,可維護性大大增強,應對UI層的變化也有了一定抵抗力,優秀的會採用非線性指令碼,融入資料驅動/關鍵字驅動/page-object等設計。

  【缺點】:眾自動化大佬的力量不能形成一股繩,各種輪子各種造,技術和語言都無法統一,而且人與人之間的水平不同,導致指令碼質量也相差很多。最後一旦有人離職,新人大機率只能推倒重來,一切歸零。

  【總結】:簡單來說就是各玩各的,有人濫竽充數,有人渾水摸魚,有人獨領風騷,有人自娛自樂。領導不可能同時精通多端多種技術棧多語言的自動化來明察秋毫,所以這個階段的後期大多是放養的狀態,最後沒有形成可量化的戰鬥力,慘遭領導嫌棄和淘汰。如果你身處這種階段,請一定不要被眼前的場景迷惑,要小心並且立即潛心修煉,爭取統一UI自動化,把散兵遊勇集合起來,好一起邁向下一個階段。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996644/viewspace-2770339/,如需轉載,請註明出處,否則將追究法律責任。

相關文章