2009-09-08 97 views
2

想要在我的WinForms 3.5项目中添加UI测试。目前使用MSTest进行单元测试,并使用MSBuild构建它。测试自动化的经验FX

我正在看的一个选项是Test Automation FX

该产品似乎有点新,并没有完全抛光,但它似乎工作。所以,我很好奇,如果有其他人正在使用,并有好的或坏的事情来说。

它的价格比$ Test Complete($ 2000)要便宜得多(450美元),所以我也试图从Test Automation FX中找出缺少或遗漏的东西。

回答

1

我工作的公司使用SilkTest,效果很好。一般来说,在使用自动化测试时,您将进行大量的回归测试。更重要的是,当您修改现有项目时,测试软件必须仍然能够无误地运行这些测试。 (或者你期望的错误。)

但是市场确实有很多很多其他的测试解决方案。在过去,我甚至看到了需要两台电脑和额外硬件的测试设置。硬件将连接到测试系统的显示器,鼠标和键盘。另一端连接到测试服务器中的特殊分机卡。硬件在那里,因此服务器可以将键盘命令发送到测试系统并记录屏幕上发生的任何事情。借助一些额外的OCR软件,它可以很好地分析任何错误。再说一次,它的价格是六位数字,说实话,我宁愿为这个价格购买一辆保时捷,也许会有一些现金在我驾车穿过法国尼斯的林荫大道时带上两个美丽的日期。

有一个Wiki页面,其中包含各种测试软件的概述。它不会比较它们,但您可以在那里找到Test Automation FX,但它不提供太多信息。它似乎仅限于测试Windows GUI的唯一。 TestComplete提供了更多信息。再次,比较Wiki的它也支持更多。真的很多。足以解释为什么它很昂贵...

1

我刚刚开始评估不同的GUI自动化测试工具。我看了Test Automation FX,Ranorex和TestComplete。而软件的价格是按照这个顺序。

这是我的一些结论:

测试自动化FX - 编码在C#中,完全VS集成。但是查找组件非常缓慢并且占用大量内存并且不能完全支持DevExpress组件

Ranorex - 在C#中编码,有一个用于维护测试的工作室,但可以完全集成到VS.有更好的对象支持。你可以通过regex expresseion在你的软件中找到一些对象。 DevExpress组件存在一些问题,但处理起来相当快。

TestComplete - 使用脚本语言。 VBscript是最简单的一个(C#脚本只是尴尬的符号)。这对DevExpress组件有很好的支持,并且可以非常快速地运行测试。但是非常宽松

现在我不知道我应该使用哪个。 Ranorex比Test Automation FX更好,但都缺乏对DevExpress组件的全面支持。 TestComplete很好,但是它为开发引入了一种新的语言,而且非常昂贵。但是测试脚本很小,程序有更多的逻辑来寻找点击。

+0

测试自动化FX也有正则表达式的支持。由于我从未尝试过,因此无法说出更多 – PPC 2012-04-09 19:56:15

1

我已评估测试自动化Fx,尽管它识别我的应用程序的所有控件(我们使用来自infragistics的第三方控件,即WPF的netAdvantage控件) 识别控件的速度非常慢,甚至播放时间非常慢与QTP或Ranorex相比。我会推荐Ranorex超过Test Automation Fx。

3

我最近经历了选择GUI测试解决方案的过程,最后决定去TestAutomationFX。下面是我做出了这个选择的主要原因:

  • 它创建真正的代码(对我来说C#),这是非常宝贵的我。因为可维护性,可存档,灵活等特点。用C#编写(我可以问我的开发人员寻求支持)要比使用专有脚本语言编写要容易得多,我必须从头开始学习(或者更糟糕的是:无穷无尽的非保存式Dropbox)。它也让我建立一个良好的测试框架
  • 它与NUnit的无缝集成(我的团队用于单元和集成测试)。我的数据驱动测试来自相同的CSV,并且GUI测试报告仅附加到单元测试报告中,允许轻松归档和维护
  • 它对我的开发人员使用的复杂UI对象有更好的认识(Telerik,Infragistic,home- )我的clics中有25%处于x/y模式,而TestComplete或Ranorex则为67%
  • 他们的销售工程师给予我极好的支持(至少在评估期间)
  • 它没有重大错误,也没有复杂许可证设置(是的,我在看你,TestComplete家伙,see my other post),没有运行许可问题,没有虚拟机许可问题
  • (尽管这对我来说并不重要),它是四比其他商业解决方案

在另一方面便宜倍,有一个介质的缺陷中的应用:

  • 映射系统(即。将AUT-object属性映射到Test-application-objects)真的很棘手:代码重构需要特别注意。我通过在每次代码重构之前提交给我的VCS来克服这一点。无论如何,testComplete是否提供了代码重构的选项。

好吧,你可以看到,我对这个解决方案非常认同。我只用了几天,后来可能遇到更大的问题。但现在它给了我正是我想要的,所以让我开心:)