一种兼容性测试方法及系统的制作方法

文档序号:6508906阅读:902来源:国知局
一种兼容性测试方法及系统的制作方法
【专利摘要】本申请提供了一种兼容性测试方法及装置;方法包括:云端接收待测试程序兼容性测试的请求;所述云端在所述请求对应的设备上运行所述待测试程序;所述云端获取运行后所述待测试程序页面中各元素渲染后的外观属性数据;所述云端比对所述外观属性数据,将所述比对结果作为测试结果返回。本申请能够进行高效准确的兼容性测试。
【专利说明】一种兼容性测试方法及系统

【技术领域】
[0001] 本发明涉及软件领域,尤其涉及一种兼容性测试方法及系统。

【背景技术】
[0002] 移动设备WebApp (基于Web技术,如Javascript、CSS、HTML等开发的应用程序) 的开发者都需要解决WebApp的兼容性问题,虽然同一套WebApp软件能在大多数手机上运 行,但各手机的细微差异有可能导致页面的差异,从而引发兼容性问题。而开发者往往需要 在发布WebApp之前在各种分辨率,各种品牌的手机上进行兼容性测试,以此确保WebApp在 大部分手机上展现一致。
[0003] 现有的兼容性测试方法包括:
[0004] 1)手动在设备上做兼容性测试。
[0005] 由测试人员直接在真实设备上运行WebApp,并通过主观判断是否有兼容性问题。
[0006] 手动在设备上做兼容性测试是最传统最直接的方法,但大部分的开发者,特别是 小规模团队的开发者,没有足够齐全的设备来做兼容性测试以保证WebApp兼容性测试的 覆盖面。另外,这种方法往往需要测试人员通过人为观察的方式来判断测试结果,无法做到 完全精确和客观,也会导致难以实施自动化测试,很难降低人力成本。
[0007] 2 )手动在虚拟模拟器上做兼容性测试。
[0008] 由测试人员直接在各设备的模拟器上运行WebApp,并通过主观判断是否有兼容性 问题。
[0009] 相比较于在真实设备上做兼容性测试,这种方法的好处在于可以通过模拟器扩大 测试覆盖面,但缺点就是模拟器无法完全替代真实设备,往往一个WebApp在模拟器和真实 设备上的展示是有差异的,这种差异就会带来兼容性测试的误差。
[0010] 3)手动在云端远程设备上做兼容性测试。
[0011] 由测试人员使用云端服务,通过远程控制的方式,把WebApp运行在远端的设备 上,并通过主观判断是否有兼容性问题。
[0012] 有很多供应商会在云端远程部署设备运行环境,然后通过远程桌面的方式提供 给WebApp开发人员做兼容性测试,这种方式的缺点在于需要测试人员手动运行并观察 WebApp兼容性情况,一方面网络的延时导致这种方式的体验差,不精确;另一方面提供完 整运行时环境的维护成本很高,很难做到满足海量的测试需求。


【发明内容】

[0013] 本申请要解决的技术问题是如何进行高效准确的兼容性测试。
[0014] 为了解决上述问题,本申请提供了一种兼容性测试方法,包括:
[0015] 云端接收待测试程序兼容性测试的请求;
[0016] 所述云端在所述请求对应的设备上运行所述待测试程序;
[0017] 所述云端获取运行后所述待测试程序页面中各元素渲染后的外观属性数据;
[0018] 所述云端比对所述外观属性数据,将所述比对结果作为测试结果返回。
[0019] 可选地,所述云端在所述请求对应的设备上运行所述待测试程序的步骤包括:
[0020] 所述云端按照所述请求指定的一组或多组显示参数在所述请求对应的设备上运 行所述待测试程序;
[0021] 所述云端比对所述外观属性数据的步骤包括:
[0022] 所述云端分别比对按照同一组显示参数运行所述待测试程序时获取的外观属性 数据,得到各组显示参数对应的比对结果。
[0023] 可选地,所述云端比对所述外观属性数据的步骤包括:
[0024] 所述云端将从不同设备获取的所述外观属性数据相互进行比对,列出外观属性数 据具有差异的元素;
[0025] 或者
[0026] 所述云端将所述外观属性数据与预设的标准外观属性数据进行比对,列出与预定 的标准外观属性数据具有差异的元素。
[0027] 可选地,所述待测试程序为WebApp ;所述执行脚本是基于操作系统WebOS的应用 安装规范和开源引擎WebKit调试协议生成的一组命令集合。
[0028] 可选地,所述云端在所述请求对应的设备上运行所述待测试程序的步骤包括:
[0029] 所述云端从所述请求中提取出待测试程序的路径、待测试程序的运行入口,并确 定该请求对应的一个或多个设备;
[0030] 根据所提取的待测试程序的路径、运行入口,以及所确定的设备生成执行脚本;
[0031] 运行所述执行脚本,在所确定的设备上安装并运行所述待测试程序。
[0032] 本申请还提供了一种兼容性测试装置,包括:
[0033] 接收单元,用于接收待测试程序兼容性测试的请求;
[0034] 运行单元,用于在所述请求对应的设备上运行所述待测试程序;
[0035] 检测单元,用于获取运行后所述待测试程序页面中各元素渲染后的外观属性数 据;
[0036] 结果处理单元,用于比对所述外观属性数据,将比对结果作为测试结果返回。
[0037] 可选地,所述运行单元在所述请求对应的设备上运行所述待测试程序是指:
[0038] 所述运行单元分别按照所述请求指定的一组或多组显示参数在所述请求对应的 设备上运行所述待测试程序;
[0039] 所述结果处理单元比对所述外观属性数据是指:
[0040] 所述结果处理单元分别比对按照同一组显示参数运行所述待测试程序时获取的 外观属性数据,得到各组显示参数对应的比对结果。
[0041] 可选地,所述结果处理单元比对所述外观属性数据是指:
[0042] 所述结果处理单元将从不同设备获取的所述外观属性数据相互进行比对,列出外 观属性数据具有差异的元素,或将所述外观属性数据与预设的标准外观属性数据进行比 对,列出与预定的标准外观属性数据具有差异的元素。
[0043] 可选地,所述待测试程序为WebApp ;所述执行脚本是基于操作系统WebOS的应用 安装规范和开源引擎WebKit调试协议生成的一组命令集合。
[0044] 可选地,所述运行单元在所述请求对应的设备上运行所述待测试程序是指:
[0045] 所述运行单元从所述请求中提取出待测试程序的路径、待测试程序的运行入口, 并确定该请求对应的一个或多个设备;根据所提取的待测试程序的路径、运行入口,以及所 确定的设备生成执行脚本;运行所述执行脚本,在所确定的设备上安装并运行所述待测试 程序。
[0046] 本申请的技术方案通过底层渲染的真实数据来代替人为主观的判断,可以做到客 观和精确,并且可以覆盖到所有细节,不漏掉任何差异点;通过简单快捷的交互,自动化地 给出最终结果,可以提高兼容性测试的效率和频率;而且可以促使兼容性测试成为一种自 动运行的机制,以此保证项目开发中每个节点上都有兼容性测试的保障。本申请的优化方 案能够整合测试设备资源,通过云部署的方式,可以做到一套测试设备服务于更多的测试 人员,无需每个程序的测试人员配备所有机型的设备,以较为低廉的成本满足广大程序的 兼容性测试需求,并且测试结果较为全面。

【专利附图】

【附图说明】
[0047] 图1为实施例一的兼容性测试方法的流程示意图;
[0048] 图2为实施例一中兼容性报告的示意图。

【具体实施方式】
[0049] 下面将结合附图及实施例对本申请的技术方案进行更详细的说明。
[0050] 需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结 合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况 下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0051] 在一个典型的配置中,进行兼容性测试的装置可包括多个处理器(CPU)、一个或多 个输入/输出接口、网络接口和内存。
[0052] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/ 或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质 的示例。
[0053] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法 或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。 计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、 动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电 可擦除可编程只读存储器(EEPR0M),快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁 性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中 的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据 信号和载波。
[0054] 实施例一、一种兼容性测试方法,如图1所示,包括:
[0055] 101、云端接收待测试程序兼容性测试的请求;
[0056] 102、所述云端在所述请求对应的设备上运行所述待测试程序;
[0057] 103、所述云端获取运行后所述待测试程序页面中各元素渲染后的外观属性数 据;
[0058] 104、所述云端比对所述外观属性数据,将所述比对结果作为测试结果返回。
[0059] 本实施例中,所述请求对应的设备可以是指该请求中所指定的一个或多个型号的 设备;当请求中没有指定型号时,所述请求对应的设备可以是指所述云端默认的一个或多 个型号的设备。云端所准备的设备可包含不同型号的各种设备,从而使测试结果尽可能全 面;当出现新型号的设备时,可以将新设备也添加进默认的设备。这里的型号包括设备的品 牌名,设备在该品牌中的系列号或版本号等能唯一确定一类设备的信息。
[0060] 所述渲染数据是引擎在渲染一个页面的各个元素时所基于的实际外观数值,反映 了一个页面在渲染时各个元素的坐标位置,大小和颜色。因此,通过渲染数据可以真实全面 的反映出各种行为后最终的实际外观。
[0061] 本实施例提出了一种全新的兼容性测试的设计思路,通过渲染数据真实获知同一 个程序页面在真实设备上运行后的真实外观数据,根据比较外观数据之间的差异来获得兼 容性测试的结果,可以自动化地找出待测试程序在不同设备上的显示差异,以此检查和判 断兼容性问题,更加高效便捷;并且可以使测试结果更加客观和精确,覆盖到所有细节,不 漏掉任何差异点。
[0062] 另外,本实施例在云端部署覆盖齐全的真实设备,由云端接收测试请求并运行程 序,返回测试结果,可用一套设备为不同的开发人员进行多次兼容性测试,避免了设备不全 的缺陷,而且提高了设备利用率,降低了成本。
[0063] 本实施例中,云端可使用提供互联网服务的服务器集群实现,考虑到大规模访问 的压力和安全,云端并不提供完整的设备运行时环境给测试人员,只接收测试请求,返回测 试结果。
[0064] 本实施例中,所述云端比对所述外观属性数据的步骤具体可以包括:
[0065] 所述云端将从不同设备获取的所述外观属性数据相互进行比对,列出外观属性数 据具有差异的元素;
[0066] 或者
[0067] 所述云端将所述外观属性数据与预设的标准外观属性数据进行比对,列出与预定 的标准外观属性数据具有差异的元素。
[0068] 所述标准外观属性数据可由测试人员通过对所述待测试程序实际运行或通过理 论值获得;可以告知云端该标准外观属性数据的路径以供云端读取,或将该标准外观属性 数据发送给云端。
[0069] 本实施例的一种实施方式中,步骤102具体可以包括:
[0070] 所述云端按照所述请求指定的一组或多组显示参数在所述请求对应的设备上运 行所述待测试程序;
[0071] 本实施方式中,所述显示参数可以包括以下任一种或任意组合:
[0072] 分辨率、亮度、对比度等。
[0073] 本实施方式的一种备选方案中,步骤104中所述云端比对所述外观属性数据的步 骤具体可以包括:
[0074] 所述云端分别比对按照同一组显示参数运行所述待测试程序时获取的外观属性 数据,得到各组显示参数对应的比对结果。
[0075] 本备选方案中,所述云端可以将所获取的外观属性数据进行分组,按照同一组显 示参数运行所述待测试程序时获取的外观属性数据分在一组,比对时是对各组外观属性数 据分别进行比对,从而可以得到各组显示参数对应的比对结果。
[0076] 本备选方案可以使不同型号的设备在尽可能相同的条件下运行所述待测试程序, 提高了数据之间的可比性。另外,测试人员可通过指定多组显示参数,来获得更为全面的测 试结果。
[0077] 本实施方式的另一种备选方案中,步骤104中所述云端比对所述外观属性数据的 步骤具体可以包括:
[0078] 所述云端在所获取的外观属性数据中,将型号相同的设备运行所述待测试程序时 获取的外观属性数据分为一组;对各组外观属性数据分别进行比对,得到各组的比对结果。
[0079] 本备选方案可以得到不同显示参数对运行所述待测试程序时外观属性数据的影 响情况,比如可以指定多组亮度和对比度相同、仅分辨率不同的显示参数,从而了解不同分 辨率对所述待测试程序的影响。
[0080] 可综合应用上述两种备选方案,得到更为全面详细的比对结果。
[0081] 本实施例的一种实施方式中,所述待测试程序可以为WebApp ;
[0082] 本实施方式中,步骤102具体可以包括:
[0083] 所述云端从所述请求中提取出待测试程序的路径、待测试程序的运行入口,并确 定该请求对应的一个或多个设备;
[0084] 根据所提取的待测试程序的路径、运行入口,以及所确定的设备生成执行脚本;
[0085] 运行所述执行脚本,在所确定的设备上安装并运行所述待测试程序。
[0086] 本实施方式中,当所述待测试程序为WebApp时,所述执行脚本可以是基于操作系 统WebOS的应用安装规范和开源引擎WebKit调试协议生成的一组命令集合,用于安装待测 试程序并运行相应页面。
[0087] 基于WebApp的特性,所述云端可以预存一个用于在对应类型的设备上安装并执 行WebApp的原始执行脚本;收到兼容性测试的请求后,将提取的待测试程序的路径、运行 入口填写进相应设备对应的原始执行脚本,即可得到在相应设备上安装并运行所述待测试 程序的执行脚本。
[0088] 其中,WebOS是以承载和运行WebApp为主的操作系统,WebKit是用于运行WebApp 的开源引擎,I0S和Android的WebApp的运行环境都是基于WebKit构建的;WebKit把内 部的调试能力定义为标准的协议--WebKit调试协议:基于此协议,第三方工具就能调试 WebKit 上运行的 WebApp。
[0089] 预定设备可以是WebOS设备,提供WebApp运行和测试的环境,由于是真实设备,所 以能确保测试环境的实时性。另外,同一台设备可能会同时运行多个WebApp实例,可基于 WebOS多进程机制,多个WebApp同时运行,互不干扰。
[0090] 一个执行脚本的具体例子如下:
[0091] install webappl
[0092] lanuch webappl
[0093] fire eventl
[0094] dump renderData
[0095] exit webappl
[0096] 以上执行脚本的具体执行过程如下:
[0097] install webappl :基于WebOS安装WebApp的接口在指定机型上安装webappl ;
[0098] lanuch webappl :基于WebOS启动WebApp的接口在指定机型上启动webappl ;
[0099] fire eventl :基于WebKit的调试协议将eventl转化为调试指令,并触发此事件, 以此达到运行WebApp指定模块的目的;
[0100] dump renderData :生成這染数据;
[0101] exit webappl :退出应用 webappl。
[0102] 本实施方式中,所述外观属性数据可以但不限于以DOM (文档对象模型)树的结构 表不。
[0103] D0M是表示HTML中元素的模型,WebApp中所有元素都是以D0M为模型来表示,是 所有HTML渲染设备通用的模型;一个以D0M树表示渲染后外观属性数据的例子如下:

【权利要求】
1. 一种兼容性测试方法,包括: 云端接收待测试程序兼容性测试的请求; 所述云端在所述请求对应的设备上运行所述待测试程序; 所述云端获取运行后所述待测试程序页面中各元素渲染后的外观属性数据; 所述云端比对所述外观属性数据,将所述比对结果作为测试结果返回。
2. 如权利要求1所述的方法,其特征在于,所述云端在所述请求对应的设备上运行所 述待测试程序的步骤包括: 所述云端按照所述请求指定的一组或多组显示参数在所述请求对应的设备上运行所 述待测试程序; 所述云端比对所述外观属性数据的步骤包括: 所述云端分别比对按照同一组显示参数运行所述待测试程序时获取的外观属性数据, 得到各组显示参数对应的比对结果。
3. 如权利要求1所述的方法,其特征在于,所述云端比对所述外观属性数据的步骤包 括: 所述云端将从不同设备获取的所述外观属性数据相互进行比对,列出外观属性数据具 有差异的元素; 或者 所述云端将所述外观属性数据与预设的标准外观属性数据进行比对,列出与预定的标 准外观属性数据具有差异的元素。
4. 如权利要求1到3中任一项所述的方法,其特征在于: 所述待测试程序为WebApp ;所述执行脚本是基于操作系统WebOS的应用安装规范和开 源引擎WebKit调试协议生成的一组命令集合。
5. 如权利要求4所述的方法,其特征在于,所述云端在所述请求对应的设备上运行所 述待测试程序的步骤包括: 所述云端从所述请求中提取出待测试程序的路径、待测试程序的运行入口,并确定该 请求对应的一个或多个设备; 根据所提取的待测试程序的路径、运行入口,以及所确定的设备生成执行脚本; 运行所述执行脚本,在所确定的设备上安装并运行所述待测试程序。
6. -种兼容性测试装置,其特征在于,包括: 接收单元,用于接收待测试程序兼容性测试的请求; 运行单元,用于在所述请求对应的设备上运行所述待测试程序; 检测单元,用于获取运行后所述待测试程序页面中各元素渲染后的外观属性数据; 结果处理单元,用于比对所述外观属性数据,将比对结果作为测试结果返回。
7. 如权利要求6所述的装置,其特征在于,所述运行单元在所述请求对应的设备上运 行所述待测试程序是指: 所述运行单元分别按照所述请求指定的一组或多组显示参数在所述请求对应的设备 上运行所述待测试程序; 所述结果处理单元比对所述外观属性数据是指: 所述结果处理单元分别比对按照同一组显示参数运行所述待测试程序时获取的外观 属性数据,得到各组显示参数对应的比对结果。
8. 如权利要求6所述的装置,其特征在于,所述结果处理单元比对所述外观属性数据 是指: 所述结果处理单元将从不同设备获取的所述外观属性数据相互进行比对,列出外观属 性数据具有差异的元素,或将所述外观属性数据与预设的标准外观属性数据进行比对,列 出与预定的标准外观属性数据具有差异的元素。
9. 如权利要求6到8中任一项所述的装置,其特征在于: 所述待测试程序为WebApp ;所述执行脚本是基于操作系统WebOS的应用安装规范和开 源引擎WebKit调试协议生成的一组命令集合。
10. 如权利要求9所述的装置,其特征在于,所述运行单元在所述请求对应的设备上运 行所述待测试程序是指: 所述运行单元从所述请求中提取出待测试程序的路径、待测试程序的运行入口,并确 定该请求对应的一个或多个设备;根据所提取的待测试程序的路径、运行入口,以及所确定 的设备生成执行脚本;运行所述执行脚本,在所确定的设备上安装并运行所述待测试程序。
【文档编号】G06F11/36GK104424093SQ201310376227
【公开日】2015年3月18日 申请日期:2013年8月26日 优先权日:2013年8月26日
【发明者】袁志俊, 王翔 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1