自動化測試的前提及過程

2022-07-06 21:48:15 字數 2260 閱讀 5337

1、自動化測試的概念:

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

2、自動化測試的前提條件:

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

1)軟體需求不頻繁變動:

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

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

2)專案週期足夠長:

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

3)自動化指令碼可重複使用:

如果費盡心思開發了一套近乎完美的自動化測試指令碼,但是指令碼的重複使用率很低,致使其間所耗費的成本大於所創造的經濟價值,自動化測試便成為了測試人員的練手之作,而並非是真正可產生效益的測試手段了。另外,在手工測試無法完成,需要投入大量時間與人力時也需要考慮引入自動化測試。比如效能測試、配置測試、大資料量輸入測試等。

3、自動化測試的過程:

自動化測試與軟體開發過程從本質上來講是一樣的,無非是利用自動化測試工具(相當於軟體開發工具),經過對測試需求的分析(軟體過程中的需求分析),設計出自動化測試用例(軟體過程中的需求規格),從而搭建自動化測試的框架(軟體過程中的概要設計),設計與編寫自動化指令碼(詳細設計與編碼),測試指令碼的正確性,從而完成該套測試指令碼(即主要功能為測試的應用軟體)。

1)   自動化測試需求分析。

當測試專案滿足了自動化的前提條件,並確定在該專案中需要使用自動化測試時,我們便開始進行自動化測試需求分析。此過程需要確定自動化測試的範圍以及相應的測試用例、測試資料,並形成詳細的文件,以便於自動化測試框架的建立。

2)   自動化測試框架的搭建。

所謂自動化測試框架便是像軟體架構一般,定義了在使用該套指令碼時需要呼叫哪些檔案、結構,呼叫的過程,以及檔案結構如何劃分。

而根據自動化測試用例,我們很容易能夠定位出自動化測試框架的典型要素:

a.    公用的物件。

不同的測試用例會有一些相同的物件被重複使用,比如視窗、按鈕、頁面等。這些公用的物件可被抽取出來,在編寫指令碼時隨時呼叫。當這些物件的屬性因為需求的變更而改變時,只需要修改該物件屬性即可,而無需修改所有相關的測試指令碼。

b.    公用的環境。

各測試用例也會用到相同的測試環境,將該測試環境獨立封裝,在各個測試用例中靈活呼叫,也能增強指令碼的可維護性。

c.    公用的方法。

當測試工具沒有需要的方法時,而該方法又會被經常使用,我們便需要自己編寫該方法,以方便指令碼的呼叫。

d.    測試資料。

也許乙個測試用例需要執行很多個測試資料,我們便可將測試資料放在乙個獨立的檔案中,由測試指令碼執行到該用例時讀取資料檔案,從而達到資料覆蓋的目的。

在該框架中需要將這些典型要素考慮進去,在測試用例中抽取出公用的元素放入已定義的檔案,設定好呼叫的過程。

3)   自動化測試指令碼的編寫

該編寫過程便是具體的測試用例的指令碼轉化。初學的自動化測試人員均會使用錄製指令碼到修改指令碼的過程。但專業化的建議是以錄製為參考,以編寫指令碼為主要行為,以避免錄製指令碼帶來的冗餘、公用元素的不可呼叫、指令碼的除錯複雜等問題。

4)   指令碼的測試與試執行

事實上,當每乙個測試用例所形成的指令碼通過測試後,並不意味著執行多個甚至所有的測試用例就不會出錯。輸入資料以及測試環境的改變,都會導致測試結果受到影響甚至失敗。而如果只是乙個個執行測試用例,也僅能被稱作是半自動化測試,這會極大的影響自動化測試的效率,甚至不能滿足夜間自動執行的特殊要求。

因此,指令碼的測試與試執行極為重要,它需要祥查多個指令碼不能依計畫執行的原因,並保證其得到修復。同時他也需要經過多輪的指令碼試執行,以保證測試結果得一致性與精確性。

自動化測試的前提

為什麼要實現自動化?減少人力成本 完成大量重複性工作 提高測試效率 保證工作的一致性,增加信任度 完成手工不能完成的工作。是否合適做自動化?時間,人員,系統 需求是否穩定 領導 是否同意 在乙個完成的系統或者迭代更新不是很快的系統上做自動化,才是有價值的 在什麼情況下做自動化?單元測試 整合測試 介...

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

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

自動化測試 web自動化測試

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