装备电子系统的研发、测试、保障解决方案中心

自动化GUI测试Squish
产品中心 自动化GUI测试Squish
产品概述

在创建现代复杂的GUI应用程序的时候,功能GUI测试是程序开发和QA的一个重要组成部分。在一个可接受的时间内,手动测试无法独自审查应用的缺陷。自动化GUI测试可以快速的生成一个可靠的、可重复的结果和一小段时间的执行。自动化GUI测试帮助测试工程师提高测试的覆盖率,快速发现错误并尽早修复, 从而节省了时间和金钱。

创建一个可维护的和可靠的自动化GUI测试框架需要一个深入了解底层GUI测试技术的工具。

Froglogic公司的Squish是广受欢迎的跨平台、多技术融合的GUI 测试工具, 它能对现代所有种类的 GUI 应用进行自动化测试, 尤其是对如下应用提供专业和全面的支持:Qt、Java GUIs、Web、Linux、Windows、IOS和android等。

Squish平台有两大产品:

             ◆ Squish:自动化GUI测试

            Squish CoCo:代码覆盖率分析

图片1.png





功能特性

Squish

       ◆ 行为驱动的开发与测试(BDD)

Squish支持完整的BDD集成,与Gherkin(标准BDD)语言完全兼容,创建、记录、维护和调试BDD GUI测试。

图片2.png

       ◆ 录制与回放

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是一个多语言代码覆盖率工具,使用对源代码的自动化插装测量语句、分支和条件的覆盖率,无需改动被测试的应用。

图片3.png

       ◆ 覆盖率等级

CoCo支持函数覆盖、行覆盖、语句覆盖、分支覆盖、条件覆盖、MC/DC覆盖和MCC覆盖(Multiple Condition Coverage)。源代码的覆盖用颜色可视化:

图片4.png

       ◆ 支持的平台和编译器

         ◆ 支持的平台:

             √Linux(32和64位)

             √Windows(32和64位)

             √macOS(32和64位)

             √Solaris、AIX和其它UNIX系统。

         使用交叉编译器(需要Squish CoCo平台支持包),客户可以用在其它平台,包括:

             √嵌入式Linux

             √嵌入式Windows

             √移动操作系统

             √实时操作系统(QNX、VxWorks或FreeRTOS)

             √无操作系统的微控制器和微处理器。

         支持的编译器:

             √GCC家族

             √Microsoft Visual StudioC、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插件,直接在开发环境内生成代码覆盖配置。