1. 程式人生 > >介面自動化-自動化測試初介

介面自動化-自動化測試初介

 自動化測試

        自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程。

        個人認為,只要能服務於我們,能夠幫助我們提升工作效率的,不管是所謂的自動化工具,還是寫個sql指令碼、寫個批處理、做個小工具等等,都屬於自動化範疇。

        自動化是一個思想,而不是工具,需要剛入手的朋友們注意。

        自動化並非萬能,人工測試還是必須的。自動化的目的是驗證問題,手工測試的目的是發現問題。很多朋友做一段手工測試後,就厭了、煩了、倦了,口口聲聲說,我要做自動化,再也不要,也不想做手工測試了。這種想法是存在誤區的,下面的內容供大家瞭解,也讓大家在自己的內心建立起自動化的好與壞、利與弊評判。

為什麼引入自動測試

        直接一點的:就是為了節省人力、時間或硬體資源,提高測試效率,滿足版本需求的快速迭代,提升產品測試質量。

自動化測試前提

  1. 軟體需求變動不頻繁,相對穩定的功能模組或介面
  2. 專案週期足夠長
  3. 自動化指令碼可重複使用
  4. 手工測試無法完成的,或者需要投入較大時間人力的

自動化測試的適用性

切入時機

        以基本完成軟體的程式介面開發、頁面控制元件相對穩定為宜。

適用場景

  1. 測試時間相對長,且存在大量重複性、機械性手工測試的專案
  2. 產品型軟體,每釋出一個新的版本或打補丁都需要對其他模組執行相同的測試
  3. 專案型軟體,需求變更頻繁,每變更一次,需要對原有的無爭議的功能做測試
  4. 經常需要更換應用程式部署站點的軟體,每更換一次需要對所有功能做驗證測試
  5. 測試時間相對長,且存在大量需要執行迴歸測試的軟體專案
  6. 系統介面穩定,需要對業務流程進行驗證測試的軟體
  7. 採用增量開發持續整合的專案,需要對頻繁更新的程式執行驗證測試
  8. 軟體專案採用主流開發平臺技術,且不存在物理互動的測試

不適用場景

  • 專案工期緊、測試周期短的專案不應採取自動化測試
  • 介面的美觀、產品易用性測試不應採取自動化測試

自動化測試過程

        自動化測試需求分析》自動化測試框架選型、搭建》自動化測試用例、指令碼編寫》自動化測試結果分析》版本更新迭代維護、持續整合

 自動化分類

UI自動化

        維護成本高,受益最小。當然不是說UI自動化沒有價值,適當的介面自動化還是有用的。

        目前應用較多的場景是在版本釋出,可對功能穩定、基本無改動的模組開展UI自動化,從而縮短版本釋出週期。

        間接的,也讓人工測試把重心放在產品的核心業務場景以及改動較大的功能模組上。

介面自動化

        維護成本適中,受益適中,可以考慮覆蓋大部分業務流程。

        現在很多系統前後端架構是分離,後端介面服務開發是先行的,介面層發現問題,可預防和減少UI層的問題。

單元測試

        維護成本低,受益最大,價值最大。但是目前基本是開發在做,測試人員參與較少,而且對測試人員要求較高。