天天看點

自動化測試概念介紹

  • 什麼是自動化測試?

  1. 概念:自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例并通過評審之後,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬體資源,提高測試效率。
  2. 本質:程式設計測試,即編寫一個程式測試另一個程式。
  3. 過程:錄制腳本——修改錄制腳本——回放腳本——檢視報告
  • 手工測試和自動化測試的差別?

  1. 手工測試:測試人員手工測試用例,執行測試用例并進行結果校驗。
  2. 自動化測試:通過程式編寫測試用例,執行測試用例并進行結果校驗。
  • 為什麼要自動化測試?

        假如能夠有一個成熟的解決方案來代替我們傳統人工的測試過程,那麼這将能夠節省大量的人力成本和時間成本。

  • 自動化包括三個方面:

      單元自動化測試(資料處理層):指對軟體中最小的可測試單元進行檢查和驗證,一般需要借助單元測試架構,如java的                                                           Junit、TestNG,python的unittest,常見的手段是code review等;

      接口自動化測試(業務邏輯層):主要檢查驗證子產品間的調用傳回以及不同系統、服務間的資料交換,常見的接口測試工具                                                     有 postman、jmeter、loadrunner等;

     UI自動化測試(GUI界面層):UI層是使用者使用産品的入口,所有功能通過這一層提供給使用者,測試工作大多集中在這一                                                           層,常見的測試工具有UFT、Robot Framework、Selenium、Appium等;

    小測試(Unit):占比70%;

    中測試(Service):占比20%;

    大測試(UI):占比10%;

  • 自動化測試分類

         功能自動化測試、性能自動化測試、 接口自動化

  • 什麼樣的項目适合自動化測試

自動化測試概念介紹

如上圖所示,真正工作中無法全部滿足以上條件,是以需要作出權衡,一般來說,隻需要滿足以下幾點,就可以對項目開展自動化測試(圖中紅色框标注的選項):

①需求穩定,不會頻繁變更

自動化測試最大的挑戰就是需求的變化,而自動化腳本本身就需要修改、擴充、debug,去适應新的功能,如果投入産出比太低,那麼自動化測試也失去了其價值和意義;

折中的做法是選擇相對穩定的子產品和功能進行自動化測試,變動較大、需求變更較頻繁的部分用手工測試;

②多平台運作,組合周遊型、大量的重複任務

測試資料、測試用例、自動化腳本的重用性和移植性較強,降低成本,提高效率和價值;

③軟體維護周期長,有生命力

自動化測試的需求穩定性要求、自動化架構的設計、腳本開發與調試均需要時間,這其實也是一個軟體開發過程,如果項目周期較短,沒有足夠的時間去支援這一過程,那自動化測試也就不需要了;

④被測系統開發較為規範,可測試性強

主要出于這幾點考慮:被測試系統的架構差異、測試技術和工具的适應性、測試人員的能力能否設計開發出适應差異的自動化測試架構

  • 自動化測試适合的場所分析-産品的開發周期?

自動化測試概念介紹
自動化測試概念介紹
  • 環境準備:

自動化測試概念介紹
自動化測試概念介紹
  • 常用到的自動化測試工具簡介

  1. ---SDKTool
  2. ---Monkey
  3. ---MonkeyRunner
  4. ---Instrumentation
  5. ----Robotium
  6. ---UIAutomator
  7. ---Appium

繼續閱讀