标题：云测试
云测试（Cloud Testing）简介
云测试是基于云计算的一种新型测试方案。服务商提供多种平台，多种浏览器的平台，一般的用户在本  地用Selenium把自动化测试脚本编写好，然后上传到他们网站，然后就可以在他们的平台上运行Selenium脚本了。
云测试的优势
立即可用云测试提供一整套测试环境，测试人员利用虚拟桌面等手段登录到该测试环境，就可以立即展开测试。这将软硬件安装、环境配置、环境维护的代价转移给云测试提供者（公共云的经营者或私有云的维护团队）。以现在的虚拟化技术，在测试人员指定硬件配置、软件栈（操作系统、中间件、工具软件）、网络拓扑后，创建一套新的测试环境只需几个小时。如果测试人员可以接受已创建好的标准测试环境，那么他可以立即登录。装配完备云测试不但可以提供完整的测试环境，还可以提供许多附加服务。对于测试机，它可以提供还原点，以便测试人员将虚拟机重置到指定状态。对于测试执行，它可以监控被测试程序的一举一动，例如注册表访问、硬盘文件读写、网络访问、系统日志写入、系统资源占用率、内存映像序列化、屏幕录像等。将这些信息与测试用例一起展现出来，可以帮助测试人员发现问题，定位错误。对于大规模的测试，云测试可以提供多台测试客户机，他们从主控机上下载测试用例，执行并汇报测试结果，主控机将结果汇总后报告给测试人员。实际上，这些功能已经被各种工具所实现，云测试平台的任务是整合它们，提供统一、完备的功能。这样，测试人员就可以将精力最大限度地投入到专属的测试领域中，而不是与各种工具搏斗。专家服务最高级的测试服务是提供专业知识的服务。这些知识可以通过测试用例、测试数据、自动测试服务等形式提供。例如，许多应用需要读取文件，云测试可以提供针对文件读取的模糊测试。测试人员将被测试的应用程序提交给云，云将其部署到多台测试机上。在每一台测试上，应用程序要读取海量的文件，每一个文件都是特意构造的攻击文件。一旦栈溢出、堆溢出等问题被发现，立即保存应用程序的内存映像。一段时间后，测试人员将获得云测试返回的测试结果：一份详细的分析报告和一大堆内存映像文件。节约成本每个企业都在追求成本最低和利润最大化。软件测试作为研发生产过程的一部分也有降低成本的要求，即使用最少的机器购买最少的测试软件来完成软件测试工作。利用云测试可实现巨大节省，不需要购买或准备很多的个人电脑，购买和安装各类测试用软件，也不再需要部署复杂的网络。只需要列出测试目的、环境的要求、虚拟机台数、何时间断租用即可，实现按需支付。例如购买一套自动化测试软件至少花8000元钱，测试中只需要使用2个月，但如果按800元/月租用该软件云测试平台，只需要支付1600元。同时随着企业软件版本和技术的发展，依赖的测试软件或环境亦需要升级换代，又会产生升级和维护费用。而在云测试环境中这些因素都无须企业考虑，交由提供云测试服务的供应商完成即可。提高效率用云测试这种方式，极大地减少了测试环境搭建时间，如机器和网络准备、操作系统安装、各种测试工具软件安装等都将节省，只需提前将需要的配置环境告之云测试服务商，到时间直接使用即可。由于是基于网络上的应用，当测试中遇到软件使用上等问题时，亦可获得云测试服务商远程快速支持，而很少会出现停滞甚至停止测试现象。
哪些测试项目可以做云测试
通过云测试的定义我们看出：凡是测试中需要使用的软件工具和环境都可进行云测试，当前适合做云测试的项目或内容大概有：
硬件环境：测试软件在不同应用场景下对硬件环境的要求；
软件环境：操作系统、数据库、浏览器等，测试软件对不同运行平台的适应性；
适应性软件：防火墙及防病毒软件等，测试在安装不同防火墙及防病毒软件时，软件运行可靠性；
功能自动化测试：进行软件自动化测试；
性能测试：进行软件性能和压力测试。
随着云计算技术的发展，为软件测试服务的各种应用亦将得到发展。适合做云测试的项目也将不断增多。
云测试服务商
目前有几个提供云测试服务的公司，在此简单介绍一下：TestinTestin云测试是首家面向全球提供免费App真机自动化云测试服务平台，基于云端部署超过300款、3000部主流智能移动设备，可实现自定义终端进行批量自动化兼容适配测试以及功能、性能、稳定性测试。已累计帮助移动开发者测试App应用700多万次。极大的减少大量重复、枯燥的人力测试工作；节省测试终端的租用、购买成本。
2011年获得IDG千万美元投资;2012年加入IBM Smartcamp ；2012创业家全球训练营和微软云加速计划， 12月获得“微软云加速器云业务成长奖”和“微软云加速器成长之星奖”。
Testin云测试三大服务特性
真机测试：终端云 节省测试设备购买租赁成本
Testin云测试基于云端部署超过300款3000多部主流的Pad、Phone、Touch、Smart TV等智能移动设备，实时上架最新终端，免去测试终端的购买、租赁等诸多烦恼。
自动化测试：高校率 节省测试人员成本及时间
彻底告别原始的人工测试，5分钟内自动完成安装/卸载、启动/运行、UI适配等枯燥手工测试，保障App应用高质量快速迭代，按期发布最新版本。
云测试： 云测试 服务全球移动互联网开发者
7×24小时不间断服务，全球任何国家和地区均可在线选择真机进行App应用与终端之间的自动化兼容适配测试及功能测试，一键提交，自动出具规范化的测试报告。
Testin云测试 三大测试类型
1）兼容测试
①安装卸载测试：测试App在指定终端上是否可正常安装、正常卸载，准确定位错误原因。
②遍历测试：自动识别App可执行的功能，在一定时间内遍历App的不同功能界面，通过截图记录操作路径 并输出日志、定位异常现象。
③运行稳定性测试：类似Monkey的随机性压力测试，测试App运行期的稳定性。
④UI适配测试：测试App的UI与目标终端的屏幕是否适配，记录是否存在渲染失败、错位、黑边框、黑白屏等现象。　　2）性能测试
①启动时间检测：检测App在终端上首次启动时间。
②内存、CPU耗用检测：检测App在终端上运行时不同时段占用内存、CPU情况。
③流量耗用检测：检测App在终端上运行时的网络流量消耗情况。
④电池温度检测：检测App在终端上运行时，对终端的电池温度等性能指标的影响情况。
　　3）功能测试
①自定义脚本测试：上传自定义脚本，脚本中给出准确的测试方法，能自动定位错误及反馈出错原因，能在结果报告中呈现测试过程出现的bug并提供重现步骤。利用JUnit快速定位代码错误，帮助您正确改善产品质量。
②执行结果判定：比对每个用例的测试结果，未通过用例给出准确的日志分析。
③支持Robotium、淘宝Athrun框架：支持Robotium、淘宝Athrun框架编写的自动化测试脚本。
[1-5]东软易测云易测云由国内知名软件公司东软出品，是一个专业为安卓APP产品提供适配测试、功能测试、遍历测试、性能测试等多种服务的真机自动化云测试服务产品，主要面向所有安卓APP 产品开发者和测试者并为其提供优质 、高效的云测试服务，解决因为安卓平台的碎片化带来的应用程序测试投入成本高、执行效率低等问题，为APP品质保驾护航！易测云目前支持Robotium、Athrun、Guerrilla等开源测试框架，并使用基于控件识别的、东软自主研发的测试工具Radar，最大化满足自动化、自定义测试需要，大幅提高测试效率。
易测云产品的服务范围
（1）适配测试：易测云提供200+真机设备，包括不同分辨率和版本的安卓手机和平板，为开发者提供更加全面的适配测试，且易测云还可支持APP登录测试，即可以深度测试APP在登录之后的各项适配兼容指标。
（2）功能测试：易测云自主开发的开源测试框架Guerrilla，可以方便测试人员快速书写测试脚本，同时易测云也支持基于Robotium和Athrun的测试脚本。易测云支持手写脚本和录制脚本2种脚本生成模式， 且易测云可支持脚本自定义，用户可根据实际需要对脚本进行编辑、回放、截图、断言等任意操作，灵活便捷的脚本处理大大增加了功能测试的易用性和智能性，更符合开发者和测试者的实际需求。用户只需将处理完毕的脚本一键提交到易测云服务系统，一杯咖啡的时间便可以获得测试结果。
（3）遍历测试：深度遍历应用程序的所有界面，且记录下遍历过的所有Activity和控件，自动生成遍历路径，为开发者提供最全面地截图，路径和Log日志，方便定位和分析问题
（4）性能测试：可记录和测试APP的启动时间、CPU占用率、内存占用值、电池温度、上传网络流量、下载网络流量 这六项指标。
除以上4个测试服务，易测云自主研发的、功能强大的录制工具 Radar，它帮助易测云的功能测试变得更加强大，Radar是基于Eclipse的录制插件，录制即可生成代码，可编辑，可自定义截图和断言，方便快捷的实现自动化测试，录制基于控件识别，支持webview框架，识别率更高。
易测云可以帮助解决的问题
（1）帮助产品解决兼容性、功能、性能等问题，提升APP产品质量
东软易测云为用户提供200+台主流的Android真实设备，包括手机和平板电脑，用于执行功能测试、适配测试、遍历测试和性能测试。用户很轻松的即可在所有这些真实设备上执行测试，并得到详细的测试结果，从而在应用程序推向市场前解决兼容性、功能和性能等方面的问题，保证产品的高质量。
（2）提高测试脚本的编写和维护效率
东软易测云为用户提供了测试录制工具Radar,使用该工具可以快速地生成可适用于不同屏幕的测试脚本。在应用程序升级时，测试脚本只需要做少量的改动即可适用于新版本的应用程序，减轻维护测试脚本的工作量。
（3)节省购买设备的费用
1）实现远程控制真实设备的功能，开发人员可以在登录易测云系统后，选择任何可用的设备进行应用程序的调试，而不需要因为本地没有这款设备而进行购买，或者放弃应用程序在这款设备上的兼容性。
2）对于自动化功能测试，一般性测试套件，性能数据收集等测试，用户可以选择易测云系统提供的所有设备，而本地不需要拥有这些设备。
(4)节省人力成本
即使有大量的设备，也需要花费大量的时间在每个设备上做重复的测试，以及需要花时间编写测试脚本。使用东软易测云，可以让测试录制工具录制测试脚本，完成后直接上传到东软易测云进行测试。不需要花过多的时间即可得到全部主流真实设备上的测试结果，测试期间，用户还有很多自由的时间去做其他工作。
[6-7]Cloud Testing这个公司能提供多种浏览器的平台，一般的用户在本地用Selenium把自动化测试脚本编写好，然后上传到他们网站，然后就可以在他们的平台上运行Selenium脚本了。该公司优点是：平台和浏览器覆盖得广，按需付费。Cloud Testing是一个基于UI自动化测试的云测试平台keynotekeynote公司发布了kite工具，这个感觉比Cloud Testing更加弱一点，该工具是基于桌面的测试软件，编辑和分析网站性能，给出可视化分析结果，能够提供性能测试标准给整个web应用生命周期。该工具拥有独立的浏览器，用户在这个浏览器上录制脚本，然后上传，可以在keynote公司不同的可用地点中运行测试，查看结果。SOASTASOASTA发布的CloudTest可以测试任何Web应用程序，从功能测试、回归测试、负载测试，性能测试等。该工具基于浏览器运行，并具备较好兼容性。用户可以在任何时间、任何地点，通过计算机的浏览器和互联网就可以开展测试工作。
这个公司不单只提供了功能测试，而且还有性能测试。感觉上性能测试应该是利用云计算的一个非常重要而且有意义的点。貌似这个公司不是那么开放，没有太多公开的资料，所以不知道他们是怎么运作的。看他们的网站的一些成功案例，说的挺好，不过这样相对于在公网做性能测试，不知道会不会有问题： 
1. 带宽问题，例如云那段设定的带宽是1Mb，那么云和端之间的带宽是否能真正达到1Mb呢 
2. 安全问题，这些性能测试的脚本不会日后成为攻击的工具吧 
突然觉得，现在做CDN的公司，其实他们可以兼营性能测试，因为他们的服务器分布的跟真实情况最接近的，而且也有足够多的服务器资源和带宽。