天天看點

關于Web端-UI自動化測試

在手工測試階段,針對項目輸出了測試用例,如果這些測試用例需要在版本疊代的過程中,需要進行回歸測試,通過手工重複地執行測試用例,将會耗費大量的人力。

為此應運而生就有了自動化測試,通過使用自動化工具,将按照測試用例進行點點操作,校驗的工作,交給代碼程式來執行,測試工作,就變得省心省力了。

  • 重點:測試用例是自動化測試腳本的依據,一切不基于測試用例而寫的自動化腳本都是耍流氓。

關于

UI

自動化測試

UI

 自動化的本質:

  • 定位元素
  • 操作元素
  • 模拟頁面動作
  • 斷言結果
  • 生成報告

基于以上5個本質,自動化測試的整體流程是這樣的,這裡百度登陸功能的測試用例為例:

關于Web端-UI自動化測試
關于Web端-UI自動化測試
  1. 對于這條測試用例,需要找到它的定位元素:使用者名輸入框,密碼輸入框,登陸按鈕
  2. 操作元素:對于這3個定位元素的操作有2種,分别是“輸入”與“點選”
  3. 模拟頁面動作,也就是測試用例的步驟:
    1. 輸入使用者名
    2. 輸入密碼
    3. 點選登陸按鈕
  4. 判斷結果:将用例中的預期結果與實際結果進行比對,如果一緻,代表成功,否則代表失敗。對于這條測試用例,登陸成功的标志是,頁面右上角出現了使用者的頭像與使用者名,那麼,可以通過擷取網頁中使用者名的文本資訊,與登入賬戶的使用者名對比,一緻的話,代表這條用例通過。
    關于Web端-UI自動化測試
  5. 根據執行結果,自動生成報告,常用的第三方子產品:

    HtmlTestRunner

    Allure2

     等

适合

UI

自動化測試的場景

當然,不是所有的測試場景都适合用自動化測試來實作。

對此,可以參考以下的标準輔助判斷:

  1. 項目的需求不會頻繁變動
  2. 頁面的 

    UI

     已經進入穩定階段
  3. 項目周期足夠長
  4. 大量回歸的測試任務

其中,有一些項目是明顯不适合使用 

UI

 自動化測試的,例如視訊播放器(暴風影音,騰訊視訊,愛奇藝等),音樂播放器(例如網易雲音樂,

QQ

 音樂等)等交動性強,并發依賴強的軟體。

原因是,這一類軟體,判斷視訊内容對不對,判斷音樂聲音與歌詞對不對,難度極大。

另外,延伸一個話題:關于自動化測試的覆寫率,面試會問到的一個點。

國内大多數網際網路公司的項目疊代周期比較短,是以自動化覆寫率一般都不高。

具體還是要根據項目疊代周期進行描述,參考标準是:

  • 疊代周期是半年或者一年以上的項目,每次需求變動很少,自動化測試的覆寫率一般是60%-70%,主要是覆寫之前的舊功能以及核心場景
  • 疊代周期為一個月的項目, 覆寫率大概是25-30%,主要是覆寫 

    P0

    (極重要)級别的絕大多數用例,與 

    P1

    (重要)級别中的部分用例
  • 1~2周一個疊代的項目,覆寫率大概是10%,主要是覆寫 

    P0

    (極重要)級别,可能會對使用者造成嚴重影響的核心場景

其次,

UI

 自動化測試的時間切入點主要有2個:

  1. 冒煙測試階段
  2. 回歸測試階段

UI

 自動化測試設計原則

  1. 一個測試用例完成一個功能點測試(常用):一個手工用例對應一個自動化測試用例
  2. 一個腳本是一個完整的場景
  3. 腳本之間獨立,不能有依賴(腳本間互相隔離):例如與登陸狀态相關的用例:個人中心、訂單詳情、下單購物等,如果腳本之間不獨立,互相依賴,在登陸的測試腳本失敗的情況下,會導緻個人中心、訂單詳情、下單購物的測試腳本全軍覆滅,後續修複與維護成本高
  4. 設定合适的檢查點:通過斷言判斷用例的成功與否
  5. 設計良好的架構:Python 常用的測試架構有 

    unittest

     與 

    pytest

    ,利用架構,及對共用的測試子產品進行封裝,減少自動化測試腳本維護的工作量

總結

如果對軟體測試有興趣,想了解更多的測試知識,解決測試問題,以及入門指導,幫你解決測試中遇到的困惑,我們這裡有技術高手。如果你正在找工作或者剛剛學校出來,又或者已經工作但是經常覺得難點很多,覺得自己測試方面學的不夠精想要繼續學習的,想轉行怕學不會的, 公衆号(程式員阿沐)都可以加入我們810119819,群内可領取最新軟體測試大廠面試資料和Python自動化、接口、架構搭建學習資料!

關于Web端-UI自動化測試