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