自動化測試工具的選擇

2021-09-04 15:05:52 字數 4382 閱讀 3397

隨著自動化測試的發展,市場上湧現了多款自動化測試工具。其中,絕大部分是商業收費的工具,也有部分是開源工具。但是相對於收費的自動化測試工具,開源工具的功能與使用領域都要遜色很多。好多公司由於本身測試工作的需求,又研發了適合本公司使用的自動化測試工具。目前自動化測試領域中,自動化測試軟體可謂百花齊放。

測試工具按其功能特性不同,可劃分為功能測試工具、效能測試工具、測試管理工具等,下面給出適用於不同方面的自動化測試工具。

1. 功能測試工具

quicktest professional、webinject …

2.效能測試工具

loadrunner、ms was、 rational robot 、dbmonster…

3. 測試管理工具

quality center 、rational testmanager 、bugzilla …

4. 其他測試工具

junit、rational purify 、rational purecoverage …

本節從自主、開源、商業三個方面分別介紹自動化測試工具軟體。

1.1自主開發測試工具

自動化測試工具種類繁多,但是其高額的購買費用,讓人望而生畏。另一方面,自動化測試工具並不是萬能的,並不能滿足特殊行業,特殊業務功能特性的需要。因此,部分公司為了節省開支,根據本身測試工作的需要,自主研發了自動化測試工具。

一般自主研發的測試工具,更傾向於滿足公司業務需求,往往都有很強的針對性。自主研發的測試工具都留有介面,具有自主性,容易與本公司使用的其他管理工具銜接,具有很大的靈活性。同時,自主研發的測試工具,在互動介面上,可以根據不同的專案定製不同的互動介面,大大增強了其易用性。

1.2 開源測試工具

1.license費用:如果公司測試工具使用的併發數僅僅是1至2個,也許還無法體現開源工具的優勢,而測試工具大量的併發執行,購買商業測試工具的license費用將是很可觀的。

2.靈活性:開源測試工具,一般都提供了源**及開發介面。從而大大提高了使用者對測試工具的二次開發能力,這不僅有利於本身測試專案與測試工具的結合,而且也給開源測試工具的不斷壯大,注入了新鮮血液。

在測試工作中,開源測試工具確實能給企業帶來收益, 即便僅僅使用開源測試管理工具(如:bugfree)搭建公司內部的測試管理平台,也能從中獲益。而且,隨著時間的推移,眾多的開發者對工具的不斷完善與維護,其必將具有更好的前景。

開源測試工具並非沒有缺點,同商業測試工具相比,開源測試工具在使用者互動性、可靠性及易用性方面,做的尚不太理想。因此,如要在測試專案組中引入開源測試工具,對測試工程師來講,無論是專業知識素質還是解決問題的能力,都是有一定的要求的。

常用的開源測試工具如下:

1.功能測試工具

2.效能測試工具

3. 測試管理工具

1.3 商業測試工具

商業測試工具很多,一般都具有龐大的功能;在介面易用性、互動性上考慮全面;上手容易,易被大家接受。當然,購買費用也很昂貴。同時,也應該看到,商業測試工具同樣具有其他軟體工具的特性,如,其大部分功能或者其高階應用功能,對於一般使用者來說,卻很少使用到,也就是經常提及到的80/20原理(即測試工具的20%功能經常被應用,而80%的很少使用)。

測試工具的工作原理基本相同。對測試部門來講,既然決定了採用商業測試工具,則接下來面臨的是需要選擇一款適合測試工作需要的測試工具。值得提醒的是,在選擇測試工具時,需優先考慮商業測試工具本身的功能,驗證其是否滿足測試專案組的測試需求,如,對被測程式控制元件的識別能力、物件的被儲存形式等。

優秀的商業測試工具應至少具備如下特點:1)錄製過程生成的測試指令碼,應具有很好的層次性與易讀性,利於測試工程師進行修改;2)當指令碼回放時,應準確、快速、穩定。

下面列舉幾款商業測試工具:

1.開源測試工具––功能測試工具

2.開源測試工具––效能測試工具

3.開源測試工具––測試管理工具

1.4 自動化測試工具的選擇

無論選擇開源測試工具,購買商業測試工具,抑或自主研發,每一款工具都有其自身的優點。如何在眾多的測試工具中,挑選適合自己公司使用的一款工具呢?決策前一定要花費較充足的時間進行調研,選擇適合公司需要的測試工具。在此,建議從以下幾個方面進行考慮。

1. 物件識別

自動化測試工具的工作原理基本上為錄製/回放。因此錄製的效果,直接決定了指令碼回放的結果。這裡,需考慮:

錄製是否能正確地識別物件;

回放中是否正確地識別物件;

是否支援捕獲一些低層操作,如右擊等;

錄製生成的指令碼是否易於理解與維護。

2. 資料維護

測試工作中,通過不同資料的組合變換,即可實現不同的測試場景。自動化錄製過程中生成的指令碼,後續測試中會重複的使用。在指令碼的重複使用過程中,資料的變化也非常頻繁。一款好的自動化測試工具,應該很好的兼顧到資料的維護。這裡,需考慮:

3. 錯誤修復能力

測試指令碼回放過程中,並非都按期望的結果成功回放。回放過程中可能會遇到軟體本身、被測系統、作業系統等其他問題,而導致指令碼不能成功回放。好的測試工具,應具備能夠識別該類錯誤問題,並從該類錯誤中自動恢復的功能。該類問題常見的場景:

4. 指令碼語言可擴充套件性

測試工作中,測試工具的gui功能可能易學易用,但也有很大的侷限性。單單使用gui功能大大約束了測試工具功能的發揮,優秀的測試工具如要淋漓盡致的發揮其功能,需指令碼加以輔助。大部分測試工具都提供指令碼語言,而且測試工具可將錄製過程轉化為指令碼語言,使使用者能夠靈活的操作指令碼語言。因此,指令碼語言的靈活性與熟悉程度,也一定程度上決定了工具的應用範圍與推廣程度。好的測試工具使用的指令碼語言必然為大家所熟悉,而且內建提供了很多必要的函式、方法、類等,當然使用者也可以靈活的定義類、函式、方法等。這樣不僅提高了工具的應用範圍,也給公司省去了不少培訓費用。

5. 費用

**是大部分公司購買測試工具的乙個關鍵性因素,不同的測試工具**上差異也較大,一般**的差異也會體現在功能的差異上。購買測試工具除了考慮單純的購買費用外,還需要考慮到後續的技術支援費用,以及額外購買併發lisence的費用。因此,應該總體考慮,不要僅僅只看購買工具時所花費費用。

6. 相容性

相容性體現在兩個方面:測試工具對硬體平台及與其他第三方軟體的相容性;測試工具對被測軟體使用開發語言的相容性,如部分測試工具不支援oracle等。

自動化測試工具

二 如何實施自動化測試 自動化測試指軟體測試的自動化,在預設狀態下執行應用程式或者系統預設條件包括正常和異常,最後評估執行結果。將人為驅動的測試行為轉化為機器執行的過程。自動化測試框架一般可以分為兩個層次,上層是管理整個自動化測試的開發,執行以及維護,在比較龐大的專案中,它體現重要的作用,它可以管理...

自動化測試工具monkey

monkey是android中的乙個命令列工具,可以執行在模擬器裡或實際裝置中。它向系統傳送偽隨機的使用者事件流 如按鍵輸入 觸控螢幕輸入 手勢輸入等 實現對正在開發的應用程式進行壓力測試。monkey測試是一種為了測試軟體的穩定性 健壯性的快速有效的方法。a 測試的物件僅為應用程式包,有一定的侷限...

自動化測試工具分析

目前在國內使用的最多的自動化測試工具就是qtp,以至於許多人錯誤的理解為自動化測試就是使用qtp進行一下錄製,然後就是自動化測試了,這種理解是有偏差的。qtp 是hp公司開發的乙個款自動化測試工具,名氣很大,但是售價也非常昂貴,國內有一些牛人破解了qtp,進行使用,但是大公司一般不會採用這種方式,要...