在創建現代復雜的GUI應用程序的時候,功能GUI測試是程序開發和QA的一個重要組成部分。在一個可接受的時間內,手動測試無法獨自審查應用的缺陷。自動化GUI測試可以快速的生成一個可靠的、可重復的結果和一小段時間的執行。自動化GUI測試幫助測試工程師提高測試的覆蓋率,快速發現錯誤并盡早修復, 從而節省了時間和金錢。
創建一個可維護的和可靠的自動化GUI測試框架需要一個深入了解底層GUI測試技術的工具。
Froglogic公司的Squish是廣受歡迎的跨平臺、多技術融合的GUI 測試工具, 它能對現代所有種類的 GUI 應用進行自動化測試, 尤其是對如下應用提供專業和全面的支持:Qt、Java GUIs、Web、Linux、Windows、IOS和android等。
Squish平臺有兩大產品:
◆ Squish:自動化GUI測試
◆ Squish CoCo:代碼覆蓋率分析
Squish
◆ 行為驅動的開發與測試(BDD)
Squish支持完整的BDD集成,與Gherkin(標準BDD)語言完全兼容,創建、記錄、維護和調試BDD GUI測試。
◆ 錄制與回放
Squish GUI Tester自動化測試腳本記錄和識別上層的交互和對象,而不是底層的事件。
◆ 測試驗證與確認
在錄制時,可以使用Squish驗證點和Pick工具在構建腳本時插入驗證點,驗證對象屬性,執行圖像對比和驗證表格數據等。
◆ 強大交互式測試生成環境
Squish GUI Tester集成了記錄、測試執行和結果、腳本調試、對象監控和高級的腳本編輯和維護。
◆ 多腳本語言
Squish的自動化測試支持多種腳本語言:Python、Perl、JavaScript、Ruby和Tcl。
◆ 數據驅動的測試
使用來自于各種數據源(TSV、CSV、TXT、Excel spreadsheet、數據庫等等)的數據驅動測試腳本,甚至使用Make數據驅動向導來提供幫助。
◆ 分布式批量測試
使用Squish GUI Tester執行腳本或批處理集,并查看詳細日志記錄和執行結果。
◆ 廣泛的集成
ALM、測試管理、持續集成、構建集成和軟件項目管理。
◆ Object Map和Object識別工具
簡化測試創建、維護和故障排除,生成穩定而強大的測試腳本。
◆ 混合應用測試
使用Squish GUI Tester無縫自動化多技術應用程序或具有多個工具包的應用程序。
◆ 視覺驗證
元素和控件組的高級驗證選項。
◆ 基于圖像的測試
識別自定義的控件或2D/3D圖像。
Squish的多個版本
◆ Squish for Qt
自動化跨平臺GUI測試,適用于用Qt Widget、QML、Qt Quick、Qt Webkit和Qt WebEngine編寫的桌面、嵌入式和移動平臺的應用。
◆ Squish for Java
自動化跨平臺GUI測試,適用于AWT、SWT、RCP、Swing和JavaFx應用,支持嵌入式Webkit內容。
◆ Squish for Windows
自動化GUI測試,適用于原生Windows應用,特別是支持MFC、WinForms和WPF控件,也支持通過MSAA和UIAutomation的自動化。
◆ Squish for Mobile
自動化GUI測試,適用于設備和仿真器上的原生Android和iOS應用,支持嵌入式Webkit內容。
◆ Squish for Web
自動化跨平臺GUI測試,適用于桌面、移動端和嵌入式平臺上的Web和HTML5應用。
◆ Squish for Mac
自動化GUI測試,適用于原生macOS應用,支持嵌入式Webkit內容。
混合使用Squish多個版本,能夠實現混合GUI應用的自動化GUI測試,比如帶有嵌入式的原生的Windows控件的Qt應用或內嵌了Java小程序的Web應用。
Squish CoCo
CoCo是一個多語言代碼覆蓋率工具,使用對源代碼的自動化插裝測量語句、分支和條件的覆蓋率,無需改動被測試的應用。
◆ 覆蓋率等級
CoCo支持函數覆蓋、行覆蓋、語句覆蓋、分支覆蓋、條件覆蓋、MC/DC覆蓋和MCC覆蓋(Multiple Condition Coverage)。源代碼的覆蓋用顏色可視化:
◆ 支持的平臺和編譯器
◆ 支持的平臺:
√Linux(32和64位)
√Windows(32和64位)
√macOS(32和64位)
√Solaris、AIX和其它UNIX系統。
◆ 使用交叉編譯器(需要Squish CoCo平臺支持包),客戶可以用在其它平臺,包括:
√嵌入式Linux
√嵌入式Windows
√移動操作系統
√實時操作系統(QNX、VxWorks或FreeRTOS)
√無操作系統的微控制器和微處理器。
◆ 支持的編譯器:
√GCC家族
√Microsoft Visual Studio(C、C++和C#)
√Clang
√Intel C/C++
√Oracle/Sun Studio C/C++
√Mono C# Compiler
√ARM C/C++(Keil μVision)(*)
√Green Hills Compiler for C and C++(*)
√HighTec(*)
√Atmel Studio C(*)
其中帶(*)者需要Squish CoCo平臺支持包。
◆ 支持的硬件:
目標系統的硬件基本是上述C、C++、C#編譯器能支持的任何硬件,下面是一些常用的:
√Intel x86 and x64
√ARM
√IA64
√PowerPC
√SPARC
√MIPS
√AURIX? TriCore
√Microchip's SAM microcontrollers
◆ 支持的語言
支持Tcl、QML、C#和C/C++(包括SystemC)。
◆ 報告格式
產生報告的格式:HTML、XML、EMMA-XML、Text、JUnit、Cobertura。
◆ 持續集成
CoCo支持多種構建、測試和持續集成系統,比如JUnit、Jenkins、SonarCube和Bamboo等。
◆ 高級分析
混合多次執行的報告,提供更加高級的分析能力,比如計算測試執行的最佳次序、多次執行之間的對比分析、被測軟件不同構建之間的覆蓋率分析、評審過程中源代碼補丁的覆蓋率分析、確定覆蓋源代碼補丁的最小測試集。
◆ 確認與合格審定
適用于工業標準的功能安全認證和合格審定。
◆ 測試框架集成
使用CoCo Framework API(C和C++)可以收集其它測試框架的信息,包括:CppUnit、QTestLib、GoogleTest、CxxTest、NUnit。
◆ 執行時間
記錄單個測試或測試集的執行時間。
◆ IDE插件
提供Microsoft Visual Studio插件,直接在開發環境內生成代碼覆蓋配置。