什么是云测试?
云测试是基于云计算的一种新型测试方案。服务商提供多种平台,多种浏览器的平台,一般的用户在本地用Selenium把自动化测试脚本编写好,然后上传到他们网站,然后就可以在他们的平台上运行Selenium脚本了。
云测试的优点
1.节约成本。在建设测试用基础设施方面,云测试可实现巨大节省,无需担心大量的前期硬件、软件和人力资源成本。
2.覆盖面广。网络应用程序在日常条件下能够准确工作并能够应对意料之外的流量高峰,使客户获得巨大的性能改善。
3.浏览器按需付费。不会造成不必要的浪费,使资源得到最合理的利用。
云测试服务商
目前有几个提供云测试服务的公司,在此简单介绍一下:
第一,是Cloud Testing
这个公司能提供多种平台,多种浏览器的平台,一般的用户在本地用Selenium把自动化测试脚本编写好,然后上传到他们网站,然后就可以在他们的平台 上运行Selenium脚本了。他们的优点是:平台和浏览器覆盖得广,按需付费。不过我自己对这样的服务有以下的疑问:
1. 基于UI的自动化测试通常都会遇到一些不稳定的问题,本地编辑好的自动化脚本是否也能够在他们的平台上正常运行
2. 如果出现错误,有没有办法进行调试。究竟这个错误是SUT的错误,还是测试脚本的错误,如何区分
3. 用户自己开发的插件能否在这个云测试平台上使用(我觉得是不行的)
总得来说Cloud Testing是一个基于UI自动化测试的云测试平台,但是我认为这样的平台并没有太多的优势,一般做互联网的公司产品发布都是比较快的,根本是不可能有 时间和资源去覆盖所有的浏览器和平台,根据80/20原则,在中国搞互联网,只要搞定Windows下的IE6和IE7基本上就万事大吉了,一般好一点的 前端TEAM都是在Firefox下进行开发的,所以Firefox的兼容应该是不成问题,最后在 Chrome和Safari上过一下关键流程,差不多了。再说,现在虚拟化技术日渐流行,自己搭建多个平台也不是非常耗费资源。
第二,是keynote公司的kite
这个感觉比Cloud Testing更加弱一点,kite有自己的浏览器,然后用户在这个浏览器上录制脚本,然后上传,然后可以在keynote公司不同的可用地点中运行测 试,查看结果。这个平台给我的感觉更多的是关注终端用户性能,里面有一个页面元素下载的timeline,用户可以查看那些页面资源下载花费多少时 间,DNS查询时间等等……
这个平台的问题有:
1. 可用的节点不多,现在为止只有北美地区的几个节点可用
2. 专门的工具,可能对测试的结果有影响
估计是keynote公司的一个实验性产品。
第三,是SOASTA
这 个公司不单只提供了功能测试,而且还有性能测试。感觉上性能测试应该是利用云计算的一个非常重要而且有意义的点。貌似这个公司不是那么开放,没有太多公开 的资料,所以不知道他们是怎么运作的。看他们的网站的一些成功案例,说的挺好,不过这样相对于在公网做性能测试,不知道会不会有问题:
1. 带宽问题,例如云那段设定的带宽是1Mb,那么云和端之间的带宽是否能真正达到1Mb呢
2. 安全问题,这些性能测试的脚本不会日后成为攻击的工具吧
突然觉得,现在做CDN的公司,其实他们可以兼营性能测试,因为他们的服务器分布的跟真实情况最接近的,而且也有足够多的服务器 和带宽。