產品概述
在創(chuàng)建現(xiàn)代復雜的GUI應用程序的時候,功能GUI測試是程序開發(fā)和QA的一個重要組成部分。在一個可接受的時間內,手動測試無法獨自審查應用的缺陷。自動化GUI測試可以快速的生成一個可靠的、可重復的結果和一小段時間的執(zhí)行。自動化GUI測試幫助測試工程師提高測試的覆蓋率,快速發(fā)現(xiàn)錯誤并盡早修復, 從而節(jié)省了時間和金錢。
創(chuàng)建一個可維護的和可靠的自動化GUI測試框架需要一個深入了解底層GUI測試技術的工具。
Froglogic公司的Squish是廣受歡迎的跨平臺、多技術融合的GUI 測試工具, 它能對現(xiàn)代所有種類的 GUI 應用進行自動化測試, 尤其是對如下應用提供專業(yè)和全面的支持:Qt、Java GUIs、Web、Linux、Windows、IOS和android等。
Squish平臺有兩大產品:
Squish:自動化GUI測試
Squish CoCo:代碼覆蓋率分析

功能特性
Squish
●行為驅動的開發(fā)與測試(BDD)
Squish支持完整的BDD集成,與Gherkin(標準BDD)語言完全兼容,創(chuàng)建、記錄、維護和調試BDD GUI測試。

●錄制與回放
Squish GUI Tester自動化測試腳本記錄和識別上層的交互和對象,而不是底層的事件。
●測試驗證與確認
在錄制時,可以使用Squish驗證點和Pick工具在構建腳本時插入驗證點,驗證對象屬性,執(zhí)行圖像對比和驗證表格數(shù)據(jù)等。
●強大交互式測試生成環(huán)境
Squish GUI Tester集成了記錄、測試執(zhí)行和結果、腳本調試、對象監(jiān)控和的腳本編輯和維護。
●多腳本語言
Squish的自動化測試支持多種腳本語言:Python、Perl、JavaScript、Ruby和Tcl。
●數(shù)據(jù)驅動的測試
使用來自于各種數(shù)據(jù)源(TSV、CSV、TXT、Excel spreadsheet、數(shù)據(jù)庫等等)的數(shù)據(jù)驅動測試腳本,甚至使用Make數(shù)據(jù)驅動向導來提供幫助。
●分布式批量測試
使用Squish GUI Tester執(zhí)行腳本或批處理集,并查看詳細日志記錄和執(zhí)行結果。
●廣泛的集成
ALM、測試管理、持續(xù)集成、構建集成和軟件項目管理。
●Object Map和Object識別工具
簡化測試創(chuàng)建、維護和故障排除,生成穩(wěn)定而強大的測試腳本。
●混合應用測試
使用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多個版本,能夠實現(xiàn)混合GUI應用的自動化GUI測試,比如帶有嵌入式的原生的Windows控件的Qt應用或內嵌了Java小程序的Web應用。
Squish CoCo
CoCo是一個多語言代碼覆蓋率工具,使用對源代碼的自動化插裝測量語句、分支和條件的覆蓋率,無需改動被測試的應用。

●覆蓋率等級
CoCo支持函數(shù)覆蓋、行覆蓋、語句覆蓋、分支覆蓋、條件覆蓋、MC/DC覆蓋和MCC覆蓋(Multiple Condition Coverage)。源代碼的覆蓋用顏色可視化:

●支持的平臺和編譯器
\支持的平臺:
√Linux(32和64位)
√Windows(32和64位)
√macOS(32和64位)
√Solaris、AIX和其它UNIX系統(tǒng)。
\使用交叉編譯器(需要Squish CoCo平臺支持包),客戶可以用在其它平臺,包括:
√嵌入式Linux
√嵌入式Windows
√移動操作系統(tǒng)
√實時操作系統(tǒng)(QNX、VxWorks或FreeRTOS)
√無操作系統(tǒng)的微控制器和微處理器。
\支持的編譯器:
√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平臺支持包。
\支持的硬件:
目標系統(tǒng)的硬件基本是上述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。
●持續(xù)集成
CoCo支持多種構建、測試和持續(xù)集成系統(tǒng),比如JUnit、Jenkins、SonarCube和Bamboo等。
●分析
混合多次執(zhí)行的報告,提供更加的分析能力,比如計算測試執(zhí)行的次序、多次執(zhí)行之間的對比分析、被測軟件不同構建之間的覆蓋率分析、評審過程中源代碼補丁的覆蓋率分析、確定覆蓋源代碼補丁的小測試集。
●確認與合格審定
適用于工業(yè)標準的功能安全認證和合格審定。
●測試框架集成
使用CoCo Framework API(C和C++)可以收集其它測試框架的信息,包括:CppUnit、QTestLib、GoogleTest、CxxTest、NUnit。
●執(zhí)行時間
記錄單個測試或測試集的執(zhí)行時間。
●IDE插件
提供Microsoft Visual Studio插件,直接在開發(fā)環(huán)境內生成代碼覆蓋配置。