軟體測試:自動化測試

andy888發表於2019-08-02

軟體測試:自動化測試

自動化測試指軟體測試的自動化,在預設狀態下執行應用程式或系統,預設條件包括正常和異常,最後評估執行結果。將人為驅動的測試行為轉化為機器執行的過程。

自動化測試框架一般可以分為兩個層次,上層是管理整個自動化測試的開發,執行以及維護,在比較龐大的專案 中,它體現重要的作用,它可以管理整個自動測試,包括自動化測試用例執行的次序、測試指令碼的維護、以及集中 管理測試用例、測試報告和測試任務等。下層主要是測試指令碼的開發,充分的使用相關的測試工具,構建測試驅 動,並完成測試業務邏輯。

自動化測試的演變:測試工具----資料驅動----關鍵字驅動----測試框架----測試平臺

自動化測試方法

(1)測試物件:UI、介面、程式碼


①UI自動化:用例維護量大 頁面相關性強,必須後期介入 UI測試適合與介面變動較小的專案


②介面自動化:可在產品前期介入 用例維護量小 頁面相關性小 適合介面變動較小,介面變動頻繁的專案


(2)測試過程:系統測試、整合測試、單元測試


(3)執行人員:測試人員、開發人員自動化測試可以在整個測試過程中任何一個階段實施 測試人員一般在系統測試時進行自動化測試 整合測試階段多進行自動構建、部署,以及冒煙測試的自動化 單元測試針對程式碼級別進行測試,可進行靜態程式碼檢查,或者執行單元測試用例,典型的框架比如junit, jmock等,該部分多由開發人員實施。


  1.自動化測試的優勢


降低大型系統的由於變更或者多期開發引起的大量的迴歸測試的人力投入,這可能是自動化測試最主要的任務,特 別是在程式修改比較頻繁時,效果是非常明顯的,自動化測試前期人力投入較多,但後期進入維護期後,可節省大 量人力,而手工測試後期需要增加大量人力用於迴歸測試 減少重複測試的時間,實現快速回歸測試 建立優良可靠的測試過程,減少人為錯誤 可以執行更多更繁瑣的測試 可以執行一些手工測試困難或不可能進行的測試 更好的利用資源。


如何實施自動化測試

自動化測試的適用物件


實施自動化測試的前提條件:需求變動不頻繁、專案週期足夠長、自動化測試指令碼可重複使用

①需求變動頻繁的專案,自動化指令碼不能重複使用,維護成本太大,價效比低


②專案週期短,自動化指令碼編制完成後使用次數不多,價效比低


③互動型較強的專案,需要人工干預的專案,自動化無法實施


    2.適合做自動化的專案:


①產品型專案。產品型的專案,新版本是在舊版本的基礎上進行改進,功能變不大的專案,但專案的新老功能都 必須重複的進行迴歸測試。迴歸測試是自動化測試的強項,它能夠很好的驗證你是否引入了新的缺陷,老的缺陷是 否修改過來了。在某種程度上可以把自動化測試工具叫做迴歸測試工具。


②機械並頻繁的測試。每次需要輸入相同、大量的一些資料,並且在一個專案中執行的週期比較長。


    3.如何實施自動化測試


(1)分析:總體把握系統邏輯,分析出系統的核心體系架構。


(2)設計:設計測試用例,測試用例要足夠明確和清晰,覆蓋面廣而精


(3)實現:實現指令碼,有兩個要求一是斷言,二是合理的運用引數化。


(4)執行:執行指令碼遠遠沒有我們想象中那麼簡單。指令碼執行過程中的異常需要我們仔細的去分析原因。


(5)總結:測試結果的分析,和測試過程的總結是自動化測試的關鍵。


(6)維護:自動化測試指令碼的維護是一個難以解決但又必須要解決的問題。


(7)分析:在自動化測試過程中深刻的分析自動化用例的覆蓋風險和指令碼維護的成本。


    4.自動化測試實施失敗的原因

1

(1)期望值過高。就像管理人員要求完全測試一樣,期望100%的測試自動化,也同樣是一個不現實的需求。


(2)對收益和成本認識不清。拋開工具的開發或者購買成本和培訓成本,自動化測試的成本應該還包括兩部分(實 現成本中還隱含了測試準備成本):


成本=實現成本+執行維護成本


自動化測試的收益是由測試指令碼的重複執行次數,或自動測試指令碼的利用率決定的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69942977/viewspace-2652571/,如需轉載,請註明出處,否則將追究法律責任。

相關文章