一个用于网站自动化测试的生态系统实现

发表于:2014-3-12 11:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:阿斯蓝    来源:51Testing软件测试网采编

分享:
  (2)ATService。这个Windows Service(slave都是Windows,稍后会讲)被安装到了每个slave上,用以向dashboard询问“现在有没有分配给我的test fixture/case?”,如果有且当前slave空闲的话就抓过来运行,运行完毕汇报结果。
  还记得Queue(队列)吧?无论你在TestCase还是TestSuite页面挑选了test case/suite想要运行,都只是把它们添加到队列当中(准确地说就是往Queue这张数据库表中INSERT记录),而不会给它们分配slave。只有当Jenkins启动了slave上的ATService之后,ATService才会去Queue表中自己抓取(就是打上标记说这条fixture/case已经有主了,其它slave就不会再去抓)还没有运行过且没有分配有slave的test fixture/case。
  (3)ConsoleRunner,最开始的那个图中没有画出来。这个console程序主要供Jenkins调用。Jenkins不是可以让job定时运行么?正好,定时调用这个console application,传几个参数,就可以在指定时间往Queue里填充fixture/case,然后再启动ATService开始执行测试。这样就能实现quick/daily/weekly/full regression的无人值守运行了。
  4、Slave
  我选择在Windows上运行测试:
  (1)公司IT一般只提供Windows操作系统的虚拟机
  (2)产品在Windows上的用户占绝大多数(其实这个有点废话,桌面操作系统Windows依然是世界王者。诚然,我自己业余时用Linux做开发,Mac在国内外也是相当流行的,但GoogleAnalytics显示的统计结果就是大部分访问都来自Windows。什么,你说iOS/Android?额……移动端现在仍然是产品的短板……)
  如果选择Linux的话要注意下selenium webdriver的native event设定(http://code.google.com/p/selenium/wiki/AdvancedUserInteractions#Native_events_versus_synthetic_events)。
  关于浏览器,Firefox、Chrome、IE皆可,webdriver的浏览器兼容性已经很不错了。浏览器兼容性是个有点头疼的问题,想支持很多浏览器的话有时会增加很多开发、测试成本,我一般在Firefox上跑就足够了。什么?数字?马桶?企鹅?您想多了,selenium官方不支持。
  你能找到多少台slave来执行测试?多多益善哦!找不到那么多实体机就自己配虚拟机吧,分布式运行可以给你的自动化测试生态系统装上火箭!在更短的时间内运行完更多测试,从而更快地从测试中获得反馈!
  嗯,差不多就这么多了。还有很多细节就留在之后的文中再说了。自我感觉这个生态系统还是有很多可以完善、增加的功能,而且这个实现方式、运作机制可能也并非适用于你所测试的产品,不过现在对于我测的产品来说是够用的了。
  不管怎样实现,我想表达的核心观点是:
  做自动化测试不要局限于自动化测试代码的编写,我们要自动化的不仅仅是manual test case,还应包括整个automation test的process!测试代码持续集成、部署(分发)、执行、结果展示,自动化的环节越多、越彻底,为你节约的时间就越多,你可以用这些节约的时间做更有意义的事情。人类发明计算机,用代码编写程序,其实就是一种自动化的过程。以前要靠手工劳动完成的现在都交给电脑做了——服务器不正是勤勤恳恳地重复执行着我们写好的程序么?构建自动化测试生态系统是同样的道理,因为机器能比人更可靠地完成重复劳动。
  如果你还在手动拷贝*.dll,还需要打开NUnit手动执行测试,还在1台机器上运行测试,那么,现在就是该提高生产力的时候了!
44/4<1234
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号