We have an acceptance testing 'framework' built around Selenium to test our app which has a flex UI that talks to a java + db back-end.
We could easily integrate Selenium into our existing testing and continuous integration infrastructure because we can write our scripts in java and use junit to drive the testing. These tests are also written and maintained by developers. We also use dbunit to set up the database before each test.
Our test department however decided to go with QTP. They were shown our infrastructure built around Selenium but they found it hard to understand. I know they have a full-time dedicated person to write the tests and maintain them.
Since I do not know your exact situation I can only suggest you to consider the following:
Who is writing and maintaining the tests?
Are the suites going to be part of a larger infrastructure?
Selenium is an excellent choice if...
you have developers responsible for writing and maintaining the tests
you need to have these tests as part of a larger infrastructure
you are pretty sure you do not need to do much testing outside of the browser
you think you might want to test other browsers and other platforms besides Windows
you want something free
QTP might be a good choice if...
you have less code-savy people writing and maintaining tests (though I am not sure if Selenium IDE is hard to learn for non-coders)
if you need significant testing outside of the browser
ServiceTest 是一个相当新的解决方案,可以自动化 Web 服务和服务。其他非 GUI 界面。
这两者之间的集成为用户提供了一种解决方案来自动化跨层应用程序以及不同应用程序之间的集成测试。
您可以在 HP 网站上找到更多信息。
I think your best choice will be HP new solution for GUI and non GUI testing. The new solution is a new integration with 2 products - QTP & ServiceTest.
QTP is a known GUI automation solution with enhanced capabilities that help organizations to automate their application in the GUI layer.
ServiceTest is quite new solution that can automate web services & other non GUI interfaces.
The integration between those 2 give the users one solution to automate cross layers applications as well as integration testing between different applications.
If you are using VS2010, Coded UI is really good, as a long time QTP user (on the more technical side of that of course) Coded UI was a dream, even in its early stage of existence it is so powerful and integrates tightly into the Visual Studio eco system that if you can use it i recomend it highly. You can read about here
Another tool that my experience is more limited with but i have heard good things about is (specflow) which is can work nicely with coded UI to create and organise tests in a sensible way.
With access to a vast array (no pun intended) of programming libraries (Java, etc.) my vote would be to use Selenium-RC. But like the first poster attributed, this does require an additional learning and maintenance curve. But once setup, the applications will only be bound by your imagination (and programming prowess :)). DB integration using Selenium-RC (in java) was a cinch. We were also able to extensively use Selenium in measuring server responses. I'm sure there are hacks in QTP to do the same, but with HP support, being what it is lately, your bets should lie with the open source community (and stackoverflow :))...
If you don't need script to be in Quality Center. Continuous integration is way easier on other hand.
Selenium is a lower level tool with less functionality i.e. checkpoints. Not a big deal but it also requires more time to develop and maintain scripts. Selenium 3 is coming, every time new Selenium is out, API changes, so be ready to say good bye to old scripts (unless separate machines with different version of Selenium).
Selenium is a free tool, but you may find yourself not being able to accomplish certain action on given platform or browser simply because the functionality is not developed yet.
No, developers are not usually great with selenium, especially web tier (browser automation). Knowledge of Java doesn't come with full understanding of html dom. Do not confuse with JUnit, which they do use sometimes.
Large Selenium projects look like any other project in Eclipse. QTP way better in this case, especially with QC.
Java is great for data structures and is a full OO language, unlike VBScript.
QTP might be a good choice if...
You need integration with QC. No straightforward support Continiuos Integration.
Large infrustructure projects look cleaner with QTP. QTP has web tier descriptions separated from code by design (GUI files containing html attributes for elements in use by script). All library files are kept in QC and test data stored in excel file (by best practice).
VBScript is great on Windows: along with QTP API you do get pretty strong access to Win API and direct access to HTML DOM.
QTP supports old code since 5 years ago, and yes they have Customer support.
time to market is less than with Selenium. You do not need to search forums, when you need to click on link by xpath or by text ...you just click. Also extra functionality in form of chekpoints and other
Think twice before you start developing automation test scripts against different browsers. Automation does come up short when it comes to GUI defects. And almost all browser- specific defects are styling, layout (GUI). Functional defects incorrect values displayed, or non working controls are functional defects that can be identified on 1 platform.
发布评论
评论(5)
我们有一个围绕 Selenium 构建的验收测试“框架”来测试我们的应用程序,该应用程序具有与 java + db 后端对话的 Flex UI。
我们可以轻松地将 Selenium 集成到我们现有的测试和持续集成基础设施中,因为我们可以用 java 编写脚本并使用 junit 来驱动测试。这些测试也是由开发人员编写和维护的。我们还在每次测试之前使用 dbunit 设置数据库。
然而,我们的测试部门决定使用 QTP。他们看到了我们围绕 Selenium 构建的基础设施,但他们发现很难理解。我知道他们有一个专职人员来编写和维护测试。
由于我不知道您的具体情况,我只能建议您考虑以下问题:
Selenium 是一个很好的选择,如果...
QTP 可能是一个不错的选择,如果...
文章也可能对您有帮助。
我认为我更喜欢哪一种是显而易见的,但您需要决定哪种最适合您的情况。
We have an acceptance testing 'framework' built around Selenium to test our app which has a flex UI that talks to a java + db back-end.
We could easily integrate Selenium into our existing testing and continuous integration infrastructure because we can write our scripts in java and use junit to drive the testing. These tests are also written and maintained by developers. We also use dbunit to set up the database before each test.
Our test department however decided to go with QTP. They were shown our infrastructure built around Selenium but they found it hard to understand. I know they have a full-time dedicated person to write the tests and maintain them.
Since I do not know your exact situation I can only suggest you to consider the following:
Selenium is an excellent choice if...
QTP might be a good choice if...
This article might also help you.
I think it is obvious which one I prefer, but you need to decide what works best for your situation.
我认为您最好的选择是 HP 用于 GUI 和非 GUI 测试的新解决方案。
新的解决方案是与 2 个产品的新集成 - QTP 和 QTP。服务测试。
这两者之间的集成为用户提供了一种解决方案来自动化跨层应用程序以及不同应用程序之间的集成测试。
您可以在 HP 网站上找到更多信息。
I think your best choice will be HP new solution for GUI and non GUI testing.
The new solution is a new integration with 2 products - QTP & ServiceTest.
The integration between those 2 give the users one solution to automate cross layers applications as well as integration testing between different applications.
You can find more information at HP site.
你说.net?
如果你使用 VS2010,Coded UI 真的很好,作为一个长期的 QTP 用户(当然是在技术方面)Coded UI 是一个梦想,即使在它存在的早期阶段,它也非常强大并且紧密集成到Visual Studio 生态系统,如果你能使用它,我强烈推荐它。您可以阅读这里
我的经验比较有限,但我听说过一些好的工具是(specflow )它可以与编码的 UI 很好地配合,以合理的方式创建和组织测试。
无论如何,可能会给你一些思考的机会!
.Net you say?
If you are using VS2010, Coded UI is really good, as a long time QTP user (on the more technical side of that of course) Coded UI was a dream, even in its early stage of existence it is so powerful and integrates tightly into the Visual Studio eco system that if you can use it i recomend it highly. You can read about here
Another tool that my experience is more limited with but i have heard good things about is (specflow) which is can work nicely with coded UI to create and organise tests in a sensible way.
Might give you something to think about anyway!
通过访问大量(没有双关语)编程库(Java 等),我的投票是使用 Selenium-RC。但就像第一张海报所指出的那样,这确实需要额外的学习和维护曲线。但一旦设置完毕,应用程序将只受您的想象力(和编程能力:))的约束。
使用 Selenium-RC(在 java 中)进行数据库集成是轻而易举的事。我们还能够广泛使用 Selenium 来测量服务器响应。我确信 QTP 中也有黑客可以做同样的事情,但是有了 HP 的支持,就像最近的情况一样,你的赌注应该落在开源社区(和 stackoverflow:))...
With access to a vast array (no pun intended) of programming libraries (Java, etc.) my vote would be to use Selenium-RC. But like the first poster attributed, this does require an additional learning and maintenance curve. But once setup, the applications will only be bound by your imagination (and programming prowess :)).
DB integration using Selenium-RC (in java) was a cinch. We were also able to extensively use Selenium in measuring server responses. I'm sure there are hacks in QTP to do the same, but with HP support, being what it is lately, your bets should lie with the open source community (and stackoverflow :))...
我对此的看法 -
Selenium 是一个很好的选择,如果...
在给定平台或浏览器上完成某些操作只是因为
功能尚未开发。
QTP 可能是一个不错的选择,如果...
通过设计将描述与代码分开(包含 html 的 GUI 文件
脚本使用的元素的属性)。所有库文件都保存在
QC 和测试数据存储在 Excel 文件中(按照最佳实践)。
在开始针对不同浏览器开发自动化测试脚本之前请三思。当谈到 GUI 缺陷时,自动化确实存在不足。几乎所有浏览器特定的缺陷都是样式、布局(GUI)。功能缺陷显示的值不正确,或不起作用的控件是可以在 1 个平台上识别的功能缺陷。
My take on this -
Selenium is an excellent choice if...
accomplish certain action on given platform or browser simply because the
functionality is not developed yet.
QTP might be a good choice if...
descriptions separated from code by design (GUI files containing html
attributes for elements in use by script). All library files are kept in
QC and test data stored in excel file (by best practice).
Think twice before you start developing automation test scripts against different browsers. Automation does come up short when it comes to GUI defects. And almost all browser- specific defects are styling, layout (GUI). Functional defects incorrect values displayed, or non working controls are functional defects that can be identified on 1 platform.