GUI功能测试工具HP UFT vs Selenium

当我们谈论测试自动化时,我们会自动考虑可简化测试任务的工具。这些工具可以分为两大类-免费软件和许可工具。免费软件工具是可通过Internet免费获得的开源工具。这种工具的可靠性要差得多。但是,当我们谈论许可工具时,这些工具是具有许可版本的付费工具。如果要使用这些工具,则必须支付许可证费用。

在本文中,我们将讨论两种主要的GUI功能测试工具-Selenium(这是一种开放源代码工具)和HP UFT(QTP),这是一种需要许可证的商业工具。让我们详细讨论他们两个,看看它们之间的差异。

热门工具

选择最适合您整体需求的正确测试自动化工具非常重要。为此,我们首先需要了解您的项目有多少个重复任务以及需要执行几轮测试。在这种情况下,在性能和输出方面,有两个工具名列榜首,分别是HP UFT和Selenium。让我们看一下这些工具的简要背景和功能。

  • HP UFT(统一功能测试)工具(又称QTP) -我们一直将此工具称为HP QTP(Quick Test Pro)。HP最近将此工具重命名为HP UFT。它是市场上最主要的商业参与者之一。它主要使用VB脚本作为其脚本语言。它非常易于使用,并具有强大的功能。它使用对象库来标识对象并捕获它们。它可以轻松与Quality Center等其他自动化工具集成,并可以更新结果。

  • Selenium -Selenium是一种开源工具,在进入业界时就引起了轰动。它是一款具有所有良好功能的免费软件,因此能够轻松占领QTP领先者的市场。Selenium支持多种语言,并且在很大程度上基于Java脚本。

节省成本

完成测试自动化可以节省软件开发过程的成本。但是这些工具可能会增加成本。HP UFT是一种付费工具,可以为每个用户购买许可证。相反,Selenium是免费工具,可以随时下载。

语言支持/脚本

在谈论编程语言时,HP UFT仅支持VB脚本编写自动化脚本,而Selenium具有使用多种编程语言(如Java,C#,Ruby,Python,Perl,PHP和JavaScript)的优势。因此,如果您不了解C#,则始终可以使用PHP或Perl或Ruby编写脚本。因此,硒获得了优势。

对于HP UFT,只能在QTP / UFT IDE中开发脚本,而在Selenium中,我们可以使用Visual Studio,Eclipse,Netbeans等更广泛的IDE来创建脚本。

环境

HP UFT仅可在Windows环境中使用,并且需要Google Chrome,IE或Firefox作为浏览器。除此以外,它还支持不同的环境,例如SAP,Oracle,.NET,但用户需要为其购买附加许可证。但是,可以在Linux,Windows,Solaris,OS X上使用Selenium。使用MobileCloud的HP UFT中也提供了对移动应用程序的支持。但是,Selenium提供了对Android,iPhone和iPad,Blackberry和Headless WebKit的支持。

硒仅用于测试Web应用程序。但是,HP UFT用于测试客户端服务器应用程序,桌面以及Web应用程序。

物体识别

HP UFT带有内置的对象存储库,并且对象存储库的开发和维护非常容易。内置的对象存储库存储元素ID和多个属性以标识对象,这些对象为控件识别中的偏差接受提供了灵活性。

但是,Selenium没有这样的内置对象存储库,但是可以使用UI元素用户扩展来管理对象。使用UI映射和其他对象定位策略(例如-XPath元素ID或属性DOM)来标识对象。

支持

HP UFT提供了很好的技术支持,并且有各种论坛可以帮助解决技术问题。相比之下,Selenium不提供任何技术支持,但是可以通过各种在线论坛和开源社区来搜索查询。HP UFT还将继续针对软件中的内置错误发布新版本和补丁。

报告和技术知识

可以使用HP ALM / Quality Center报告模块创建交互式和自定义的报告。编写脚本和生成定制报告所需的技术知识很少。对于Selenium,脚本开发人员需要非常好的知识,以及集成框架不同部分的技术能力。对于报告,Selenium与Jenkins集成在一起,可以提供良好的报告和仪表板功能。

在讨论了所有这些功能之后,我们可以得出结论,HP UFT与开源Selenium之间的区别类似于购买品牌连衣裙并自行缝制连衣裙。品牌连衣裙具有其自身的成本和品牌形象,而在自行打造的连衣裙中,您需要自己进行从完成到最终修饰的一切工作。同样,HP UFT作为品牌软件也有其自身的优势。HP不断添加新功能,并在发布相同功能之前进行了多次测试。但是,就开源软件而言,从同一角度来看,我们确实没有什么限制。

因此,如果您打算以低成本快速测试自动化的Web应用程序,那么Selenium是一个很好的答案。但是,如果您的项目需求需要对自动化工具的长期支持,并且需要支持台式机,Web和移动应用程序,那么HP UFT将是一个不错的选择。HP UFT还提供了backword兼容性,有助于执行5年前编写的代码。最后,用于功能自动化的工具的选择在很大程度上取决于测试项目的要求。