【发布时间】:2010-11-20 19:08:22
【问题描述】:
我们正处于一个大型项目的初始阶段,并且已经决定某种形式的自动化 UI 测试可能对我们有用,但还没有弄清楚它是如何工作的……
主要目标是自动化应用程序的基本安装和运行,因此如果开发人员造成重大损坏(例如:应用程序无法安装、网络无法连接、窗口不会显示等) 测试人员不必浪费时间(并因此而烦恼) 安装和配置损坏的构建
次要目标是帮助测试人员处理重复性任务。
我的问题是:谁应该创建这些类型的测试?我们团队的隐含假设是测试人员会这样做,但我在网上阅读的所有内容似乎总是暗示开发人员将创建它们,作为一种“扩展单元测试”。
一些想法:
开发人员似乎处于更好的位置,因为他们知道控件 ID、类等,并且对应用程序的工作方式有更好的了解
测试人员的优势在于不知道应用程序是如何工作的,因此可以生成可能更有用的测试
我使用IronRuby 和White 编写了一些初始脚本。这非常有效,并且足够强大,可以做任何事情,但是您需要能够编写代码来编写 UI 测试
我们尝试过的所有自动化 UI 测试工具(TestComplete 等)似乎都非常复杂和脆弱,虽然测试人员可以使用它们,但它们花费的时间大约是 100 倍,而且它们不断遇到由 UI 测试工具引起的“意外复杂性”。
我们的测试人员不会编写代码,虽然他们很聪明,但当我建议测试人员可以编写简单的 ruby 脚本时,我得到的只是有趣的表情(尽管所说的脚本比阅读和阅读要容易 100 倍)比那些似乎是自动化 UI 测试工具标准的乱七八糟的按钮和数据网格更写得好)。
非常感谢在开发人员和测试人员组成的团队中尝试过 UI 自动化的其他人提供的任何反馈。谁做了什么,效果好吗?提前致谢!
编辑:有问题的应用程序是一个 C# WPF“富客户端”应用程序,它使用 WCF 连接到服务器
【问题讨论】:
标签: automated-tests regression-testing ui-testing