UI自動化是偽銀彈,真的是這樣麼?

2021-08-27 21:51:29 字數 1370 閱讀 5589

ui自動化早已不是新鮮詞,但它一直飽受爭議,因為ui本身的特性會導致ui自動化客觀存在一些難點,比如:

1.ui的介面變化太快,投資回報率低;

2.ui控制項元素識別複雜;

3.非預期的缺陷很難被自動化測試發現;

4.框架環境等問題影響ui執行結果;

ui自動化實施起來都比較困難,開發和維護的成本比較高,並不能節省人力時間,我們做ui自動化的目的就是提高測試效率,大家先來算一筆賬,通常自動化的成本=指令碼建立成本+維護次數×維護除錯成本+指令碼失敗次數×指令碼排錯成本,**編寫乙個指令碼的成本大約平均60分鐘,維護除錯平均40分鐘,排錯約為20分鐘,自動化的收益=有效迭代次數×手工測試成本,手工測試乙個熟練用例平均算5分鐘,也就是說建立乙個ui指令碼,需要執行24次才能夠本,這種投入產出比顯然是沒人願意搞,還不包括期間由於系統框架公升級更新帶來的指令碼維護遷移成本。人們不難會產生一些主觀消極的抵抗情緒,認為做ui自動化要麼是為追求技術潮流,要麼是應付公司的kpi邀功懸賞,都是為做ui自動化而做ui自動化。這樣一來大家看似熱衷的ui自動化就成了偽銀彈。

我相信誰也不敢說,ui自動化測試能替代手工測試,一定比手工測試好,但從唯物辯證論的角度看任何乙個工具的產生都有其必然性先進性,ui自動化也是如此,他的產生必然是為了高效的發現問題,提高產品質量,將人力從重複繁瑣的工作中解放,從而做一些更有價值和創新意義的事情。

[b]那話說回來,我們如何才能做好ui自動化測試呢?[/b]

[b]首先[/b]應該樹立對自動化測試的正確理解,排除對自動化的牴觸,排除對傳統工作方式改變的牴觸,當然也不能盲目的崇拜急功近利。

[b]其次[/b],ui自動化測試的策略也很重要,本人比較贊同ui測試應該集中在ui的文字,顯示正確性、ui的邏輯互動正確性測試;ui使用者行為正確性測試,盡可能接近於使用者的真實操作,圖形和表單資料庫校驗這些不適合放在ui自動化中搞。只會適得其反,讓指令碼越來越重,越來越難維護。

[b]最後[/b],選擇一款合適的自動化工具,什麼問題就迎刃而解啦,目前市面上ui自動化測試工具不算少數,並且每個測試工具都有它的優點側重,應用範圍和方法也都有所不同,我們不敢妄自評判下結論那個工具是好是壞,但我們最終的目的是一致的,希望它能最簡單,最高效的保證前端的質量,真正的幫我們提高工作效率,提高我們前端的質量。

我們希望它有多簡單呢?

1.無**編寫能力,也能很快的上手操作;

3.強大的控制項識別演算法,智慧型容錯自我修復;

4.支援本地測試,host繫結開發環境;

我們希望他有多高效呢?

1.5分鐘建立乙個指令碼,3分鐘維護乙個指令碼;

2.支援多瀏覽器css、js相容性檢測;

3.提供真實的多瀏覽器測試環境;

4.支援頁面壞死鏈檢測;

必須還是免費滴,沒見過它的人會覺得就是個美好的願景,但用過它的人,你問他到底有多好用,他會回答就像你想象中那樣好用!

什麼是自動化測試?

四 自動化測試分類 五 自動化測試流程 六 做自動化測試關注的一些指標 什麼是自動化測試?筆者認為自動化測試就是,讓程式代替人為去驗證程式功能的過程。做自動化測試需要投入很多的時間 精力 成本。那為什麼要進行自動化測試呢?可以從以下幾點來看自動化測試可以解決什麼。1 解決 回歸測試 對於系統比較大,...

mysql自動化部署方案 什麼是自動化部署?

自動化部署將可交付產品,快速且安全地交付使用者使用的一套系統和工具。系統會自動構建 測試並準備 變更,以便將其發布到指定環境的過程,包括開發環境 預發布環境 生產環境等。自動化部署工具介紹 簡要介紹 該工具是資料庫自動化部署調優工具,支援mysql 8.0.17 8.0.18和postgresql ...

什麼是運維自動化

運維自動化是指將it運維中日常的 大量的重複性工作自動化,把手工執行的工作,通過梳理分析,進行邏輯分解,借助平或工具轉為自動化操作。自動化是it運維工作的昇華,it運維自動化不單純是乙個維護過程,更是乙個管理的提公升過程,是運維的更高層次,也是未來的發展趨勢。1 版本控制 git svn 等 2 部...