我们正处于一个大型项目的初始阶段,并且已经决定某种形式的自动化 UI 测试可能对我们有用,但还没有弄清楚这将如何工作......
主要目标是自动化应用程序的基本安装和运行,因此如果开发人员导致重大故障(例如:应用程序无法安装、网络无法连接、窗口无法显示等),测试人员不必浪费时间(并为此烦恼)安装和配置损坏的构建
第二个目标是在处理重复性任务时帮助测试人员。
我的问题是:谁应该创建这些类型的测试?我们团队的隐含假设是测试人员会这样做,但我在网上读到的所有内容似乎总是暗示开发人员将创建它们,作为一种“扩展单元测试”。
一些想法:
我非常感谢在开发人员和测试人员的团队中尝试过 UI 自动化的其他人的任何反馈。谁做了什么,而且效果很好?提前致谢!
编辑:有问题的应用程序是一个 C# WPF“富客户端”应用程序,它使用 WCF 连接到服务器
最佳答案
理想情况下,最终编写测试的应该是 QA。使用程序化解决方案的问题在于让 QA 人员跟上使用该工具的速度所涉及的学习曲线。开发人员当然可以帮助解决这个学习曲线,并通过指导来帮助这个过程,但这仍然需要时间,并且会拖累开发。
另一种方法是使用一个简单的 GUI 工具,它支持一种语言(和数据脚本),并使 QA 能够以可视化方式构建脚本,仅在真正需要时才深入研究语言的更精细细节 - 开发也可以在这里参与。
我见过的最成功的尝试肯定是后者,但设置它是困难的部分。 Selenium 在简单的 Web 应用程序和通过应用程序的简单线程上运行良好。 JMeter 也(用于 Web 服务的脚本化 Web 对话)运行良好......另一个选择是内部构建的测试工具 - 一个脚本语言(Groovy、Python、Ruby)之上的简单工具,它允许 QA通过 GUI 或数据文件将测试数据放入应用程序。数据文件可以是简单的属性文件,也可以是更复杂的结构化(如 YAML 甚至 Excel)数据文件。这样他们就可以开始构建基本的烟雾测试,然后将其扩展到各种场景驱动的测试中。
最后...我认为以这种方式测试富客户端应用程序要困难得多,但这取决于语言的性质和您可用的工具...
关于automated-tests - 谁编写自动化 UI 测试?开发人员还是测试人员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1297195/