自動化測試簡介

2022-08-17 20:15:15 字數 1427 閱讀 6397

自動化測試[1] 是把以人為驅動的測試行為轉化為機器執行的一種過程。通常,在設計了測試用例並通過評審之後,由測試人員根據測試用例中描述的規程一步步執行測試,得到實際結果與期望結果的比較。在此過程中,為了節省人力、時間或硬體資源,提高測試效率,便引入了自動化測試的概念。

實施自動化測試之前需要對軟體開發過程進行分析,以觀察其是否適合使用自動化測試。通常需要同時滿足以下條件:

需求變動不頻繁

測試指令碼的穩定性決定了自動化測試的維護成本。如果軟體需求變動過於頻繁,測試人員需要根據變動的需求來更新測試用例以及相關的測試指令碼,而指令碼的維護本身就是乙個**開發的過程,需要修改、除錯,必要的時候還要修改自動化測試的框架,如果所花費的成本不低於利用其節省的測試成本,那麼自動化測試便是失敗的。

專案中的某些模組相對穩定,而某些模組需求變動性很大。我們便可對相對穩定的模組進行自動化測試,而變動較大的仍是用手工測試。

專案週期足夠長

自動化測試需求的確定、自動化測試框架的設計、測試指令碼的編寫與除錯均需要相當長的時間來完成,這樣的過程本身就是乙個測試軟體的開發過程,需要較長的時間來完成。如果專案的週期比較短,沒有足夠的時間去支援這樣乙個過程,那麼自動化測試便成為笑談。

自動化測試指令碼可重複使用

如果費盡心思開發了一套近乎完美的自動化測試指令碼,但是指令碼的重複使用率很低,致使其間所耗費的成本大於所創造的經濟價值,自動化測試便成為了測試人員的練手之作,而並非是真正可產生效益的測試手段了。

另外,在手工測試無法完成,需要投入大量時間與人力時也需要考慮引入自動化測試。比如效能測試、配置測試、大資料量輸入測試等。

通常適合於軟體測試自動化的場合:

(1)回歸測試,重複單一的資料錄入或是擊鍵等測試操作造成了不必要的時間浪費和人力浪費;

(2)此外測試人員對程式的理解和對設計文件的驗證通常也要借助於測試自動化工具;

(3)採用自動化測試工具有利於測試報告文件的生成和版本的連貫性;

(4)自動化工具[3] 能夠確定測試用例的覆蓋路徑,確定測試用例集對程式邏輯流程和控制流程的覆蓋。

隨著測試流程的不斷規範以及軟體測試技術的進一步細化,軟體測試自動化已經日益成為一支不可忽視的力量。能否借助於這支外在力量以及如何借助於這支力量來規範企業測試流程、提高特定測試活動的效率,正是本期所要討論的話題。

軟體測試自動化的研究領域主要集中在軟體測試流程的自動化管理以及動態測試的自動化(如單元測試、功能測試以及效能方面)。在這兩個領域,與手工測試相比,測試自動化的優勢是明顯的。首先自動化測試可以提高測試效率,使測試人員更加專注於新的測試模組的建立和開發,從而提高測試覆蓋率;其次,自動化測試更便於測試資產的數位化管理,使得測試資產在整個測試生命週期內可以得到復用,這個特點在功能測試和回歸測試中尤其具有意義;此外,測試流程自動化管理可以使機構的測試活動開展更加過程化,這很符合cmmi過程改進的思想。根據oppenheimerfunds的調查,在2023年前後的3年中,全球範圍內由於採用了測試自動化手段所實現的投資回報率高達1500%。

android自動化測試 monkey簡介(1)

什麼是monkey?monkey 是android sdk 自帶的自動化測試工具,可以執行在模擬器裡或實際裝置中,它向系統傳送隨機的使用者事件流,如按鍵輸入 觸控螢幕輸入 手勢輸入 sensor 事件等,實現對正在開發的應用程式進行壓力測試。在android sdk 根目錄下的tools 目錄下可以...

自動化測試 web自動化測試

自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...

測試自動化 自動化測試的定義

相關術語 automated testing test tool,automated testing test suite,automated testing test script等.具體參見 http en.wikipedia.org wiki test automation 推薦書籍 1 軟體...