UI自動化的個人見解


為什么要做ui自動化?

你去到一家公司,你的組長給你安排的第一個任務就是說要做ui自動化,然后跟你說一下公司的app是怎么樣的,讓你看一下給出一個ui自動化的方案和一個完成時間,大概什么時候能把框架搭建好,什么時候能把功能用例轉換成自動化用例;聽了組長的任務,你可能會一臉懵逼,然后馬上去baidu上找能夠快速實現ui自動化的方案,可能你的運氣比較好,在github上找到了一個別人開源的ui自動化框架,拿過來修修補補,幾個星期后你跟你的領導說框架搭建完成了,用例也寫了一部分,然后你的組長說要在業務組里推廣ui自動化,讓大家都來寫自動化用例,但是這個自動化用例推廣起來比想象的難,業務測試工程師根本不想寫自動化用例,自己的業務測試任務就已經夠多了,大家根本沒有時間去學習這個,而且ui自動化有很多局限性,比如很多場景不能實現、需要一直去維護,到最后你寫的這個ui自動化項目則會無疾而終。

這就是絕大多數公司為什么要做ui自動化的原因,沒錯就是因為領導的一句話,別人有ui自動化我們也要有,而上面這個就是我自己的真實經歷,我稱這種ui自動化為KPI的ui自動化

為了避免上面的這種悲劇的再次發生,我們在做ui自動化之前就必須去思考一些事情,為什么要做ui自動化,ui自動化能給我們帶來什么?你當前的項目適不適合做ui自動化?

最直觀的來講,就是因為ui自動化能去完成一部分功能測試,然后縮短項目的測試時間,縮短測試時間就等於節約了人力成本,如果ui自動化真正能夠達到這種效果的話,那說明你們的ui自動化成功了。但是在真正去做ui自動化的時候你就會發現事情根本不是你想象的這么簡單,隨着ui自動化用例的執行,接下來就會發生一堆的問題,用例很多都實現不了(用例轉換率低),用例執行起來一堆的報錯(用例成功率低),還要花一堆的時間去看到底是用例寫的有問題還是真正的bug,結果到頭來ui自動化不僅沒有帶來正收益,還帶來了一堆麻煩的問題,導致使用ui自動化的測試工程師失去信心,最后放棄ui自動化。

如何去做ui自動化?

前面說了一大堆ui自動化存在的問題,那么ui自動化到底還能不能去做,能做的話怎么樣才能做好呢?

我覺得最重要的一點就是大家(領導,開發,測試,你自己)要相信ui自動化是能夠做好的,而且做好了對所有的人都有益處,領導要支持這個項目,並且願意給資源(人力,設備)給時間去做;app開發人員也願意全力配合,規范控件id的編寫,一些特殊場景願意打印一些log輔助我們完成測試;業務測試人員能加入到自動化用例的編寫中,因為自動化和業務是不可能分離的,自動化一旦脫離了業務將會變得空洞,毫無意義,而我們的業務測試人員是最了解app中的業務,他們編寫自動化用例能夠直擊我們的業務重點。

有這么多人的支撐,那么我們就可以開始開展我們的工作了,整體的工作我們可能會分為三個階段去完成:

  • 第一階段-初始期

    1.ui自動化框架整體的設計

    2.ui自動化選型,核心框架代碼的實現

    3.挑選部分手動用例,實現自動化

  • 第二階段-增強期

    1.自動化測試開始介入到整個開發流程中,幫助業務測試人員減少測試任務

    2.增加自動化測試用例轉換率(80%-90%),減少自動化測試用例的非bug失敗率(5%)

    3.ui自動化集成到自動化測試平台中,可以通過平台直接選擇用例執行,查看測試報告

  • 第三階段-穩定期

    自動化測試進入一個可持續發展的階段,根據每個版本的需求去刪減用例或者增加新用例

ui自動化的難點

app總是變化,一直要去適配

用例的失敗率很高,怎么提高成功率?

多機型適配的問題如何去解決?

使用的開源框架不穩定,老是出各種問題,怎么解決?

很多用例實現不了,或者實現起來很困難,怎么解決?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM