首页 / 知识
关于java:什么是基于Swing的应用程序的最佳测试工具?
2023-04-16 09:18:00

What is the best testing tool for Swing-based applications?当我们尝试为应用程序设置尽可能多的单元测试时,我总是发现缺少UI级别的测试。 那里有很多选择,但是我不确定哪是一个很好的起点。 您首选的用于测试Swing应用程序的单元测试工具是什么? 你为什么喜欢它? 在我们这边,我们使用FEST测试SWING GUI。这是经典摇摆机器人上的适配器,但可以大大简化其使用。 结合TestNG,我们发现这是一种通过GUI模拟"人为"行为的简便方法。 如果您的目标应用程序具有自定义组件,我绝对会推荐Marathon来自动化您的测试。 我被赋予了使用几个极其复杂的自定义组件自动化应用程序的任务,这些组件是完全由内部编写的。我经历了为期两个月的审查过程,在此过程中,我从近30种可用的商业和FOSS测试工具清单中决定了使用哪种测试工具。 它是唯一能够成功实现我们特定定制组件自动化的测试工具。 IBM的Rational Functional Tester,Microfocus的TestPartner,QF-Test,Abbot和FEST失败了。 从那以后,我就能够成功地将测试与Cruise Control集成在一起,从而使它们在完成应用程序的每次构建时都可以运行。
不过要注意一点: 考虑一下Marathon(http://www.marathontesting.com/Home.html)-测试是用Jython编写的,因此根据对象状态编写任何种类的谓词都很容易。 我可以强烈推荐QFTest。我已经将它用于我的商业产品,并且几乎可以零代码运行(我的应用在某些方面需要使用Java客户端API)。它可以很好地识别摆动组件,并且可以很好地容忍对GUI的更新-(调整大小,重新定位和添加组件不会破坏现有测试)。我已经对功能进行了重大更新,并且测试仍然可以正常进行。 它昂贵,但我认为它将在几个月内收回投资。 在QFTest之前,我尝试过: 1)Automatedqa-很好的工具,但是以Windows为中心并且不了解Swing。类似于Quick test Pro。 2)UISpec4J-在花了整整50个小时的时间之后,我遇到了脆弱性及其产生的神秘Java代码的问题。使用它太麻烦了-尝试调试/更新数百行Java,执行一系列GUI操作序列,这对我的大脑来说是行不通的。我最终避免编写测试,因为它比实际编写应用程序本身要复杂得多! 您可以尝试使用Cucumber和Swinger用普通的英语编写针对Swing GUI应用程序的功能接受测试。 Swinger在后台使用Netbeans的Jemmy库来驱动该应用程序。 黄瓜允许您编写如下测试:
观看此Swinger视频演示以实际操作。 我有一次玩过QF-TEST的机会。它是商业性的,但是提供了很多功能。也许您可以看一下:http://www.qftest.de/en/index.html 不是答案,而是提炼。 记录和回放是错误的要求。团队需要具备在编写代码之前编写测试的能力。否则,编码人员将完成工作并等待测试人员争先恐后地记录测试(发现问题时被修复打断)。 在BDD / TDD / ATDD类型的设置中,您确实需要某种工具,该工具可以为尚未编写的代码编写脚本测试,并指定UI元素名称等。 是否有可用于非瀑布测试的工具? 我喜欢Jemmy,为测试Netbeans而编写的库。 尝试捣蛋器:http://pounder.sourceforge.net/ |
最新内容
相关内容
linux命令行设置网卡?
linux命令行设置网卡?,系统,地址,信息,网络,工具,电脑,工作,名称,设备,网卡,linux配置网卡后,单独关掉网卡和重启网卡的命令是什么?首先用CRTlinux设置ip命令?
linux设置ip命令?,地址,系统,密码,设备,命令,服务,工具,网络,网卡,计算机,在Linux中,可以使用()命令为计算机配置IP地址。1、首先使用root用户linux设置命令是什么?
linux设置命令是什么?,系统,工作,信息,名称,地址,命令,在线,基础,标准,工具,linux设置开启swap交换分区基本命令(虚拟内存)1、linux调整swap的linux命令设置密码?
linux命令设置密码?,密码,系统,服务,软件,地址,电脑,流程,管理,用户,命令,问一个大家都想知道的问题,linux设置密码怎么弄的?连接上相应的linulinux设置编码命令?
linux设置编码命令?,系统,数据,发展,文件,字符集,命令,数据库,以下,终端,大小写,Linux如何使用enca查看文件编码并转换在Linux中查看文件编码linux命令行设置语言?
linux命令行设置语言?,系统,管理,环境,国家,工具,电脑,软件,文化,底部,语言,linux命令行下怎样改变语言1、将内容改为:LANG=zh_CN.UTF-8LANGUAGlinux设置壁纸的命令?
linux设置壁纸的命令?,图片,系统,电脑,照片,位置,终端,颜色,字体,单击,壁纸,怎么才可以弄成很漂亮的linux终端背景,和字体颜色根据自己的喜好linux恢复命令行设置?
linux恢复命令行设置?,系统,工作,密码,信息,工具,地址,电脑,命令,情况,地方,如何修复linux系统ps命令行用随便一张可启动的linux光盘启动并进linux命令提示设置?
linux命令提示设置?,系统,工作,地址,信息,命令,软件,目录,管理,变量,文件,Linux命令linux系统常用操作命令如下:ls:全拼list,功能是列出目录的内linux设置命令ip?
linux设置命令ip?,地址,系统,代码,命令,密码,网卡,终端,计算机,测试,网关,linux系统怎么设置IP?1、第一种使用ifconfig命令配置网卡的ip地址。linux设置man命令?
linux设置man命令?,信息,系统,工具,工作,地址,命令,基础,地方,基本知识,技术,linux下,如何添加man帮助man命令是Linux下的帮助指令,通过man指令linux鼠标设置命令?
linux鼠标设置命令?,系统,软件,环境,产品,设备,数据,网络,网址,工具,情况,linux操作系统中有无鼠标键功能,怎么设置如果是在Linux命令行界面下