lsekfe 发表于 2021-1-13 09:29:22

UI测试第一步:认识当下流行的UI测试工具

在过去的几年中,至少出现了十二种全新的UI测试自动化工具。由于每种工具都有自己的重点和策略,因此很难知道从哪里开始。需要更多指导吗?在下面查看最热门的新UI测试工具。
  就像任何UI测试人员都可以抗衡的那样,只要您的GUI中没有任何变化,UI测试就相对简单,但是问题是……情况一直在变化。根据您为UI测试选择的解决方案,变化的条件既可以是自我修复和AI定位器的革命性体验,也可以是繁琐的手动工作流程的彻底失败。
  为了实现前者与后者,我回顾了您应该研究的十大新(或新的)UI测试工具(我在这里还分享了一些很棒的问题,请在评估UI测试工具时问自己,以确保最终使用的工具合适并可以实现所需的功能)。
  无论您选择哪种工具,所有这些UI测试工具都具有出色的可用性功能,并将用户体验放在首位。
  1、Parasoft Selenic
  专为:浪费过多的现有Selenium用户
  定价:项目和/或团队的年度订阅
  优点:
  智能记录器使创建使用页面对象模型的Selenium测试变得容易
  可以在现有的Selenium测试中执行自我修复,并建议在现有的Selenium测试中使用智能定位器
  通过利用现有的Selenium脚本或创建新的Selenium脚本,直接集成到CI/CD管道中
  提供测试影响分析技术,以自动识别需要在CI/CD管道中执行哪些Selenium测试以验证新代码更改
  提供各个级别的客户支持(不仅限于企业)
  支持BDD(Cucumber)。专注于维护底层Java(JUnit和TestNG)Selenium测试代码
  缺点:
  没有免费版本(只有免费试用版)
  该产品仍相对较新,当前版本支持Java,JUnit 4,TestNG,Cucumber和Eclipse(JUnit 5,IntelliJ和Python在2020年的规划路线图上)
  关键要点:针对现有Selenium测试的AI支持建议可以轻松地将此解决方案立即添加到您现有的Selenium实践中。正如Gartner Peer Insights所证明的那样,该解决方案的最大优势之一就是Parasoft的世界级客户支持,该支持已获得无数次认可,并已支持30多年的软件测试产品创新。
  2、Katalon
  专为:寻求介于代码和无代码测试工具之间的中间地带的用户。
  作为一种免费工具,Katalon发挥了很多作用,并且系统集成商大量使用它来进行UI测试。它的记录器可插入Chrome浏览器,以便您生成测试用例,然后该工具使用页面对象模型在Katalon IDE中构建它们,因此它们具有很高的可维护性。 您随时可以直接在其IDE中执行测试,或将其导出到许多不同类型的测试脚本中。
  定价:基本的Katalon Studio免费提供(付费插件可通过市场订阅获得)。提供企业支持(但可能会变得非常昂贵)
  优点:
  推荐智能定位器
  使用页面对象模型(但仅用于在IDE中生成和管理的测试)
  具有自我修复功能(通过付费插件)
  能够导出到许多不同类型的测试脚本
  支持BDD。功能文件执行Katalon测试代码
  缺点:
  尽管您可以将测试导出为Selenium和其他测试脚本,但是一旦导出,就失去了Katalon的所有可用性,并且导出不包括页面对象模型,这意味着测试变得难以重用和维护
  他们的客户支持仅在企业级别可用,并且非常昂贵
  不会直接集成到您现有的执行框架中(使用专有框架,并且CI集成可用作插件)
  关键要点:无需任何技术知识,用户就可以开始使用Katalon,并借助程序中的关键字快速创建测试用例。您可以免费使用Katalon Studio,但要获得其中一些令人兴奋的创新技术的好处,则必须升级或购买付费的插件。
  3、Selenium IDE
  专为:正在寻找UI驱动的记录和回放工具的用户。
  Selenium IDE是一个开源项目,可以将Selenium的功能整合到Chrome插件中,并免费提供。Selenium IDE入门不需要进行任何其他设置,只需要在浏览器上安装扩展程序即可,这符合项目的驱动理念,即提供易于使用并提供即时反馈的工具。
  定价:免费
  优点:
  用户可以将任何已创建的测试导出到脚本中,从而使其成为用于UI测试创建的功能强大的工具
  针对其记录的每个元素提供多种定位策略
  具有自我修复功能(但不适用于Selenium IDE之外的Selenium脚本,并且不如其他解决方案的自我修复功能可靠)
  缺点:
  不完全适合您的CI/CD流程
  Buggy和黑匣子(当没有记录任何东西时,您会陷入困境,并且必须导出到代码中以了解发生的情况)
  构建测试时不使用页面对象模型
  您可以使用多种不同的语言导出测试,但目前无法导入
  虽然它们提供CI集成,但它不会直接集成到您现有的框架中
  没有对BDD的内置支持
  关键要点:Selenium IDE易于使用,使用户能够针对其Web UI快速创建测试。它对Selenium非常友好,对于那些熟悉该框架的人来说会很自然。
  4、mabl
  专为:那些对编写测试不感兴趣并且不想建立UI测试实践的团队,这意味着您将大部分工作交给了mabl。
  mabl的UI测试方法非常不同——涉及测试的次数更少,而涉及的旅程更多。您登录他们的网站,定义一个遍历您的应用程序的旅程,然后就完成了。他们并没有真正为您提供测试用例或任何真正需要解决的问题。从那时起,他们将允许您定期运行该测试并接收有关其成功执行的结果。
  定价:根据执行的行程数进行分层定价
  优点:
  推荐使用智能定位器(但用户对此有点不清楚)
  自我修复功能效果很好
  SaaS解决方案;易于访问和入门
  可扩展的定价模型
  缺点:
  记录旅程时不使用页面对象模型
  使用自己的框架,没有导入和导出测试脚本
  存在CI集成时,您不能直接将解决方案集成到现有框架中
  如果某些方法无法达到您的预期效果,那么很难访问“代码”进行配置或操作
  对“旅程”的关注使“功能验证”(即带有断言的测试)的创建感到尴尬
  仅SaaS的解决方案;没有本地部署,也没有能力访问公共Internet中不可用的应用程序
  没有对BDD的内置支持
  关键要点:mabl通过复杂的自动修复功能帮助用户提高发布流程的速度和质量,无论应用程序UI更改如何,该功能都能使自动化保持稳定。mabl会做自己想做的事情,而人类在其规定的分析中会后退,因此从本质上讲,您将自己的旅程移交给了mabl,并希望获得最好的结果。对于某些人来说,这很好,但对于另一些人来说,这可能会带来过多的控制权。
  5、TestIM
  专为:组织寻求针对UI测试的即用型解决方案,该解决方案着重于复杂工作流的执行路径。
  TestIM是一个SaaS应用程序,由开发人员创建,他们意识到虽然花时间和精力维护自动化测试环境,但他们仍然担心简单的错误修复可能破坏应用程序的另一部分。因此,他们创建了这个非常易于使用的UI测试解决方案。
  定价:基于已执行测试数量的年度订阅
  优点:
  直观的用户界面非常容易创建测试
  推荐智能定位器,以及维护它们的绝佳策略
  作为其智能定位器技术的一部分,具有令人印象深刻的自我修复能力
  缺点:
  在测试中不使用页面对象模型
  缺乏导入/导出测试脚本的能力
  用户无法访问代码或无法通过TestIM进行测试
  供应商锁定框架-脚本位于TestIM框架中
  对BDD的支持不清楚
  关键要点:很容易获得TestIM技术,也很容易创建一个可以立即使用的正确的测试用例。流畅的用户体验使自我修复看起来像魔术(如果我想要一种解决方案来改善自己的用户体验,我可能会相信具有出色用户体验的解决方案,对吗?),但是TestIM的主要挑战在于无法访问测试。由于所有测试都在TestIM框架中进行,因此您不受其基础架构,业务模型以及公司未来发生的任何事情的影响。
  6、Functionize
  专为:根据UI测试而进入BDD(他们称为“ALP”)的手动测试人员或非技术测试人员。
  Functionize提供了您希望从完整的Web UI测试工具获得的所有功能,但是在定位器策略方面有了一些其他改进,其中包括可以通过使用应用程序轻松创建测试的自动测试平台。这些都是在其专有框架中完成的。
  定价:没有公开的定价信息
  优点:
  出色的可视化显示测试流程
  推荐多个元素定位器
  具有自我修复能力
  传统BB的替代方法(使用专有的NLP)。如果您想进行传统的BDD操作(例如Cucumber),可能会成为骗局
  缺点:
  不使用页面对象模型
  供应商锁定框架
  没有导入/导出测试脚本
  关键要点:Functionize的AI似乎能够兑现组织消除测试混乱的承诺,从而提高测试人员的准确性和效率。但是请注意此处的供应商锁定,因为您考虑如何将其引入流程。
  7、Perfecto
  专为:寻求一站式界面和移动测试的用户。因为它没有脚本,所以它最适合那些不想写代码的人。
  Perfecto已经存在了一段时间,并且一直专注于移动测试,但是他们拥有一个不错的UI测试生态系统,可以创建、维护、云执行和报告。
  价格:年费在99美元至3588美元之间
  优点:
  使用页面对象模型(但仅在其生成的测试中使用)
  为记录的Web元素提供多个定位器
  最近推出的自我修复功能(尽管尚不清楚它的功能或性能如何,因此很有用)
  缺点:
  测试脚本采用专有的基于TCL的语言
  您无法导入自己的Selenium脚本
  虽然它们提供CI集成,但它不会直接集成到您现有的框架中
  通过第3方实施项目量子计划支持BDD
  关键要点:Perfecto提供有关维护和编写测试脚本、管理和验证测试以及调试缺陷的解决方案。Perfecto的UI测试解决方案为用户提供了脚本创建或无脚本创建的选项,并且他们最近在维护和自我修复方面增加了新功能。
  8、Test Craft
  专为:不想编写代码而正在寻找高级分析以不断验证其测试的用户。
  TestCraft是一个无代码的Selenium测试自动化平台,具有AI技术和独特的可视化建模功能,声称可以实现更快的测试创建和执行,同时消除测试维护开销。
  定价:没有公开的定价信息
  优点:
  使用页面对象模型(但仅在其生成的测试中使用)
  推荐称为“智能绑定”的智能定位器
  自我修复是其智能绑定技术的一部分
  内置的调度程序使用户可以随着时间的推移定期执行测试流程
  缺点:
  使用专有框架
  您无法导入/导出测试脚本
  不会直接集成到您现有的框架中(CI集成可以作为插件使用)
  通过第3方实施项目量子计划支持BDD
  关键要点:TestCraft是功能强大的SaaS应用程序,使测试人员无需编写代码即可创建全自动测试场景。用户在UI上记录他们的测试用例,然后,TestCraft将为每个测试流创建一个模型,并直观地指示您的测试将执行的不同路径。这使具有复杂使用模式的用户可以使用它。
  9、Ranorex Webtestit
  专为:寻求帮助创建Selenium脚本的编码人员。他们熟悉该代码,并希望构建结构化的脚本,但不想花费时间自行构建脚手架。
  Webtestit是Ranorex的全新产品(2019年7月发布),Ranorex是一家以桌面自动化工具闻名的公司。它是代码,纯代码,Ranorex采用了“设计优先”的方法,而不是记录和回放。您可以与用户界面进行交互,并通过其专有IDE中的辅助操作来构建脚本。尚不清楚Ranorex Studio在何处停止和Webtestit在哪里开始,但是随着时间的推移,这一点应该会变得更加清晰。
  定价:每月40美元
  优点:
  使用页面对象模型进行测试创建
  通过免费提供的Selocity Chrome插件推荐定位器(但您可能还需要查看TruePath)。您可以导入Selenium脚本(即将导入Selenium IDE)
  在IDE中创建测试期间的出色助手操作
  缺点:
  没有记录和播放功能(记录和播放虽然不完美,但这是入门的关键组成部分)
  专有的IDE——意味着开发人员必须放弃他们选择的IDE(即Eclipse或IntelliJ)
  使用专有的执行框架,因此需要其插件才能作为CI的一部分执行
  只是测试创建的解决方案-运行时无分析或自我修复功能
  没有对BDD的内置支持
  关键要点:希望拥有辅助代码创建工具的组织可能会发现此解决方案很有用。如果没有记录和回放,则鼓励用户从下至上而不是自上而下进行构建。与他们的Selocity Chrome插件结合使用,用户可以将页面作为对象绘制出来并将其导入到webtestit工具中,这对于希望使用页面对象模型的用户来说非常友好。
  10、AutonomIQ
  专为:用户正在寻找代码和无代码解决方案之间有趣的混合体。(有代码,但自然语言处理对此有所帮助。)
  AutonomIQ拥有有关AI和机器学习的强大信息,但是它有什么作用呢?该工具提供了用于UI测试自动化的三步过程。首先,通过其AI查找您的应用程序,然后从该发现过程中构建测试用例。第三步是使用他们的分析引擎来监视和维护测试用例。
  定价:没有公开的定价信息
  优点:
  强大的NLP,AI和ML
  使用页面对象模型(但仅在其生成的测试中使用)
  通过其Chrome插件推荐智能定位器
  执行过程中的自我修复
  传统BDD的替代方法(使用专有的NLP)。如果您想进行传统的BDD操作(例如Cucumber),可能会成为骗局
  缺点:
  使用专有框架
  您无法导入测试脚本
  不会直接集成到您现有的框架中(CI集成可以作为插件使用)
  尚未完全验证的技术
  关键要点:似乎这项技术具有全部功能。那么,为什么它排在我列表的最底部呢?因为我无法通过任何实际案例研究或用法来找到他们的客户。但是,如果他们的解决方案可以达到潜在的结果,那将是非常具有破坏性的。
页: [1]
查看完整版本: UI测试第一步:认识当下流行的UI测试工具