我有一个使用.net技术创建的应用程序/产品。该产品具有GUI,使用Web API(应用程序服务器上的SOAP)连接到数据库。大多数测试都是针对DB中的值执行的,而其他测试可能属于可用性,性能等。因此,要执行的测试中有60-70%要验证DB中的值是否正确显示在GUI上,其他人测试GUI是否在需求规范中按预期工作。
测试的另一个方面还将是使用DB和GUI测试后端应用服务器接口。因为这将使我们能够确定,如果App Server正在向GUI发送错误值,或者它是具有错误值的DB!
除了以附加下拉菜单项的形式添加新功能以及这些菜单项的其他页面之外,产品UI的变化不大。
考虑到上述情况,哪种框架更合适? QTP或Selenium或其他商业/开源工具?
(成本不是主要问题,浏览器兼容性或操作系统也不是。系统安装在Windows Server上,并且数据库兼容。)
答案 0 :(得分:14)
我们有一个围绕Selenium构建的验收测试'框架'来测试我们的app,它有一个与java + db后端对话的flex UI。
我们可以轻松地将Selenium集成到我们现有的测试和持续集成基础架构中,因为我们可以在java中编写脚本并使用junit来驱动测试。这些测试也由开发人员编写和维护。我们还使用dbunit在每次测试之前设置数据库。
我们的测试部门决定采用QTP。他们展示了我们围绕Selenium建造的基础设施,但他们发现很难理解。我知道他们有一个全职的专职人员来编写测试并维护它们。
由于我不知道您的具体情况,我只建议您考虑以下事项:
硒是一个很好的选择......
QTP可能是一个不错的选择......
此article也可能对您有帮助。
我认为很明显哪一个我更喜欢,但你需要决定什么最适合你的情况。
答案 1 :(得分:3)
我认为您最好的选择将是HP针对GUI和非GUI测试的新解决方案。 新解决方案是与2种产品的新集成--QTP& ServiceTest。
这两者之间的集成为用户提供了一种自动化跨层应用程序的解决方案,以及不同应用程序之间的集成测试。
您可以在HP网站上找到更多信息。
答案 2 :(得分:2)
如果您使用的是VS2010,Coded UI确实很好,作为QTP的长期用户(当然是技术方面)Coded UI是一个梦想,即使在其存在的早期阶段它也是如此强大,紧密集成到Visual Studio生态系统中,如果您可以使用它,我会高度推荐它。您可以阅读here
我的经验更受限制的另一个工具,但是我听到了很好的事情是(specflow),它可以很好地与编码的UI一起工作,以合理的方式创建和组织测试。
无论如何,可能会给你一些思考的东西!
答案 3 :(得分:2)
通过访问编程库(Java等)的大量阵列(没有双关语),我的投票将是使用Selenium-RC。但就像第一张海报一样,这需要额外的学习和维护曲线。但是一旦设置,应用程序将只受你的想象力(和编程能力:))的约束。 使用Selenium-RC(在java中)进行数据库集成很简单。我们还能够广泛使用Selenium来测量服务器响应。我确信QTP中也有黑客可以做同样的事情,但是在惠普的支持下,最近的情况是,你的赌注应该在于开源社区(和stackoverflow :))...
答案 4 :(得分:1)
我对此的看法 -
硒是一个很好的选择......
QTP可能是一个不错的选择......
在开始针对不同浏览器开发自动化测试脚本之前,请三思而后行。当涉及GUI缺陷时,自动化确实很短。几乎所有特定于浏览器的缺陷都是样式,布局(GUI)。功能缺陷显示的值不正确,或者非工作控制是可在1个平台上识别的功能缺陷。