近年來,隨着DevOps和敏捷過程越來越廣泛地被采用,軟件測試、特別是自動化測試得到了迅速的發展。DevOps希望建立一個快速、頻繁、可靠的一體化交付過程;敏捷則要求對交付件質量進行持續、及時、全面的反饋。軟件測試作為研發過程中的重要環節,其能否達到快速響應、有效度量,實現過程自動化、系統一體化的目標,對整個組織的研發效率和產品質量將產生深遠的影響。
減少工作量的應用程序正飛速發展,迅速涵蓋着各行各業,在軟件測試行業中,對自動化需求的增加也成為一種趨勢。在任意的軟件或應用程序測試平台,都會發現軟件測試人員們迫切需要各種工具來輔助日常測試,無論是桌面測試還是web測試、瀏覽器測試、回歸測試、網絡服務和 API 測試等等。
以下帶來一些流行的軟件測試自動化工具的概述,以幫助所有軟件測試人員。
1.Selenium

Selenium 是一個測試框架,用於跨各種瀏覽器和平台(如 Windows、Mac 和 Linux)執行 web 應用程序測試。Selenium 幫助測試人員使用各種編程語言編寫測試程序,如 Java、PHP、C#、Python、Groovy、Ruby 和 Perl。它提供記錄和回放功能,無需學習 Selenium IDE 即可編寫。
值得一提的是,Selenium支持一些大型的、知名度高的瀏覽器供應商,這些供應商將 Selenium 作為瀏覽器的基礎部分。Selenium 無疑是大多數其他軟件測試工具的基礎。
2. TestingWhiz
TestingWhiz 是一個由 CMMI3 級 IT 解決方案提供商Cygnet Infotech提供的無代碼自動化測試工具。TestingWhiz 工具的企業版提供了各種完整的自動化測試解決方案,例如 web 測試、軟件測試、數據庫測試、 API 測試、移動應用程序測試、回歸測試套件維護、優化和自動化以及跨瀏覽器測試。
TestingWhiz 提供各種重要功能,例如:
- 關鍵字驅動、數據驅動測試和分布式測試
- 瀏覽器擴展測試
- SMTP 集成
- 與 Mantis、TFS 和 FogBugz 等bug跟蹤工具集成
- 與 HP Quality Center、Zephyr、TestRail 和 Microsoft VSTS 等測試管理工具集成
- 集中式對象存儲庫
- 版本控制系統集成
- 自定義錄制規則
3. HPE Unified Functional Testing
HPE UFT是測試桌面,Web和移動應用程序的流行商業工具,支持功能測試和回歸測試自動化。此工具使用 Visual Basic Scripting Edition 腳本語言來注冊測試過程並在測試應用程序時操作各種對象和控件。
QTP 提供各種功能,如:
- 創建測試
- 檢驗數據
- 增強測試
- 運行測試腳本
- 分析測試結果
- 維護測試
4. TestComplete

TestComplete 是一個功能測試平台,它提供各種解決方案,通過SmartBear 軟件對桌面、網站和移動應用程序進行自動化測試。
TestComplete 提供以下功能:
- GUI測試
- 腳本語言支持 – JavaScript、Python、VBScript、JScript、DelphiScript、C++Script 和 C#Script
- 測試可視化工具
- 腳本測試
- 測試錄制和回放
5.Ranorex
Ranorex 是一款在Windows操作系統的上運行的GUI自動測試化工具,主要用於對使用GUI的軟件進行的軟件測試,是計算機軟件與用戶進行交互的主要方式。
Ranorex 提供以下功能:
- GUI識別
- 可重復使用的測試代碼
- 錯誤檢測
- 與各種工具集成
- 錄制和回放
6. Tosca Testsuite
Tricentis 的 Tosca Testsuite 使用基於模型的測試自動化來實現自動化軟件測試。
Tosca Testsuite 具有以下功能:
- 規划並設計測試方案
- 測試數據供應
- 服務虛擬化網絡
- 測試移動應用
- 集成管理
- 風險保障
7. Watir

Watir 是一個開源測試工具,由 Ruby 庫組成,用於自動化網絡應用程序測試。
Watir 提供以下功能:
- 測試任何語言的網絡應用程序
- 跨瀏覽器測試
- 兼容業務驅動的開發工具,如 RSpec、Cucumber 和 TestUnit
- 測試網頁的按鈕、表格、鏈接及其響應
8. Katalon Studio
Katalon Studio 是由 Katalon LLC 開發的免費的自動化測試解決方案。該軟件建立在開源自動化框架 Selenium 之上,Appium 具有用於 API、web 和移動測試的專用 IDE 接口,它還為這些類型的測試提供了豐富的功能集,並支持包括Windows,macOS和Linux在內的多個平台。該工具包含一整套強大的功能,可幫助克服 web UI 測試自動化中的常見挑戰。
Katalon Studio 包含以下功能:
- 內置對象存儲庫、XPath、對象重識別
- 支持 JavaGroovy 腳本語言
- 內置基於圖像的測試支持
- 支持 Jenkins 和 TeamCity 等持續集成工具
- 支持雙編輯器界面
- 可定制的執行工作流程
9.ZTF

目前市面上的自動化測試框架主要分為單元測試框架和某種領域的自動化測試框架,這些框架往往與各個語言綁定,需要將這些自動化測試框架的測試腳本統一管理起來,ZTF自動化測試框架由此被開發出來。ZTF聚焦於自動化測試的管理功能,提供了自動化測試腳本的定義、管理、驅動、執行結果的回傳、Bug的創建以及和其他自動化測框架的集成。
ZTF解決如下問題:
- 用例信息的管理
- 測試腳本的執行
- 測試結果的比對
- 缺陷Bug的提交
ZTF具有語法簡單、跨平台、跨語言、跨框架、工程化、跨場景的特點,可很好地驅動8種單元測試框架、3種自動化測試框架來執行測試,並把最終結果回傳給禪道,進行統一的報告展示,打通了項目管理和持續集成工具之間的溝壑,貫穿持續集成、持續測試、持續部署等DevOps生命周期的不同階段。
10.ZenData

與前面的自動化測試框架不同,ZenData並不是測試框架,而是輔助自動化測試的工具。現在的自動化測試面臨大規模、工程化的挑戰,其中最重要的一環是測試數據的靈活、大規模的管理。
ZenData以數據生成和數據解析兩大功能,成為可以通用的測試數據生成工具。ZenData通過定義簡單的字段取值列表、前綴后綴等配置,即可實現測試數據維護的目的。它簡潔、高效、靈活,是做單元測試、接口測試、功能自動化測試、性能測試、壓力測試、打樁mock的有力幫手。
Zendata特性:
- 不懂代碼也可以使用,輕松上手
- 數據格式完全自定義,無任何限制
- 一鍵生成百萬條數據,毫無壓力
ZenData可以用於手工測試場景下面測試數據的准備,也可以用於自動化測試腳本里面的數據生成和解析,還可以一鍵生成海量數據用於性能和壓力測試,是助力自動化測試的通用數據生成利器!
自動化測試作為質量保證活動中的重要一環,未來將具備過程一體化、資產集中化、測試服務化等趨勢。合理的工具應支持基本優化,測試用例和數據生成的自動化,更智能的解決方案以及分析。所以選擇的測試工具不僅應滿足當前的需求,還應關注潛在的趨勢和改進。