网页自动化测试方法和装置制造方法

文档序号:6620676阅读:215来源:国知局
网页自动化测试方法和装置制造方法
【专利摘要】本发明实施例公开了一种网页自动化测试方法和装置。所述方法包括:生成与待测试网页中可点元素对应的结点结构图;根据所述结点结构图,生成常规测试用例,并基于所述常规测试用例进行网页测试。所述装置包括:结点结构图生成单元,用于生成与待测试网页中可点元素对应的结点结构图;常规测试用例的网页测试单元,用于根据所述结点结构图,生成常规测试用例,并基于所述常规测试用例进行网页测试。本发明解决了使用现有的自动化测试方案时,用户可点路径非常多,书写自动化测试用例,相比较程序自动生成来说,效率非常低的技术问题,优化了现有的网页自动化测试技术,满足人们日益增长的个性化、便捷化的自动化测试需求。
【专利说明】网页自动化测试方法和装置

【技术领域】
[0001] 本发明实施例涉及计算机技术,尤其涉及一种网页自动化测试方法和装置。

【背景技术】
[0002] 随着互联网技术的不断发展,人们对各种网络应用软件的需求越来越广泛,相应 的,各种不同种类的软件也被不断开发和应用。软件开发商为了保证软件的可靠性,需要在 一款软件上市前对软件进行详细而全面的软件测试。通常,软件测试的工作量很大。但是 测试中的许多操作都是重复性的、非智力性和非创造性的,计算机就最适合代替人工去完 成这样的工作,软件自动化测试技术也应运而生。软件自动化技术是把以人为驱动(人为 点击、滑动屏幕、或者按键等操作)的测试行为转化为机器执行的一种过程,通过执行测试 用例,自动完成对软件的测试过程。
[0003] 现有的网页自动化测试技术主要是通过手工梳理路径和书写自动化测试用例的 方式来实现对Web页面的自动化测试。举例而言,在图1中示出了一种手工梳理Web网页 测试路径的示意图,对于图1中的Web网页,测试人员人工梳理的测试路径(人工设置的点 击顺序)为:高级贴吧会员11、1个月12、热门支付13、中国工商银行14和立即支付15。通 过上述测试路径,再书写自动化测试用例,进而完成相应的自动化测试。
[0004] 但是,目前的很多Web页面上可点元素很多,且富含JSCJavascript,脚本语言)逻 辑,典型的页面如支付第三方(支付宝、百付宝等)页面等。使用现有的自动化测试方案时, 用户可点路径非常多,书写自动化测试用例,相比较程序自动生成来说,效率非常低。


【发明内容】

[0005] 有鉴于此,本发明实施例提供一种网页自动化测试方法和装置,优化现有的网页 自动化测试技术,满足人们日益增长的个性化、便捷化自动化测试需求。
[0006] 在第一方面,本发明实施例提供了一种网页自动化测试方法,包括:
[0007] 生成与待测试网页中可点元素对应的结点结构图;
[0008] 根据所述结点结构图,生成常规测试用例,并基于所述常规测试用例进行网页测 试。
[0009] 在第二方面,本发明实施例提供了一种网页自动化测试装置,包括:
[0010] 结点结构图生成单元,用于生成与待测试网页中可点元素对应的结点结构图;
[0011] 常规测试用例的网页测试单元,用于根据所述结点结构图,生成常规测试用例,并 基于所述常规测试用例进行网页测试。
[0012] 本发明实施例通过生成与待测试网页中可点元素对应的结点结构图;根据所述结 点结构图,生成常规测试用例,并对所述常规测试用例进行网页测试的技术手段,解决了使 用现有的自动化测试方案时,用户可点路径非常多,书写自动化测试用例,相比较程序自动 生成来说,效率非常低的技术问题,优化了现有的网页自动化测试技术,满足人们日益增长 的个性化、便捷化的自动化测试需求。

【专利附图】

【附图说明】
[0013] 图1是现有技术中一种手工梳理Web网页测试路径的不意图;
[0014] 图2是本发明第一实施例的一种网页自动化测试方法的流程图;
[0015] 图3a是本发明第一实施例的一种Web网页中可视化元素的示意图;
[0016] 图3b是本发明第一实施例的一种结点结构图的示意图;
[0017] 图4是本发明第二实施例的一种网页自动化测试方法的流程图;
[0018] 图5是本发明第三实施例的一种网页自动化测试方法的流程图;
[0019] 图6是本发明第四实施例的一种网页自动化测试方法的流程图;
[0020] 图7是本发明第四实施例的确定第一常规结点路径和第二常规结点路径的结点 结构示意图;
[0021] 图8是本发明第五实施例的一种网页自动化测试方法的流程图;
[0022] 图9是本发明第六实施例的一种网页自动化测试方法的流程图;
[0023] 图10是本发明第七实施例的一种网页自动化测试装置的结构图。

【具体实施方式】
[0024] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实 施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明, 而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关 的部分而非全部内容。
[0025] 第一实施例
[0026] 图2是本发明第一实施例的一种网页自动化测试方法的流程图,本实施例的方法 可以由网页自动化测试装置来执行,该装置可通过硬件和/或软件的方式实现,一般可集 成于用于完成网页自动化测试的服务器内。本实施例的方法具体包括如下操作:
[0027] 210、生成与待测试网页中可点元素对应的结点结构图。
[0028] 在本实施例中,网页测试服务器生成与待测试网页中可点元素对应的结点结构 图。
[0029] 在本实施例中,待测试网页中的可点元素具体包括:待测试网页中可以通过点击、 触摸或者滑动操作来触发的网页控件,例如:按钮控件、滑动条控件或者输入框控件等。在 图3a中示出了一种Web网页中可视化元素的示意图。如图3a所示,Web网页中包括2个 按钮控件构成的第一控件组31、5个按钮控件构成的第二控件组32和7个按钮控件构成的 第三控件组33,以及第四控件34。其中,为了方便后续结点结构图的表述,图3a中有一组 控件并未被标识出("选择方式"那一组控件)。
[0030] 在本实施例中,结点结构图具体是指使用结点连线图来描述待测试网页中各可点 元素(控件)间逻辑关系的结点连接图。
[0031] 在图3b中示出了一种与图3a中的Web网页中可视化元素对应的结点结构示意 图。如图3b所示,结点结构图中共包括0-15个结点,用于表示图3a中的15个按钮控件。 其中,0号结点为虚结点,不具有实际意义,仅用于表不一个开始结点,1号和2号结点与第 一控件组31相对应,3号-7号结点与第二控件组32相对应,8号到14号结点与第三控件 组33相对应,15号结点为结束结点,与第四控件34相对应,代表用户完成对待测试网页中 各个控件的设置,触发执行对应的网页功能("立即支付")。
[0032] 其中,考虑到用户在实际点击所述Web网页中的各个控件时,常规的点击方式为: 首先点击第一控件组31中的一个控件、之后点击第二控件组32中的一个控件,然后点击第 三控件组33中的一个控件,最后点击第四控件34。在构造结点结构图时,按照用户可能的 常规点击顺序,将1号-15号控件分为相对应的4层。
[0033] 其中,结点结构图中各个控件之间的连线,表达了各个控件之间可达状态。举例而 言,如图3a所示,当用户点击"贴吧会员"按钮后,之后可以选择点击"1个月"、"3个月"、"6 个月"、"12个月"或者输入任意月份,因此,1号控件结点和3号-7号控件结点中的任意结 点之间均可达,因此,1号控件结点和3号-7号控件结点之间均具有连线。
[0034] 在本实施例中,网页测试服务器可以通过自动生成结点加上手工绘制连线的方 式,生成所述结点连接图,也可以通过手工选择,机器形成的方式生成所述结点连接图,对 此并不限定。
[0035] 220、根据所述结点结构图,生成常规测试用例,并基于所述常规测试用例进行网 页测试。
[0036] 在本实施例中,网页测试服务器根据所述结点结构图,生成常规测试用例,并基于 所述常规测试用例进行网页测试。
[0037] 在本实施例中,常规测试用例是指,与用户的常规点击操作对应的自动化测试用 例。
[0038] 如前所述,如果用户按照控件在Web页面中的排列顺序首先点击第一控件组31中 的一个控件、之后点击第二控件组32中的一个控件,然后再点击第三控件组33中的一个控 件,最后再点击第四控件34,即为一个用户对待测试网页的一个常规的点击操作。相对应 的,如果用户首先点击第一控件组31中的一个控件、之后点击第二控件组32中的一个控 件,之后又返回去点击第一控件组31中的一个控件,然后点击第三控件组33中的一个控 件,最后再点击第四控件34,即操作过程中包括了回溯(返回)操作,此时,上述操作过程则 不是一个常规的点击操作。
[0039] 显然,如果按照如图3b所示的结点结构图自顶向下,顺序选择结点,构成常规结 点路径,并按照该常规结点路径构造测试用例,即可生成与用户常规点击操作对应的常规 测试用例。例如:顺序选择〇号结点、1号结点、4号结点、10号结点和15号结点构成结点 路径0-1-4-10-15,根据该路径可以构造用户操作为:首先点击"贴吧会员",接着点击"3个 月",然后点击"支付宝",最后点击"立即支付"的测试用例来实现对该待测试网页的自动化 测试。
[0040] 在本实施例中,网页测试服务器可以根据所述结点结构图中各个结点的连线关 系,生成常规结点路径,并可以根据常规结点路径中的结点队列,基于预设的模板来添加结 点操作代码,进而自动生成常规测试用例。
[0041] 在本实施例中,网页测试服务器使用生成的常规测试用例,对待测试网页进行自 动化的网页测试。
[0042] 本发明实施例通过生成与待测试网页中可点元素对应的结点结构图;根据所述结 点结构图,生成常规测试用例,并对所述常规测试用例进行网页测试的技术手段,解决了使 用现有的自动化测试方案时,用户可点路径非常多,书写自动化测试用例,相比较程序自动 生成来说,效率非常低的技术问题,优化了现有的网页自动化测试技术,满足人们日益增长 的个性化、便捷化的自动化测试需求。
[0043] 第二实施例
[0044] 图4是本发明第二实施例的一种网页自动化测试方法流程图。本实施例以上述实 施例为基础进行优化,在本实施例中,优选的将操作生成与待测试网页中可点元素对应的 结点结构图优化为:根据所述待测试网页中的可点元素,生成逻辑结点;根据所述逻辑结 点的结点属性,对所述逻辑结点进行分层排列;根据所述逻辑结点间的关联关系,对分层排 列后的所述逻辑结点进行连线,生成结点结构图。
[0045] 优选的将操作根据所述结点结构图,生成常规测试用例,并基于所述常规测试用 例进行网页测试优化为:根据所述结点结构图,生成常规结点路径,其中,所述常规结点路 径中包括与常规点击操作对应的结点队列;根据所述常规结点路径中的结点队列,基于预 设模板添加结点操作代码,生成常规测试用例;获取所述常规测试用例的网页测试结果。
[0046] 相应的,本实施例的方法包括如下操作:
[0047] 410、根据所述待测试网页中的可点元素,生成逻辑结点。
[0048] 在本实施例中,网页测试服务器根据所述待测试网页中的可点元素,生成逻辑结 点。
[0049] 其中,网页测试服务器可以首先根据待测试网页的URL(UniformResoureLocator, 同一资源定位符)地址,对待测试网页进行预加载,并可以根据需要对待测试网页的脚本 语言进行跨域修正或者CSS(Cascading Style Sheets,级联样式表)标注等操作,以实现对 待测试网页进行页面展现;接着,根据展现页面中包括的各个控件,生成逻辑结点。
[0050] 在本实施例的一个优选的实施方式中,生成的逻辑结点支持人工修正,以提高生 成结果的可靠性。
[0051] 420、根据所述逻辑结点的结点属性,对所述逻辑结点进行分层排列。
[0052] 在本实施例中,网页测试服务器根据所述逻辑结点的结点属性,对所述逻辑结点 进行分层排列。
[0053] 如前所述,结点结构图根据用户常规的点击控件的顺序,自顶至下分层排列,同一 分层的结点与用户点击优选级相同的多个同类控件相对应。
[0054] 在本实施例中,网页测试服务器可以通过分析待测试网页中各个控件的控件属 性,对所述逻辑结点进行分层排列。
[0055] 举例而言,一般来说,在进行控件命名时,点击优选级相同的同类控件的控件标识 的首位相同。例如,点击优选级最高的第一层的控件以11、12、13的方式命名,点击优先级 次之的第二层控件以21、22、23的方式命名,因此,网页测试服务器可以根据上述控件命名 规则,对各个逻辑结点进行分层排列。
[0056] 在本实施例的一个优选的实施方式中,生成的分层排列结果支持人工修正,以提 高生成结果的可靠性。
[0057] 430、根据所述逻辑结点间的关联关系,对分层排列后的所述逻辑结点进行连线, 生成结点结构图。
[0058] 在本实施例中,可以通过人工连线的方式,对分层排列后的所述逻辑结点进行连 线,生成结点结构图;也可以通过网页测试服务器自动生成连线后人为修正连线结果的方 式来生成结点结构图,对此并不限定。
[0059] 440、根据所述结点结构图,生成常规结点路径,其中,所述常规结点路径中包括与 常规点击操作对应的结点队列。
[0060] 在本实施例中,网页测试服务器根据所述结点结构图,生成常规结点路径。
[0061] 其中,网页测试服务器根据结点结构图中各个结点的连线关系,自顶向下顺序选 择不同分层的结点,构成常规结点路径。例如,如图3b所示,0-1-3-8-15与0-1-4-10-15均 为根据所述结点结构图,生成的常规结点路径。
[0062] 优选的,网页测试服务器根据结点结构图进行深度遍历,产生满足要求的所有常 规结点路径。
[0063] 450、根据所述常规结点路径中的结点队列,基于预设模板添加结点操作代码,生 成常规测试用例。
[0064] 在本实施例中,网页测试服务器根据所述常规结点路径中的结点队列,基于预设 模板添加结点操作代码,生成常规测试用例。
[0065] 其中,预设模板中预留有输入接口,当网页测试服务器通过输入接口向预设模板 中输入表示结点点击顺序的结点队列后,预设模板会自动添加对应的结点操作代码,生成 常规测试用例。
[0066] 460、获取所述常规测试用例的网页测试结果。
[0067] 在本实施例中,网页测试服务器使用生成的常规测试用例,对待测试网页进行自 动化的网页测试,并获取常规测试用例的网页测试结果。
[0068] 举例而言,如果根据常规结点路径0-1-4-10-15,来构造用户操作为:首先点击 "贴吧会员",接着点击"3个月",然后点击"支付宝",最后点击"立即支付"的测试用例来实 现对该待测试网页的自动化测试,网页测试完成后,与该常规测试用例对应的网页测试结 果中的理论参数为"贴吧会员"、"3个月"和"支付宝"。
[0069] 本发明实施例通过生成与待测试网页中可点元素对应的结点结构图;根据所述结 点结构图,生成常规测试用例,并对所述常规测试用例进行网页测试的技术手段,解决了使 用现有的自动化测试方案时,用户可点路径非常多,书写自动化测试用例,相比较程序自动 生成来说,效率非常低的技术问题,优化了现有的网页自动化测试技术,满足人们日益增长 的个性化、便捷化的自动化测试需求。
[0070] 第三实施例
[0071] 图5是本发明第三实施例的一种网页自动化测试方法的流程图。本实施例以上述 实施例为基础进行优化,在本实施例中,优选的在操作在基于所述常规测试用例进行网页 测试之后,还包括:采用所述常规测试用例的网页测试结果对其他测试用例的网页测试结 果进行验证。
[0072] 相应的,本实施例的方法包括如下操作:
[0073] 510、生成与待测试网页中可点元素对应的结点结构图。
[0074] 520、根据所述结点结构图,生成常规测试用例,并基于所述常规测试用例进行网 页测试。
[0075] 530、采用所述常规测试用例的网页测试结果对其他测试用例的网页测试结果进 行验证。
[0076] 在本实施例中,网页测试服务器采用所述常规测试用例的网页测试结果对其他测 试用例的网页测试结果进行验证。
[0077] -般来说,网页服务器在获取各个常规测试用例的网页测试结果后,需要确定网 页测试结果是否符合预期的设计目标:若一个常规测试用例的网页测试结果符合预期的设 计目标,则与该常规测试用例对应的结点路径通过验证;否则,确定与常规测试用例对应的 结点路径中具有错误代码,需要进行人工排错。现有技术在对网页测试结果进行验证时,需 要预先设置与各个常规测试用例对应的理论网页测试结果,通过将实际的网页测试结果与 理论网页测试结果进行比对,以实现对结点路径进行验证。这种实现方式耗时耗力,效率低 下。
[0078] 在本实施例中,网页测试服务器可以根据1个或者多个常规测试用例的网页测试 结果来对其他的常规测试用例的网页测试结果进行验证,也可以根据常规测试用例的网页 测试结果来对其他非常规测试用例(例如,包括回溯操作的测试用例)的网页测试结果进 行验证,对此并不限定。
[0079] 在本实施例的一个优选的实施方式中,采用所述常规测试用例的网页测试结果对 其他测试用例的网页测试结果进行验证可以包括:
[0080] 使用所述常规测试用例的网页测试结果对随机测试用例的网页测试结果进行验 证,其中,所述随机测试用例对应的随机结点路径中包括与回溯点击操作对应的点击结点 队列。
[0081] 在本实施例的另一个优选的实施方式中,采用所述常规测试用例的网页测试结果 对其他测试用例的网页测试结果进行验证可以包括:
[0082] 获取常规测试用例对应的常规结点路径作为基准路径;
[0083] 获取与所述基准路径对应的常规测试用例的网页测试结果,作为基准测试结果;
[0084] 获取与所述基准路径具有预定路径差异值的待验证路径;
[0085] 获取与所述待验证路径对应的常规测试用例的网页测试结果,作为待验证测试结 果;
[0086] 如果所述待验证测试结果与所述基准测试结果的参数差异值与所述预定的路径 差异值相等,确定所述待验证路径通过验证。
[0087] 本发明实施例通过增加采用所述常规测试用例的网页测试结果对其他测试用例 的网页测试结果进行验证的操作,实现了无需计算全部常规测试用例,或者非常规测试用 例的网页测试结果,仅通过根据部分常规测试用例的网页测试结果,即可覆盖到其余常规 测试用例,或者说非常规测试用例的网页测试结果,提高了网页自动化测试效率,缩小了实 际的测试结果的验证时间。
[0088] 第四实施例
[0089] 图6是本发明第四实施例的一种网页自动化测试方法的流程图。本实施例以上述 实施例为基础进行优化,在本实施例中,优选的将操作采用所述常规测试用例的网页测试 结果对其他测试用例的网页测试结果进行验证优化为:使用所述常规测试用例的网页测试 结果对随机测试用例的网页测试结果进行验证,其中,所述随机测试用例对应的随机结点 路径中包括与回溯点击操作对应的点击结点队列;
[0090] 优选的将操作使用所述常规测试用例的网页测试结果对所述随机测试用例的网 页测试结果进行验证优化为:获取与所述随机结点路径相符合的常规结点路径,作为参考 结点路径,并获取与所述参考结点路径对应的常规测试用例的参考网页测试结果;如果所 述随机测试用例的网页测试结果与所述参考网页测试结果相一致,确定所述随机结点路径 通过验证;
[0091] 优选的在操作使用所述常规测试用例的网页测试结果对随机测试用例的网页测 试结果进行验证之前,还包括:根据所述结点结构图,获取满足预定回溯步长的第一常规结 点路径和第二常规结点路径;根据所述第一常规结点路径和所述第二常规结点路径,确定 回溯结点,以实现所述第一常规结点路径中的结点通过所述回溯结点能够到达所述第二常 规结点路径中的结点,且保证位于所述第一常规结点路径中与所述回溯结点同一层次的同 层结点之上的全部结点与位于所述第二常规结点路径中所述回溯结点之上的全部结点相 同;根据所述第一常规结点、所述第二常规结点路径和所述回溯结点,生成随机结点路径; 根据所述随机结点路径,生成随机测试用例;相应地,优选的将操作获取与所述随机结点路 径相符合的常规结点路径,作为参考结点路径优化为:获取所述第二常规结点路径作为所 述参考结点路径。
[0092] 相应的,本实施例的方法包括如下操作:
[0093] 610、生成与待测试网页中可点元素对应的结点结构图。
[0094] 620、根据所述结点结构图,生成常规测试用例,并基于所述常规测试用例进行网 页测试。
[0095] 630、根据所述结点结构图,获取满足预定回溯步长的第一常规结点路径和第二常 规结点路径。
[0096] 一般来说,用户除了会按照常规点击的方式来操作网页中的各种控件之外,还有 很大的可能性按照非常规点击的方式来操作网页中的各种控件。举例而言,用户首先点击 "贴吧会员",接着点击"3个月",然后点击"支付宝",再点击"确认支付"之前,用户又对"选 择时长"部分重新选择,重新点击"6个月",最后才点击"确认支付"。也就是说,非常规点 击操作中包括了回溯操作,或者说返回点击的操作,显然,用户的非常规点击操作是无法预 知的,也无法通过构造测试用例的方式完全覆盖,而往往用户的非常规操作会使得网页测 试中出现很多不可预知的结果,因此,针对用户的非常规操作的网页测试也是非常必要的。 [0097] 在本实施例中,网页测试服务器首先设定预定的回溯步长,根据所述结点结构图, 获取满足预定回溯步长的第一常规结点路径和第二常规结点路径。这样设置的原因是通过 常规结点路径来构造包括回溯结点的非常规结点路径,或者称为随机结点路径。其中,回溯 步长表示一个用户非常规点击操作中包括的回溯点击操作的次数,也就是说一个随机结点 路径中包括的回溯结点的个数。
[0098] 举例而言,网页测试服务器预先设定的回溯步长为1,也就是说,选取的第一常规 结点路径可以通过一步的回溯操作到达第二常规结点路径中。
[0099] 在图7中示出了一种确定第一常规结点路径和第二常规结点路径的结点结构示 意图,如图7所示,常规结点路径0-1-3-8-15通过从结点8到结点5的一次回溯,可以达到 常规结点路径0-1-5-11-15中,常规结点路径0-1-3-8-15通过从结点3到结点2的一次回 溯,可以达到常规结点路径0-2-6-12-15中,因此,当回溯步长为1时,可以选择0-1-3-8-15 作为第一常规结点路径,0-1-5-11-15作为第二常规结点路径;也可以选择0-1-3-8-15作 为第一常规结点路径,0-2-6-12-15作为第二常规结点路径,
[0100] 当然,网页测试服务器可以根据需要遍历或者部分遍历与预定回溯步长对应的第 一常规结点路径和第二常规结点路径,对此并不限定。
[0101] 640、根据所述第一常规结点路径和所述第二常规结点路径,确定回溯结点,以实 现所述第一常规结点路径中的结点通过所述回溯结点能够到达所述第二常规结点路径中 的结点,且保证位于所述第一常规结点路径中与所述回溯结点同一层次的同层结点之上的 全部结点与位于所述第二常规结点路径中所述回溯结点之上的全部结点相同。
[0102] 如上所述,如果选择0-1-3-8-15作为第一常规结点路径,0-1-5-11-15作为第二 常规结点路径,可以选择结点5作为回溯结点,首先可以实现所述第一常规结点路径中的 结点通过所述回溯结点能够到达所述第二常规结点路径中的结点。另外,如图7所示,第一 常规结点路径中与结点5同一层次的同层结点为结点3,结点3之上的全部结点为0-1,其 与第二常规结点路径中结点5之上的全部结点0-1相同。
[0103] 相应的,如果选择0-1-3-8-15作为第一常规结点路径,0-2-6-12-15作为第二常 规结点路径可以选择结点2作为回溯结点,首先可以实现所述第一常规结点路径中的结点 通过所述回溯结点能够到达所述第二常规结点路径中的结点。另外,如图7所示,第一常规 结点路径中与结点2同一层次的同层结点为结点1,结点1之上的全部结点为0,其与第二 常规结点路径中结点2之上的全部结点0相同。
[0104] 当然,可以理解的是,根据第一常规结点路径和第二常规结点路径确定的回溯结 点可能为1个或者多个,对此并不限定。在实际应用中可以选择全部或者部分回溯结点来 构造随机结点路径。
[0105] 650、根据所述第一常规结点、所述第二常规结点路径和所述回溯结点,生成随机 结点路径。
[0106] 如上所示,可以将0-1-3-8-5-11-15作为一条随机结点路径,也可以将 0-1-3-2-6-12-15作为一条随机结点路径。
[0107] 660、根据所述随机结点路径,生成随机测试用例。
[0108] 在本实施例中,网页测试服务器根据所述随机结点路径,生成随机测试用例。
[0109] 具体的,网页服务器可以根据所述随机结点路径中的结点队列,基于预设模板添 加结点操作代码,生成随机测试用例。
[0110] 670、获取所述第二常规结点路径作为所述参考结点路径,并获取与所述参考结点 路径对应的常规测试用例的参考网页测试结果。
[0111] 如上所述,针对0-1-3-8-5-11-15的随机结点路径,第二常规结点路径为: 0-1-5-11-15,显然,0-1-3-8-5-11-15对应的随机测试用例的网页测试结果理论上应该与 0-1-5-11-15对应的常规测试用例的网页测试结果相同,也就是说,针对随机测试用例,只 要找到与其网页测试结果理论相同的常规测试用例的网页测试结果即可,无需另行获取。 艮P :上述随机测试用例与第二常规结点路径对应的常规测试用例共用同一份网页测试结 果。
[0112] 680、判断所述随机测试用例的网页测试结果与所述参考网页测试结果是否相一 致:若是,执行690 ;否则,执行6100。
[0113] 690、确定所述随机结点路径通过验证。
[0114] 6100、确定所述结点路径未通过验证。
[0115] 本发明实施例可以使得构造的测试用例不仅能够覆盖用户的常规结点路径,还能 够覆盖用户的随机结点路径,增加了自动化测试的覆盖范围,减小了测试通过后网页中仍 然存在问题的概率;同时,通过根据结点路径中的结点队列自动化生成测试用例的方式,大 大减少了人工投入,极大的提高了测试效率和测试速度;另外,本发明实施例的方法可以适 应于全部Web产品,适用性好,并且越是复杂的Web页面,自动化测试的优化效果越明显。
[0116] 第五实施例
[0117] 图8是本发明第五实施例的一种网页自动化测试方法的流程图。本实施例以上述 实施例为基础进行优化,在本实施例中,优选的在操作使用所述常规测试用例的网页测试 结果对随机测试用例的网页测试结果进行验证之前,优选包括:根据所述结点结构图,获取 一条常规结点路径作为第三常规结点路径,其中,所述常规结点路径中包括:根结点,与常 规点击操作对应的点击结点和尾结点;获取所述第三常规结点路径中一个与常规点击操作 对应的结点作为目标结点;获取所述目标结点的回溯结点;获取包括所述回溯结点的第四 常规结点路径;使用所述第三常规结点路径中从所述根结点至所述目标结点的结点部分和 所述第四常规结点路径中从所述回溯结点至所述尾结点的结点部分,生成随机结点路径; 根据所述随机结点路径,生成随机测试用例;相应的,优选的将操作获取与所述随机结点路 径相符合的常规结点路径,作为参考结点路径具体优化为:获取所述第四常规结点路径作 为所述参考结点路径。
[0118] 相应的,本实施例的方法具体包括如下操作:
[0119] 810、生成与待测试网页中可点元素对应的结点结构图。
[0120] 820、根据所述结点结构图,生成常规测试用例,并基于所述常规测试用例进行网 页测试。
[0121] 830、根据所述结点结构图,获取一条常规结点路径作为第三常规结点路径,其中, 所述常规结点路径中包括:根结点,与常规点击操作对应的点击结点和尾结点。
[0122] 在本实施例中,网页测试服务器根据所述结点结构图,获取一条常规结点路径作 为第三常规结点路径。
[0123] 在本实施例中,常规结点路径进一步细分为:根结点,与常规点击操作对应的点击 结点和尾结点。
[0124] 其中,根结点为一虚结点,不具有实际意义,仅用于表示一个开始结点;尾结点代 表用户完成对待测试网页中各个控件的设置,触发执行对应的网页功能的结点,其与触发 网页功能对应的控件(例如,图3所示的"立即支付"按钮控件)相对应;与常规点击操作 对应的点击结点表示:除去根结点和尾结点之外,与用户常规点击操作对应的结点队列。
[0125] 举例而言,如图对于一条常规结点路径0-1-3-8-15来说,0号结点为根结点,1号 结点、3号结点、8号结点为与常规点击操作对应的点击结点,15号结点为尾结点。
[0126] 840、获取所述第三常规结点路径中一个与常规点击操作对应的结点作为目标结 点。
[0127] 如上所述,如果第三常规结点路径为:0-1-3-8_15,可以选择,1号结点、3号结点 或者8号结点作为目标结点,对此并不限定。
[0128] 850、获取所述目标结点的回溯结点。
[0129] 在本实施例中,目标结点的回溯结点为在目标结点所在分层之上的,与目标结点 彼此可见的兄弟结点,换句话说,当用户点击与目标结点对应的控件之后,可以在相应的展 现页面中能够进行回溯点击操作的所有控件所对应的结点,皆为目标结点的兄弟结点。
[0130] 如前所述,如果设定8号结点作为目标结点,则,可以选择2号结点、4号结点、6号 结点或者7号结点作为8号结点的回溯结点。
[0131] 860、获取包括所述回溯结点的第四常规结点路径。
[0132] 在本实施例中,网页测试服务器可以选择任意一条或者多条包括所述回溯结点的 常规结点路径作为第四常规结点路径。
[0133] 如前所述,如果选择6号结点作为回溯结点,可以选择0-2-6-12-15作为第四常规 结点路径等。
[0134] 870、使用所述第三常规结点路径中从所述根结点至所述目标结点的结点部分和 所述第四常规结点路径中从所述回溯结点至所述尾结点的结点部分,生成随机结点路径。
[0135] 如上所述,第三常规结点路径为:0-1-3-8_15,目标结点为8号结点,回溯结点为6 号结点,第四常规结点路径为:〇-2-6-12-15。
[0136] 所述第三常规结点路径中从所述根结点至所述目标结点的结点部分为:0-1-3-8 ; 所述第四常规结点路径中从所述回溯结点至所述尾结点的结点部分为:6-12-15,因此,生 成的随机结点路径为=0-1-3-8-6-12-15。
[0137] 880、根据所述随机结点路径,生成随机测试用例
[0138] 890、获取所述第四常规结点路径作为所述参考结点路径,并获取与所述参考结点 路径对应的常规测试用例的参考网页测试结果。
[0139] 8100、判断所述随机测试用例的网页测试结果与所述参考网页测试结果是否相一 致:若是,执行8110 ;否则,执行8120。
[0140] 8110、确定所述随机结点路径通过验证。
[0141] 8120、确定所述结点路径未通过验证。
[0142] 本发明实施例可以使得构造的测试用例不仅能够覆盖用户的常规结点路径,还能 够覆盖用户的随机结点路径,增加了自动化测试的覆盖范围,减小了测试通过后网页中仍 然存在问题的概率;同时,通过根据结点路径中的结点队列自动化生成测试用例的方式,大 大减少了人工投入,极大的提高了测试效率和测试速度;另外,本发明实施例的方法可以适 应于全部Web产品,适用性好,并且越是复杂的Web页面,自动化测试的优化效果越明显。
[0143] 第六实施例
[0144] 图9是本发明第五实施例的一种网页自动化测试方法的流程图。本实施例以上述 实施例为基础进行优化,在本实施例中,优选的将操作采用所述常规测试用例的网页测试 结果对其他测试用例的网页测试结果进行验证优化为:获取常规测试用例对应的常规结点 路径作为基准路径;获取与所述基准路径对应的常规测试用例的网页测试结果,作为基准 测试结果;获取与所述基准路径具有预定路径差异值的待验证路径;获取与所述待验证路 径对应的常规测试用例的网页测试结果,作为待验证测试结果;如果所述待验证测试结果 与所述基准测试结果的参数差异值与所述预定的路径差异值相等,确定所述待验证路径通 过验证。
[0145] 相应的,本实施例的方法具体包括如下操作:
[0146] 910、生成与待测试网页中可点元素对应的结点结构图。
[0147] 920、根据所述结点结构图,生成常规测试用例,并基于所述常规测试用例进行网 页测试。
[0148] 930、获取常规测试用例对应的常规结点路径作为基准路径。
[0149] 在本实施例中,网页测试服务器获取与常规测试用例对应的常规结点路径作为基 准路径。
[0150] 其中,网页测试服务器可以根据实际需要随机或者按照预定的标准选择一条或者 多条常规结点路径作为基准路径。
[0151] 940、获取与所述基准路径对应的常规测试用例的网页测试结果,作为基准测试结 果。
[0152] 在本实施例中,网页测试服务器可以直接假定与所述基准路径对应的常规测试用 例的网页测试结果符合预期,并直接将上述网页测试结果作为基准测试结果;也可以首先 验证上述网页测试结果是否与理想的预期结果相符合,若符合,则将上述网页测试结果作 为基准测试结果。
[0153] 950、获取与所述基准路径具有预定路径差异值的待验证路径。
[0154] 在本实施例中,网页测试服务器获取与所述基准路径具有预定路径差异值的待验 证路径。
[0155] 其中,路径差异值具体是指两个常规结点路径之间的结点差异值。
[0156] 举例而目,对于路径0-1-3-8_15和路径〇-1_4-9_15来说,这两条路径之间具有两 个结点的对应位置(3和4,8和9)有差异,因此,这两条路径的路径差异值为2。
[0157] 960、获取与所述待验证路径对应的常规测试用例的网页测试结果,作为待验证测 试结果。
[0158] 970判断所述待验证测试结果与所述基准测试结果的参数差异值是否与所述预定 的路径差异值相等:若是,执行980 ;否则,执行990。
[0159] 可以理解的是,两条常规结点路径的路径差异值,是与最终的网页测试结果中的 参数差异值相对应的。
[0160] 例如,用户在进行常规点击操作时,两个不同的常规点击操作仅具有选择"6个月" 和选择" 12个月"的不同,则与这两个常规点击操作对应的常规结点路径的路径差异值为 1,并且最终根据这两个常规结点路径生成的常规测试用例进行网页测试后,理论上,两者 的参数差异值也为1,一个是"6个月",另一个是" 12个月"。
[0161] 980、确定所述待验证路径通过验证。
[0162] 990、确定所述待验证路径未通过验证。
[0163] 本发明实施例在实际对各个常规测试用例的网页测试结果进行验证时,无需首先 设定全部常规测试用例对应的理论网页测试结果,仅需要通过这种互相参照验证的方法, 来实现对全部常规测试用例的网页测试结果进行验证,这样设置提高了网页自动化测试效 率,缩小了实际的测试结果的验证时间。
[0164] 第七实施例
[0165] 在图10中示出了本发明第七实施例的一种网页自动化测试装置的结构图。如图 10所示,所述装置包括:
[0166] 结点结构图生成单元101,用于生成与待测试网页中可点元素对应的结点结构图。
[0167] 常规测试用例的网页测试单元102,用于根据所述结点结构图,生成常规测试用 例,并基于所述常规测试用例进行网页测试。
[0168] 本发明实施例通过生成与待测试网页中可点元素对应的结点结构图;根据所述结 点结构图,生成常规测试用例,并对所述常规测试用例进行网页测试的技术手段,解决了使 用现有的自动化测试方案时,用户可点路径非常多,书写自动化测试用例,相比较程序自动 生成来说,效率非常低的技术问题,优化了现有的网页自动化测试技术,满足人们日益增长 的个性化、便捷化的自动化测试需求。
[0169] 在上述各实施例的基础上,所述网页测试单元具体可以用于:
[0170] 根据所述结点结构图,生成常规结点路径,其中,所述常规结点路径中包括与常规 点击操作对应的结点队列;根据所述常规结点路径中的结点队列,基于预设模板添加结点 操作代码,生成常规测试用例;计算所述常规测试用例的网页测试结果。
[0171] 在上述各实施例的基础上,还可以包括:其他测试用例的网页测试单元,用于在基 于所述常规测试用例进行网页测试之后,采用所述常规测试用例的网页测试结果对其他测 试用例的网页测试结果进行验证。
[0172] 在上述各实施例的基础上,所述其他测试用例的网页测试单元具体可以用于:
[0173] 使用所述常规测试用例的网页测试结果对随机测试用例的网页测试结果进行验 证,其中,所述随机测试用例对应的随机结点路径中包括与回溯点击操作对应的点击结点 队列。
[0174] 在上述各实施例的基础上,所述其他测试用例的网页测试单元具体可以包括:
[0175] 参考网页测试结果获取子单元,用于获取与所述随机结点路径相符合的常规结点 路径,作为参考结点路径,并获取与所述参考结点路径对应的常规测试用例的参考网页测 试结果;随机结点路径验证子单元,用于如果所述随机测试用例的网页测试结果与所述参 考网页测试结果相一致,确定所述随机结点路径通过验证。
[0176] 在上述各实施例的基础上,还可以包括:
[0177] 随机测试用例生成子单元:用于在使用所述常规测试用例的网页测试结果对随机 测试用例的网页测试结果进行验证之前,根据所述结点结构图,获取一条常规结点路径作 为第三常规结点路径,其中,所述常规结点路径中包括:根结点,与常规点击操作对应的点 击结点和尾结点;获取所述第三常规结点路径中一个与常规点击操作对应的结点作为目标 结点;获取所述目标结点的回溯结点;获取包括所述回溯结点的第四常规结点路径;使用 所述第三常规结点路径中从所述根结点至所述目标结点的结点部分和所述第四常规结点 路径中从所述回溯结点至所述尾结点的结点部分,生成随机结点路径;根据所述随机结点 路径,生成随机测试用例;
[0178] 相应地,所述参考网页测试结果获取子单元具体用于:获取所述第四常规结点路 径作为所述参考结点路径。
[0179] 本发明实施例所提供的网页自动化测试装置可用于执行本发明任意实施例提供 的网页自动化测试方法,具备相应的功能模块,实现相同的有益效果。
[0180] 显然,本领域技术人员应该明白,上述的本发明的各模块或各步骤可以通过如上 所述的服务器实施。可选地,本发明实施例可以用计算机装置可执行的程序来实现,从而可 以将它们存储在存储装置中由处理器来执行,所述的程序可以存储于一种计算机可读存储 介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等;或者将它们分别制作成各 个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样, 本发明不限制于任何特定的硬件和软件的结合。
[0181] 以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员 而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同 替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1. 一种网页自动化测试方法,其特征在于,包括: 生成与待测试网页中可点元素对应的结点结构图; 根据所述结点结构图,生成常规测试用例,并基于所述常规测试用例进行网页测试。
2. 根据权利要求1所述的方法,其特征在于,根据所述结点结构图,生成常规测试用 例,并基于所述常规测试用例进行网页测试包括: 根据所述结点结构图,生成常规结点路径,其中,所述常规结点路径中包括与常规点击 操作对应的结点队列; 根据所述常规结点路径中的结点队列,基于预设模板添加结点操作代码,生成常规测 试用例; 获取所述常规测试用例的网页测试结果。
3. 根据权利要求1所述的方法,其特征在于,在基于所述常规测试用例进行网页测试 之后,还包括: 采用所述常规测试用例的网页测试结果对其他测试用例的网页测试结果进行验证。
4. 根据权利要求3所述的方法,其特征在于,采用所述常规测试用例的网页测试结果 对其他测试用例的网页测试结果进行验证包括: 使用所述常规测试用例的网页测试结果对随机测试用例的网页测试结果进行验证,其 中,所述随机测试用例对应的随机结点路径中包括与回溯点击操作对应的点击结点队列。
5. 根据权利要求4所述的方法,其特征在于,使用所述常规测试用例的网页测试结果 对所述随机测试用例的网页测试结果进行验证包括: 获取与所述随机结点路径相符合的常规结点路径,作为参考结点路径,并获取与所述 参考结点路径对应的常规测试用例的参考网页测试结果; 如果所述随机测试用例的网页测试结果与所述参考网页测试结果相一致,确定所述随 机结点路径通过验证。
6. 根据权利要求5所述的方法,其特征在于,使用所述常规测试用例的网页测试结果 对随机测试用例的网页测试结果进行验证之前,还包括: 根据所述结点结构图,获取满足预定回溯步长的第一常规结点路径和第二常规结点路 径; 根据所述第一常规结点路径和所述第二常规结点路径,确定回溯结点,以实现所述第 一常规结点路径中的结点通过所述回溯结点能够到达所述第二常规结点路径中的结点,且 保证位于所述第一常规结点路径中与所述回溯结点同一层次的同层结点之上的全部结点 与位于所述第二常规结点路径中所述回溯结点之上的全部结点相同; 根据所述第一常规结点、所述第二常规结点路径和所述回溯结点,生成随机结点路 径; 根据所述随机结点路径,生成随机测试用例; 相应地,获取与所述随机结点路径相符合的常规结点路径,作为参考结点路径包括: 获取所述第二常规结点路径作为所述参考结点路径。
7. 根据权利要求5所述的方法,其特征在于,使用所述常规测试用例的网页测试结果 对随机测试用例的网页测试结果进行验证之前,还包括: 根据所述结点结构图,获取一条常规结点路径作为第三常规结点路径,其中,所述常规 结点路径中包括:根结点,与常规点击操作对应的点击结点和尾结点; 获取所述第三常规结点路径中一个与常规点击操作对应的结点作为目标结点; 获取所述目标结点的回溯结点; 获取包括所述回溯结点的第四常规结点路径; 使用所述第三常规结点路径中从所述根结点至所述目标结点的结点部分和所述第四 常规结点路径中从所述回溯结点至所述尾结点的结点部分,生成随机结点路径; 根据所述随机结点路径,生成随机测试用例; 相应的,获取与所述随机结点路径相符合的常规结点路径,作为参考结点路径具体包 括: 获取所述第四常规结点路径作为所述参考结点路径。
8. 根据权利要求3所述的方法,其特征在于,采用所述常规测试用例的网页测试结果 对其他测试用例的网页测试结果进行验证包括: 获取常规测试用例对应的常规结点路径作为基准路径; 获取与所述基准路径对应的常规测试用例的网页测试结果,作为基准测试结果; 获取与所述基准路径具有预定路径差异值的待验证路径; 获取与所述待验证路径对应的常规测试用例的网页测试结果,作为待验证测试结果; 如果所述待验证测试结果与所述基准测试结果的参数差异值与所述预定的路径差异 值相等,确定所述待验证路径通过验证。
9. 根据权利要求1所述的方法,其特征在于,生成与待测试网页中可点元素对应的结 点结构图包括: 根据所述待测试网页中的可点元素,生成逻辑结点; 根据所述逻辑结点的结点属性,对所述逻辑结点进行分层排列; 根据所述逻辑结点间的关联关系,对分层排列后的所述逻辑结点进行连线,生成结点 结构图。
10. -种网页自动化测试装置,其特征在于,包括: 结点结构图生成单元,用于生成与待测试网页中可点元素对应的结点结构图; 常规测试用例的网页测试单元,用于根据所述结点结构图,生成常规测试用例,并基于 所述常规测试用例进行网页测试。
11. 根据权利要求10所述的装置,其特征在于,所述网页测试单元具体用于: 根据所述结点结构图,生成常规结点路径,其中,所述常规结点路径中包括与常规点击 操作对应的结点队列; 根据所述常规结点路径中的结点队列,基于预设模板添加结点操作代码,生成常规测 试用例; 计算所述常规测试用例的网页测试结果。
12. 根据权利要求10所述的装置,其特征在于,还包括:其他测试用例的网页测试单 元,用于在基于所述常规测试用例进行网页测试之后,采用所述常规测试用例的网页测试 结果对其他测试用例的网页测试结果进行验证。
13. 根据权利要求12所述的装置,其特征在于,所述其他测试用例的网页测试单元具 体用于: 使用所述常规测试用例的网页测试结果对随机测试用例的网页测试结果进行验证,其 中,所述随机测试用例对应的随机结点路径中包括与回溯点击操作对应的点击结点队列。
14. 根据权利要求13所述的装置,其特征在于,所述其他测试用例的网页测试单元具 体包括: 参考网页测试结果获取子单元,用于获取与所述随机结点路径相符合的常规结点路 径,作为参考结点路径,并获取与所述参考结点路径对应的常规测试用例的参考网页测试 结果; 随机结点路径验证子单元,用于如果所述随机测试用例的网页测试结果与所述参考网 页测试结果相一致,确定所述随机结点路径通过验证。
15. 根据权利要求14所述的装置,其特征在于,还包括: 随机测试用例生成子单元:用于在使用所述常规测试用例的网页测试结果对随机测试 用例的网页测试结果进行验证之前,根据所述结点结构图,获取一条常规结点路径作为第 三常规结点路径,其中,所述常规结点路径中包括:根结点,与常规点击操作对应的点击结 点和尾结点; 获取所述第三常规结点路径中一个与常规点击操作对应的结点作为目标结点; 获取所述目标结点的回溯结点; 获取包括所述回溯结点的第四常规结点路径; 使用所述第三常规结点路径中从所述根结点至所述目标结点的结点部分和所述第四 常规结点路径中从所述回溯结点至所述尾结点的结点部分,生成随机结点路径; 根据所述随机结点路径,生成随机测试用例; 相应地,所述参考网页测试结果获取子单元具体用于: 获取所述第四常规结点路径作为所述参考结点路径。
【文档编号】G06F11/36GK104090844SQ201410344548
【公开日】2014年10月8日 申请日期:2014年7月18日 优先权日:2014年7月18日
【发明者】宋书青, 赵辉 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1