我刚刚开始自动化我们团队进行的所有测试(〜5000)。我正在使用Telerik Test Studio进行Silverlight自动化。我已经编写了一些测试,但是我很快意识到,每次测试都变得越来越难以维护。以下是我想知道的一些事情:


在Telerik中,每个测试似乎都有自己的Elements页面,即使他们正在测试同一个Silverlight页面。我不仅可以参考其他测试的“元素页面”吗?这将使复制/粘贴步骤变得更加容易,因为这样我就不必将元素分别添加到每个测试的“元素页面”中。
自动化是否允许在不同的计算机上运行测试?我们有一些通过SL目录浏览器对话框查找文件夹的测试,但是即使我通过对象名称导航到测试(而不是通过点击鼠标移动鼠标),如果我在另一台计算机上运行这些测试,也无法正确导航该目录。
有没有好的书可以帮助初学者学习最佳实践,所以我不会创建无法维护的5k自动测试?


评论

感谢你们俩的帮助。我认为这些资源将极大地帮助我学习自动化。

另请参见sqa.stackexchange.com/a/15557/8992

#1 楼

我向波特兰Selenium用户小组介绍了如何创建可维护的,可靠的和具有自文档功能的UI自动化,无论是否使用Selenium,我认为其中都有很多相关之处。演示幻灯片平台http://files.meetup.com/2891252/Selenium%20Beyond%20the%20Page%20Object%20Pattern.pptx,更重要的是代码示例http://files.meetup.com/2891252/BeyondThePageObjectPatternSln。简而言之,两个zip都发布在metup网站上。简而言之,在代码示例中,我实施了7次相同的测试用例,每次都应用一个步骤来帮助您实现更好的UI自动化。步骤为:


删除睡眠并替换为轮询
添加日志记录和注释
将代码移至驱动程序或抽象层
将代码移至启动/ cleanup方法和配置类
将元素初始化移至页面类
在页面类中为常见活动创建帮助函数
使用数据驱动测试

在在该示例中,用于实现测试用例的代码行从85行代码开始,跳至164行代码,最后仅以10行代码结束,而大多数功能被抽象为辅助函数或初始化功能。

评论


演示文稿中的幻灯片6 +1。 (我的)UI自动化的演变-惊人的相似的学习路径:)

–西瓦
14年6月18日在4:30

#2 楼

我通常将重点放在可维护的自动化测试的三个原则上:在一篇论文中,我将更详细地描述这些原理并将其应用于难以更改的测试中:http://dhemery.com/pdf/writing_maintainable_automated_acceptance_tests.pdf (机器人框架),但是这些原则也可能适用于其他测试工具。这是一段15分钟的精彩视频,罗伯特·马丁(Robert Martin)使用FitNesse应用了这些原理:http://blog.objectmentor.com/articles/2009/12/07/writing-maintainable-automated-acceptance-tests

我从未使用过Telerik,所以我不知道Telerik支持我通常使用的各种抽象。但是,如果使用某种通用编程语言编写测试,则本文中的原理适用。

当然,除了这三个原理之外,自动化测试还有很多。但是,如果您掌握了这些知识,则您的测试将比大多数测试更具可维护性。