什么是Squish?有哪些优缺点?
2020.07.07 -
Squish是用于功能测试的著名自动化工具,可用于测试用户界面并在回归测试阶段应用测试脚本。它是由Froglogic开发,实施和维护的,目的是使该软件可供整个行业的软件专业人员在多种不同的软件开发平台上应用该工具。
它支持JavaFX,Flex,Android,XView,Web / HTML / Ajax,Windows MFC,WPF,Qt,QML,QtQuick,Java AWT / Swing,Mac OS X Carbon / Cocoa,Tk,Java SWT / Eclipse RCP等。促进测试记录,对BDD,IDE,测试管理和CI系统的集成支持。

Squish工具如何工作?
Squish自动化测试工具的工作流程如下:
- 在测试过程(AUT)下识别和检查应用程序,并根据需要在应用程序上使用该工具。该工具的设计方式是,当在测试中的应用程序中观察到故障或不当行为时,它不会以任何方式影响Squish工具,而脚本则按照测试专业人员的指示继续执行其测试。
- 这是通过在与运行压榨工具的流不同的流中执行应用程序来实现的,方法是将测试工件和必要的测试元素放置在可独立访问的公共位置。
- squish的此功能可实现测试领域的创新步骤,例如全自动测试执行,远程测试过程,在各种应用程序或平台上并行执行的测试执行。在Squish中有效处理此类设计的一个明显原因是该工具具有自己的服务器接口,以便管理被测应用程序和测试执行流之间的数据流和功能流。
- 压扁服务器链接到压扁运行程序工具(内置压扁),在其中放置测试执行。这里的服务器从squish库中引入了petite元素,该库中临时放置了与测试执行相关的对象,这些元素被称为Squish中的Hook。
- 压扁运行程序是压扁的另一个要素,用于指示被测应用程序按照测试脚本中提到的步骤工作。这些说明可用于与要经受远程测试过程的应用程序的所有链接单元对齐。
- 在squish中,将在压缩的专用集成开发环境中创建并运行测试工件,并且测试人员还可以方便地在测试结果视图中跟踪进度。像许多其他应用程序一样,Squash可以由测试专业人员通过命令行指令进行操作,以进行初始化和观察最终结果。
- 借助于用于接纳测试对象,它们的属性,相关方法,用户界面方面的库元素,此工具为测试人员提供了对被测试应用程序的完全控制,在此工具中称为绑定。这些在测试执行所需的两个元素中分类,例如用户界面工具包绑定和特定于测试的应用程序(AUT)绑定。
工具功能
Squish自动化测试工具的一些可感知功能包括:
- 它具有用于将测试创建和存储为一个集合的测试套件,以及一个集成的开发环境,可以将测试付诸实践
- 它有助于在压缩服务器中记录测试过程中所有应用程序的记录
- 用于记录测试执行过程的选项,用于在IDE中编辑测试脚本的选项
- 允许使用“运行测试套件”选项从测试套件中整体运行测试
- 支持各种脚本,如TCL,Python,JavaScript,Perl,Ruby等,提供在测试执行完成后查看和访问详细测试结果的功能,以及测试管理功能
- 根据测试脚本和应用程序对象视图选项添加或删除或移至特定的验证点
- 允许徒手创建测试对象和资源,以在测试执行完成后导出最终测试结果
- 要在测试和面板中的各个断点之间分配和切换,以管理应用程序对象,用于修改在测试过程中记录的测试结果的首选项以及用于查看和理解对象映射的对象图工具栏。
各个领域的应用
Squish可以应用于各种测试方法,例如用户界面测试,功能测试,回归测试,数据驱动器测试,关键字驱动的测试,压力测试,批处理驱动的测试,远程测试等,甚至可能涉及多个领域。
一个在一个平台上构建的应用程序或多个平台的组合。它可用于测试基于多种平台构建的不同应用程序,例如基于android的应用程序,基于java的应用程序,基于网站或基于Web的应用程序,基于Windows或mac的应用程序,Qt应用程序等。因为它几乎可以在所有应用程序上使用它使用最新技术构建而成,可用于大多数软件应用程序产品。
Squish的优缺点
下面列出了一些优点和缺点:
优点
- 生成测试的一致性高,冗余度低。
- 针对不断变化的需求的可重用性和可伸缩性。
- 可以根据需要进行集成更改。
- 在测试执行阶段提高了性能并提高了效率。
缺点
- 没有附带用于在记录测试结果时记录屏幕截图的选项。
- 并非完全自动化,需要人工干预。
- 可根据开发人员的喜好进行调整,使某些测试用例过时。
- 该工具的原始许可版本中添加的每个其他功能的额外费用。
总结
随着软件应用程序范围的增加或减少,随着需求的变化,Squash自动化测试工具可用于使测试专业人员的工作变得更轻松,从而使项目变得更容易。像任何其他自动化程序一样,该工具使测试过程迅速,不倦地迈入软件开发过程。