CN201510166577.4
2015.04.09
CN104809061A
2015.07.29
实审
审中
实质审查的生效IPC(主分类):G06F 11/36申请日:20150409|||公开
G06F11/36
百度在线网络技术(北京)有限公司
梅明
100085北京市海淀区上地十街10号百度大厦
北京鸿德海业知识产权代理事务所(普通合伙)11412
袁媛
本发明提供一种回归测试方法及装置。方法包括:指示待测渲染引擎加载并渲染待渲染界面的资源数据;获取待测渲染引擎输出的待比对结构化数据信息,待比对结构化数据信息包括待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息;将待比对结构化数据信息与基准结构化数据信息进行比较,以对待测渲染引擎进行测试。本发明技术方案可以提高对渲染引擎的测试效率。
1. 一种回归测试方法,其特征在于,包括:指示待测渲染引擎加载并渲染待渲染界面的资源数据;获取所述待测渲染引擎输出的待比对结构化数据信息,所述待比对结构化数据信息包括所述待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息;将所述待比对结构化数据信息与基准结构化数据信息进行比较,以对所述待测渲染引擎进行测试。2. 根据权利要求1所述的方法,其特征在于,所述将所述待比对结构化数据信息与基准结构化数据信息进行比较,以对所述待测渲染引擎进行测试之前,还包括:指示基准渲染引擎加载并渲染所述待渲染界面的资源数据;获取所述基准渲染引擎输出的所述基准结构化数据信息,所述基准结构化数据信息包括所述待渲染界面的基准样式信息、基准布局信息和基准结构信息。3. 根据权利要求2所述的方法,其特征在于,所述将所述待比对结构化数据信息与基准结构化数据信息进行比较,以对所述待测渲染引擎进行测试,包括:根据对所述待比对结构化数据信息中所述待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息以及所述基准结构化数据信息中所述待渲染界面的基准样式信息、基准布局信息和基准结构信息,对所述待比对结构化数据信息和所述基准结构化数据信息进行差异化分析。4. 根据权利要求3所述的方法,其特征在于,还包括:当分析出所述待比对结构化数据信息和所述基准结构化数据信息之间存在差异时,根据所述待比对结构化数据信息或所述基准结构化数据信息绘制并展现一简易界面,并在所述简易界面上标注所述待比对结构化数据信息和所述基准结构化数据信息之间的差异。5. 根据权利要求1-4任一项所述的方法,其特征在于,所述待测渲染引擎是渲染引擎的升级后版本,所述基准渲染引擎是渲染引擎的升级前版本。6. 根据权利要求1-4任一项所述的方法,其特征在于,所述待渲染界面为web页面;所述待比对结构化数据信息为渲染树。7. 一种回归测试装置,其特征在于,包括:指示模块,用于指示待测渲染引擎加载并渲染待渲染界面的资源数据;获取模块,用于获取所述待测渲染引擎输出的待比对结构化数据信息,所述待比对结构化数据信息包括所述待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息;比对模块,用于将所述待比对结构化数据信息与基准结构化数据信息进行比较,以对所述待测渲染引擎进行测试。8. 根据权利要求7所述的装置,其特征在于,所述指示模块还用于:指示基准渲染引擎加载并渲染所述待渲染界面的资源数据;所述获取模块还用于:获取所述基准渲染引擎输出的所述基准结构化数据信息,所述基准结构化数据信息包括所述待渲染界面的基准样式信息、基准布局信息和基准结构信息。9. 根据权利要求8所述的装置,其特征在于,所述比对模块具体用于:根据对所述待比对结构化数据信息中所述待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息以及所述基准结构化数据信息中所述待渲染界面的基准样式信息、基准布局信息和基准结构信息,对所述待比对结构化数据信息和所述基准结构化数据信息进行差异化分析。10. 根据权利要求9所述的装置,其特征在于,还包括:差异展示模块,用于在所述比较模块分析出所述待比对结构化数据信息和所述基准结构化数据信息之间存在差异时,根据所述待比对结构化数据信息或所述基准结构化数据信息绘制并展现一简易界面,并在所述简易界面上标注所述待比对结构化数据信息和所述基准结构化数据信息之间的差异。11. 根据权利要求7-10任一项所述的装置,其特征在于,所述待测渲染引擎是渲染引擎的升级后版本,所述基准渲染引擎是渲染引擎的升级前版本。12. 根据权利要求7-10任一项所述的装置,其特征在于,所述待渲染界面为web页面;所述待比对结构化数据信息为渲染树。
回归测试方法及装置 【技术领域】 本发明涉及系统测试技术领域,尤其涉及一种回归测试方法及装置。 【背景技术】 浏览器的排版引擎也被称为渲染引擎。在渲染引擎对新标准,如HTML5、CSS3、ECMAScript等进行实现的过程当中,为了能够向后兼容,需要使用已有网页的渲染、布局等对渲染引擎进行回归测试,以确认升级的效果并保证升级没有引入新错误。 目前,最常用的一种方法是,用升级前的渲染引擎渲染A网页并展示,发现A网页展示正常;待渲染引擎升级后,用升级后的渲染引擎渲染A网页并展示;然后人工校验展示出的两个网页是否存在差异,以实现对渲染引擎的回归测试。通常网页所包含的内容过多,所以这种人工测试方法的效率较低。 【发明内容】 本发明的多个方面提供一种回归测试方法及装置,用以提高对渲染引擎的测试效率。 本发明的一方面,提供一种回归测试方法,包括: 指示待测渲染引擎加载并渲染待渲染界面的资源数据; 获取所述待测渲染引擎输出的待比对结构化数据信息,所述待比对结构化数据信息包括所述待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息; 将所述待比对结构化数据信息与基准结构化数据信息进行比较,以对所 述待测渲染引擎进行测试。 本发明的另一方面,提供一种回归测试装置,包括: 指示模块,用于指示待测渲染引擎加载并渲染待渲染界面的资源数据; 获取模块,用于获取所述待测渲染引擎输出的待比对结构化数据信息,所述待比对结构化数据信息包括所述待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息; 比对模块,用于将所述待比对结构化数据信息与基准结构化数据信息进行比较,以对所述待测渲染引擎进行测试。 由上述技术方案可知,本申请通过指示待测渲染引擎加载并渲染待渲染界面的资源数据,获取待测渲染引擎输出的待比对结构化数据信息,该待比对结构化数据信息包括待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息,将待比对结构化数据信息与基准结构化数据信息进行比较,可以实现对待测渲染引擎的回归测试。由于与展示出的界面相比,待比对结构化数据信息的数据量小很多,因此采用待比对结构化数据信息对待测渲染引擎进行回归测试,可以提高测试效率。 【附图说明】 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图1为本发明一实施例提供的回归测试方法的流程示意图; 图2为本发明一实施例提供的回归测试装置的结构示意图; 图3为本发明另一实施例提供的回归测试装置的结构示意图。 【具体实施方式】 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 图1为本发明一实施例提供的回归测试方法的流程示意图。如图1所示,该方法包括: 101、指示待测渲染引擎加载并渲染待渲染界面的资源数据。 102、获取上述待测渲染引擎输出的待比对结构化数据信息,所述待比对结构化数据信息包括待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息。 103、将上述待比对结构化数据信息与基准结构化数据信息进行比较,以对待测渲染引擎进行测试。 本实施例提供一种回归测试方法,可用于对各种用户界面(UI)类应用中的渲染引擎进行回归测试。例如,本实施例方法可用于对浏览器、游戏APP等应用中的渲染引擎进行回归测试。另外,本实施例方法对各种UI类应用的实现平台不做限定,可用于各种平台实现的UI类应用,例如windows平台、安卓平台、Linux平台等。 本实施例测试方法的主要原理是:基于渲染引擎渲染出的结构化数据信息,对渲染引擎进行测试。下面详细描述本实施例方法的实现流程。 首先,选定一现有界面用于测试,为便于描述将该界面称为待渲染界面。 之后,指示待测渲染引擎加载并渲染待渲染界面的资源数据。 例如,可先读取待渲染界面的统一资源定位符(Uniform Resource Locator,URL)地址,之后将该URL地址发送给待测渲染引擎,指示待测渲染引擎根据该URL地址获取待渲染界面的资源数据,并进行加载和渲染。 又例如,可以读取待渲染界面的URL地址,根据该URL地址获取待渲染界面的资源数据,将获取的资源数据发送给待测渲染引擎,指示待测渲染引擎加载并渲染。 其中,待测渲染引擎加载并渲染资源数据的过程主要是:根据该资源数据生成结构化数据信息的过程。例如,待测渲染引擎加载并渲染资源数据之后,可解析该资源数据以生成结构化数据信息。为便于区分,将待测渲染引擎渲染出的结构化数据信息称为待比对结构化数据信息,将与待比对结构化数据进行比较的结构化数据信息称为基准结构化数据信息。 其中,待比对结构化数据信息包括:由待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息。基准结构化数据信息包括:待渲染界面的基准样式信息、基准布局信息和基准结构信息。 由于待测渲染引擎输出的待比对结构化数据信息包括了与界面有关的信息,因此,可以基于待测渲染引擎输出的待比对结构化数据信息,判断待测渲染引擎渲染出的界面样式、布局和结构是否与待渲染界面的基准样式、布局和结构相同,进而测试该待测渲染引擎是否存在错误或满足预期要求,实现对待测渲染引擎的回归测试。 基于上述,在指示待测渲染引擎加载并渲染待渲染界面的资源数据后,可以获取待测渲染引擎输出的待比对结构化数据信息,然后将待比对结构化数据信息与基准结构化数据信息进行比较,以对待测渲染引擎进行测试。 具体的,根据对待比对结构化数据信息中待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息以及基准结构化数据信息中待渲染界面的基准样式信息、基准布局信息和基准结构信息,对待比对结构化数据信息和基准结构化数据信息进行差异化(diff)分析,达到测试待测渲染引擎的目的。 简单来说,就是比较待比对结构化数据信息和基准结构化数据信息的结构和内容是否一致以完成对待测渲染引擎的测试。 例如,若分析出待比对结构化数据信息和基准结构化数据信息之间不存在差异,说明待测渲染引擎满足预期效果或需求。若分析出待比对结构化数 据信息和基准结构化数据信息之间存在差异,说明待测渲染引擎不满足预期效果或需求。 进一步可选的,若分析出待比对结构化数据信息和基准结构化数据信息之间存在差异,为便于用户直观的了解到两种结构化数据信息之间的差异,可以根据待比对结构化数据信息或基准结构化数据信息绘制一简易界面,并在该简易界面上标注待比对结构化数据信息和基准结构化数据信息之间的差异。 由于本实施例输出一界面的目的是为了便于用户直观的看到两种结构化数据信息的差异,而不是真正向用户展现一界面,所以相对于UI类应用根据渲染引擎输出的结构化数据信息最终呈现出的界面来说,本实施例只需粗略的展现一界面即可,例如可以用方框或圆圈等图形来表示界面上的对象,故将本实施例展现的界面称为简易界面。 可选的,可以用颜色、加标注框、高亮、文字说明等方式在简易界面上标注上述两种结构化数据信息之间的差异。 值得说明的是,上述简易界面可以是根据待比对结构化数据信息生成的界面,也可以是根据基准结构化数据信息生成的界面。 其中,待比对结构化数据信息是进行界面绘制前的结构化数据信息,与展示出的界面相比,待比对结构化数据信息的数据量小很多,因此采用待比对结构化数据信息对待测渲染引擎进行回归测试,可以提高测试效率。另外,基于采用待比对结构化数据信息对待测渲染引擎进行回归测试,可以实现自动测试,无需人工手动比对,有利于提高测试效率。 下面以UI类应用为浏览器为例,进一步详细阐述本发明技术方案。假设该浏览器可采用webkit内核,但不限于此。例如,浏览器也可以采用Trident内核、Gecko内核、Blink内核实现。 当浏览器中的渲染引擎发生升级时,为了能够向后兼容,需要对升级后的渲染引擎进行回归测试,以确认升级的效果并保证升级没有引入新错误。其中,将渲染引擎的升级后版本作为待测渲染引擎,将渲染引擎的升级前版 本作为基准渲染引擎。具体测试过程如下: 首先,选定一现有web页面,用于测试。 然后,指示待测渲染引擎加载并渲染web页面的资源数据,并指示基准渲染引擎加载并渲染web页面的资源数据。 例如,可先读取web页面的URL地址,之后将该URL地址分别发送给待测渲染引擎和基准渲染引擎,指示待测渲染引擎和基准选单引擎分别根据该URL地址获取web页面的资源数据并进行加载和渲染。又例如,可以读取web页面的URL地址,根据该URL地址获取web页面的资源数据,将web页面的资源数据分别发送给待测渲染引擎和基准渲染引擎,指示待测渲染引擎和基准渲染引擎加载并渲染。 上述待测渲染引擎或基准渲染引擎加载并渲染web页面的资源数据的过程主要是:根据该资源数据生成渲染树(RenderTree)的过程。这里的渲染树是浏览器运行时进行页面绘制前的结构化数据信息。例如,在通过待测渲染引擎或基准渲染引擎加载并渲染web页面的资源数据之后,可解析该web页面的资源数据以生成DOM树,当DOM树建立完成之后,可开始生成渲染树。 其中,渲染树中包含但不限于以下信息: (1)所有节点的坐标位置,如(425,0);(2)所有节点块的大小,如size 97x34;(3)对于部分节点的颜色信息,如:[bgcolor=#DDDDDD];(4)节点的类型,如RenderBlock、RenderTextControl{INPUT}、RenderText;(5)页面整体展示的树形结构,如渲染树在格式上的缩进。 基于以上信息可以看出:渲染树包含,相应Dom树的信息,如节点在页面画板上的位置,节点的类型,节点的相应背景颜色等信息。 接着,获取待测渲染引擎输出的渲染树,并获取基准渲染引擎输出的渲染树,然后将两棵渲染树进行比较,以对待测渲染引擎进行测试。 具体的,可以对两棵渲染树进行diff分析,比较两个渲染树的结构和内容是否一致,以完成对待测渲染引擎的测试。如果两棵渲染树一致,说明待 测渲染引擎符合预期效果,如升级后的渲染引擎能够实现向后兼容。 由上述过程可见,本实施例基于渲染树实现了对浏览器中渲染引擎的自动化测试,具有较高的测试效率,且无需通过人工分析展示出的页面,而是通过比对渲染树,达到了无UI测试渲染引擎的目的,测试精度更高。另外,考虑到Dom树是静态结构,无法体现js文件带来的改变,而渲染树则可以体现了js文件对Dom树的改变,因此通过渲染树对渲染引擎进行测试相当于基于一种运行时(runtime)状态信息进行测试,有利于提高测试精度。再者,本实施例通过diff的坐标位置,能够方便的定位到相应的节点输出,以及定位到相应节点的变更所引起的细微像素的差别,能够发现更细微的差异,测试精度较高。 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。 图2为本发明一实施例提供的回归测试装置的结构示意图。如图2所示,该装置包括:指示模块21、获取模块22和比对模块23。 指示模块21,用于指示待测渲染引擎加载并渲染待渲染界面的资源数据。 获取模块22,用于获取待测渲染引擎输出的待比对结构化数据信息,待比对结构化数据信息包括待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息。 比对模块23,用于将获取模块22获取的待比对结构化数据信息与基准结构化数据信息进行比较,以对待测渲染引擎进行测试。 在一可选实施方式中,指示模块21还用于:在比对模块23将待比对结 构化数据信息与基准结构化数据信息进行比较之前,指示基准渲染引擎加载并渲染待渲染界面的资源数据。相应的,获取模块22还用于:获取基准渲染引擎输出的基准结构化数据信息,基准结构化数据信息包括待渲染界面的基准样式信息、基准布局信息和基准结构信息。 基于上述,比对模块23具体用于:根据对待比对结构化数据信息中待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息以及基准结构化数据信息中待渲染界面的基准样式信息、基准布局信息和基准结构信息,对待比对结构化数据信息和基准结构化数据信息进行差异化分析。 进一步,如图3所示,该回归测试装置还包括:差异展示模块24。 差异展示模块24,用于在比较模块23分析出待比对结构化数据信息和基准结构化数据信息之间存在差异时,根据待比对结构化数据信息或基准结构化数据信息绘制并展现一简易界面,并在简易界面上标注待比对结构化数据信息和基准结构化数据信息之间的差异。 在一可选实施方式中,待测渲染引擎可以是渲染引擎的升级后版本,基准渲染引擎可以是渲染引擎的升级前版本。 在一可选实施方式中,待渲染界面为web页面;待比对结构化数据信息为渲染树。 值得说明的是,本实施例提供的回归测试装置可用于对各种UI类应用中的渲染引擎进行回归测试。例如,可用于对浏览器、游戏APP等应用中的渲染引擎进行回归测试。另外,本实施例提供的回归测试装置对各种UI类应用的实现平台不做限定,可用于各种平台实现的UI类应用,例如windows平台、安卓平台、Linux平台等。 可选的,本实施例提供的回归测试装置可作为UI类应用中的一个模块实现,通过与UI类应用中的渲染引擎进行通信,实现对渲染引擎的测试。或者,本实施例提供的回归测试装置也可以独立于UI类应用,但能够与UI类应用进行通信,从而实现对渲染引擎的测试。 本实施例提供的回归测试装置,通过指示待测渲染引擎加载并渲染待渲 染界面的资源数据,获取待测渲染引擎输出的待比对结构化数据信息,该待比对结构化数据信息包括待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息,将待比对结构化数据信息与基准结构化数据信息进行比较,可以实现对待测渲染引擎的回归测试。由于与展示出的界面相比,本实施例提供的回归测试装置所使用的待比对结构化数据信息的数据量小很多,因此采用待比对结构化数据信息对待测渲染引擎进行回归测试,可以提高测试效率。 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。 在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等) 或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
《回归测试方法及装置.pdf》由会员分享,可在线阅读,更多相关《回归测试方法及装置.pdf(10页珍藏版)》请在专利查询网上搜索。
本发明提供一种回归测试方法及装置。方法包括:指示待测渲染引擎加载并渲染待渲染界面的资源数据;获取待测渲染引擎输出的待比对结构化数据信息,待比对结构化数据信息包括待测渲染引擎渲染出的界面的样式信息、布局信息和结构信息;将待比对结构化数据信息与基准结构化数据信息进行比较,以对待测渲染引擎进行测试。本发明技术方案可以提高对渲染引擎的测试效率。 。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1