云测试-测试的发展方向编写:小海ai吃肉评审:日期:2015年5月20日文档变更履历序号版本状态简要说明变更日期变更人11.0C创建2015-5-20小海ai吃肉变化状态:C——创建,A——增加,M——修改,D——删除一、前言在介绍云测试之前,我们先来看看目前app测试的存在的几个难点:1.手机市场机型众多,测试能覆盖的机型极少2.手机分辨率从原来的320*240到1920*1080,已经有多种不同的分辨率,而测试需要想办法构造这些场景3.不同的Android版本可能存在差别,手机只有几台,模拟器也无法模拟那么多的版本4.软件占用手机资源的情况,没有一个比较好用的工具来进行统计5.软件用户体验相关的数据比较难以收集与评判6.软件代码级别的安全性漏洞测试人员没有专业的检测工具难以入手二、什么是云测试云测试(CloudTesting),是基于云计算的一种新型测试方案。服务商提供多种平台,多种浏览器的平台,一般的用户在本地用Selenium把自动化测试脚本编写好,然后上传到他们网站,然后就可以在他们的平台上运行Selenium脚本个人理解:云测试目前可以先说是移动云测试。服务提供商提供一个整合了多种主流手机型号、分辨率及手机版本的平台,以这些内容为基础,通过一些自动化的工具(包括自主研发或修改的工具)做到对上传软件的各方面指标的测试,并给出测试报告及详细错误信息做为分析依据。云测试做为一个资源平台,它所拥有的资源会逐渐增多,所以在测试方面的扩展性和完善性也会越来越高。目前云测试服务做的比较好的有:Testin、百度云测MTC、易测云三、百度云测MTC应用百度移动云测试包括一下几个服务:1.NativeApp测试1.1全面兼容性测试主要通过上传apk包后,选择不同的测试终端,例如:不同的手机品牌、系统版本、分辨率等进行兼容性测试,主要测试项包括:a.安装卸载测试-包含安装、卸载、高/低版本覆盖安装b.终端兼容测试-大量真机多维度测试,兼容性测试无死角c.安全软件兼容-用于检测的安全软件包括:百度手机管家、LBE、QQ手机管家、网秦、安卓优化大师这部分可以有效的解决1.2.3难点1.2深度性能测试a.电量消耗-获取App在典型使用场景下消耗的电量b.流量消耗-获取App在典型使用场景下消耗的流量c.CPU占用率-获取App在典型使用场景下的CPU占用率d.内存消耗-获取App在典型使用场景下消耗的内存e.冷热启动时长-获取App冷启动和热启动耗时f.内容加载时长-获取App特定页面的内容加载耗时g.退出时长-获取App退出的耗时h.帧率测试-获取App在典型使用场景下的帧率i.安装包大小-App二进制安装包大小和安装后占用的系统存储大小(不含数据文件)这部分可以有效的解决4.5难点1.3深度遍历测试主要使用monkey进行随机测试,测试报告中会有具体的测试截图1.4特定场景测试a.低电量测试-不同低电量情况下,检查功能是否正常b.地域测试-不同地域,检查定位相关功能、网络是否正常c.网络测试-不同网络环境下(2G、3G、Wi_Fi),网络功能是否正常1.5安全漏洞扫描a.安全漏洞扫描-为APP提供一站式自动化安全漏洞扫描服务b.组件扫描-App内所有组件发送空的intent,查看其响应情况c.Crash隐患扫描-扫描APP中调用的新版本系统API的情况这部分可以有效的解决6难点1.6功能回放测试通过云测中心提供的【MTC录制回放客户端】将测试脚本录制完毕,然后上传到云测中心对多种终端进行脚本回放,并给出回放报告1.7众包兼容测试将上传的包在100款经典机型上进行安装、启动、执行、卸载操作,并给出详细测试报告2.轻应用测试默认覆盖3款终端,3种手机浏览器(百度框、QQ浏览器、UC浏览器),可覆盖9种不同的系统、分辨率和浏览器场景3.云调试提供多款android的版本及分辨率的虚拟机,可实现在线调试4.云众测百度众测拥有一批真实的线下用户,采用真实的用户评测,在测试软件本身的Bug时也会对软件潜在的需求以及用户体验上给出宝贵的建议5.扩展性测试工具5.1MTC录制回放客户端配合功能回放测试,可比较方便的录制脚本并打包,在多种安卓终端上进行测试5.2本地化性能测试工具比较简单方便的工具性能检测工具,能够对CPU、内存、电量、流量等信息进行详细的记录5.3线上Crash监控SDK