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

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

●錄制與回放
Squish GUI Tester自動(dòng)化測試腳本記錄和識(shí)別上層的交互和對象,而不是底層的事件。
●測試驗(yàn)證與確認(rèn)
在錄制時(shí),可以使用Squish驗(yàn)證點(diǎn)和Pick工具在構(gòu)建腳本時(shí)插入驗(yàn)證點(diǎn),驗(yàn)證對象屬性,執(zhí)行圖像對比和驗(yàn)證表格數(shù)據(jù)等。
●強(qiáng)大交互式測試生成環(huán)境
Squish GUI Tester集成了記錄、測試執(zhí)行和結(jié)果、腳本調(diào)試、對象監(jiān)控和的腳本編輯和維護(hù)。
●多腳本語言
Squish的自動(dòng)化測試支持多種腳本語言:Python、Perl、JavaScript、Ruby和Tcl。
●數(shù)據(jù)驅(qū)動(dòng)的測試
使用來自于各種數(shù)據(jù)源(TSV、CSV、TXT、Excel spreadsheet、數(shù)據(jù)庫等等)的數(shù)據(jù)驅(qū)動(dòng)測試腳本,甚至使用Make數(shù)據(jù)驅(qū)動(dòng)向?qū)硖峁椭?/p>
●分布式批量測試
使用Squish GUI Tester執(zhí)行腳本或批處理集,并查看詳細(xì)日志記錄和執(zhí)行結(jié)果。
●廣泛的集成
ALM、測試管理、持續(xù)集成、構(gòu)建集成和軟件項(xiàng)目管理。
●Object Map和Object識(shí)別工具
簡化測試創(chuàng)建、維護(hù)和故障排除,生成穩(wěn)定而強(qiáng)大的測試腳本。
●混合應(yīng)用測試
使用Squish GUI Tester無縫自動(dòng)化多技術(shù)應(yīng)用程序或具有多個(gè)工具包的應(yīng)用程序。
●視覺驗(yàn)證
元素和控件組的驗(yàn)證選項(xiàng)。
●基于圖像的測試
識(shí)別自定義的控件或2D/3D圖像。
Squish的多個(gè)版本
●Squish for Qt
自動(dòng)化跨平臺(tái)GUI測試,適用于用Qt Widget、QML、Qt Quick、Qt Webkit和Qt WebEngine編寫的桌面、嵌入式和移動(dòng)平臺(tái)的應(yīng)用。
●Squish for Java
自動(dòng)化跨平臺(tái)GUI測試,適用于AWT、SWT、RCP、Swing和JavaFx應(yīng)用,支持嵌入式Webkit內(nèi)容。
●Squish for Windows
自動(dòng)化GUI測試,適用于原生Windows應(yīng)用,特別是支持MFC、WinForms和WPF控件,也支持通過MSAA和UIAutomation的自動(dòng)化。
●Squish for Mobile
自動(dòng)化GUI測試,適用于設(shè)備和仿真器上的原生Android和iOS應(yīng)用,支持嵌入式Webkit內(nèi)容。
●Squish for Web
自動(dòng)化跨平臺(tái)GUI測試,適用于桌面、移動(dòng)端和嵌入式平臺(tái)上的Web和HTML5應(yīng)用。
●Squish for Mac
自動(dòng)化GUI測試,適用于原生macOS應(yīng)用,支持嵌入式Webkit內(nèi)容。
混合使用Squish多個(gè)版本,能夠?qū)崿F(xiàn)混合GUI應(yīng)用的自動(dòng)化GUI測試,比如帶有嵌入式的原生的Windows控件的Qt應(yīng)用或內(nèi)嵌了Java小程序的Web應(yīng)用。
Squish CoCo
CoCo是一個(gè)多語言代碼覆蓋率工具,使用對源代碼的自動(dòng)化插裝測量語句、分支和條件的覆蓋率,無需改動(dòng)被測試的應(yīng)用。

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

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