首页> 中国专利> 网页WEB探索测试装置及方法

网页WEB探索测试装置及方法

摘要

本发明公开了一种网页WEB探索测试装置及方法,其中装置包括:对外服务装置,用于提供探测起点和最大探测深度;在接收到启动指令后,启动调度执行装置;调度执行装置,用于获取探测起点和最大探测深度;根据探测起点和最大探测深度执行探测调度;数据分析装置,用于获取调度执行装置执行探测调度的结果,判断结果的正确性,并分析生成下一层待探测内容;当分析过程中发现表单信息时,调用表单数据生成装置;表单数据生成装置,用于根据表单信息完成表单数据造数。采用本发明可以高效、实施简单地基于WEB进行自动化探索性测试。

著录项

  • 公开/公告号CN103955425A

    专利类型发明专利

  • 公开/公告日2014-07-30

    原文格式PDF

  • 申请/专利权人 中国工商银行股份有限公司;

    申请/专利号CN201410153210.4

  • 发明设计人 张家宇;金雄伟;方凯;李冬冬;

    申请日2014-04-16

  • 分类号G06F11/36;

  • 代理机构北京三友知识产权代理有限公司;

  • 代理人王天尧

  • 地址 100140 北京市西城区复兴门内大街55号

  • 入库时间 2023-12-17 00:30:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-15

    授权

    授权

  • 2014-08-27

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20140416

    实质审查的生效

  • 2014-07-30

    公开

    公开

说明书

技术领域

本发明涉及计算机软件测试技术领域,尤其涉及WEB(网页)探索测试装置及方法。

背景技术

在软件系统的研发过程中,基于WEB的系统开发规模越来越庞大,数量越来越多, 页面间的链接跳转、表单信息、图片等资源加载越来越多。表单、链接跳转、资源加载等 测试内容在系统测试阶段非常重要,如果存在问题,很可能衍生为系统测试的瓶颈,故在 系统测试前期保证表单、连接跳转、资源加载等功能正常对测试而言意义重大。为了保证 系统测试环境的可测性,目前在许多项目的系统测试前期,测试人员通过在系统测试环境 手工执行通过性案例,检查系统的可测性。

目前许多项目的系统测试前期,为保证系统测试环境的可测性,一般采用人工测试技 术。现有技术在测试过程中需要经过以下几步:首先,测试人员编写系统通过性案例;其 次,测试人员按照通过性案例手工执行测试操作;最后,若发现瓶颈问题,则要求开发人 员优先修改,对于不影响测试的页面和模块再深入展开测试。

从现有手工测试技术的案例准备来看,现有技术依赖人工设计通过性案例,案例设计 效率低下;从现有技术的测试执行来看,现有技术依赖人工按照已有的通过性案例进行测 试执行,执行效率低下;从现有技术的测试广泛性来看,现有技术仅针对通过性案例进行 测试执行,无法做到自动探索,测试范围较窄;从现有技术的测试深度来看,现有技术对 FORM(在VB编程中,Form对象是窗口、或者对话框,它组成应用程序用户界面的一部 分)表单的测试,由于输入域之间的组合情况繁多,手工方式很难覆盖所有组合情况,测 试深度较浅;从现有技术对系统及环境的依赖来看,若测试环境系统发生变更或研发新系 统,现有技术依赖人工重新设计案例,并再次手工执行,适应性很差。

发明内容

本发明实施例提供一种WEB探索测试装置,用以基于WEB进行简单高效的自动化探 索性测试,该WEB探索测试装置包括:

对外服务装置,用于提供探测起点和最大探测深度;在接收到启动指令后,启动调度 执行装置;

调度执行装置,用于获取探测起点和最大探测深度;根据探测起点和最大探测深度执 行探测调度;

数据分析装置,用于获取调度执行装置执行探测调度的结果,判断结果的正确性,并 分析生成下一层待探测内容;当分析过程中发现表单信息时,调用表单数据生成装置;

表单数据生成装置,用于根据表单信息完成表单数据造数。

一个实施例中,所述对外服务装置包括:

参数设置及探测启动单元,用于接收设置了探测起点和最大探测深度的启动指令,初 始化全局变量最大探测深度,初始化全局变量启动标志为真,调用调度执行装置。

一个实施例中,所述对外服务装置具体用于提供探测起点为被测系统待测试的页面的 URL(Uniform Resoure Locator,统一资源定位符)。

一个实施例中,所述对外服务装置还包括:

停止探测单元,用于接收停止指令,设置启动标志为假;

所述调度执行装置还用于:在判断已达到最大探测深度或是启动标志为假后,停止探 测。

一个实施例中,所述对外服务装置还包括:

探测结果报表服务单元,用于在探测结束后,对外提供探测结果报表服务。

一个实施例中,所述对外服务装置还包括:

判断规则定义单元,用于提供自动判断规则;

所述数据分析装置具体用于:在获取调度执行装置执行探测调度的结果后,根据自动 判断规则判断结果的正确性。

一个实施例中,所述的WEB探索测试装置还包括:

存储装置,用于存储对外服务装置、调度执行装置、数据分析装置和表单数据生成装 置的交互信息。

一个实施例中,所述存储装置包括:

URL基本信息存储单元,用于存储探测起点和最大探测深度;

URL扩展信息存储单元,用于存储调度执行装置执行探测调度的结果;

表单字段基础信息存储单元,用于存储表单信息;

表单字段数据组合信息存储单元,用于存储表单数据造数结果。

一个实施例中,所述存储装置还包括:

判断规则存储单元,用于存储数据分析装置判断结果的正确性所依据的自动判断规 则。

一个实施例中,所述存储装置还包括:

表单单字段数据信息存储单元,用于存储表单数据造数过程中生成的单字段数据;

所述表单字段数据组合信息存储单元具体用于:存储表单数据造数过程中对单字段数 据组合后形成的表单组合数据。

一个实施例中,所述调度执行装置包括:

探测数据读取单元,用于读取探测起点和最大探测深度,提供探测数据;

调度数据生成单元,用于将探测数据处理为HTTP(Hyper Text Transfer Protocol,超 文本传输协议)协议形式;

执行单元,用于将HTTP协议形式的探测数据生成HTTP报文发送给被测系统,并接 收被测系统的响应信息。

一个实施例中,所述数据分析装置包括:

响应信息读取单元,用于读取调度执行装置执行探测调度的被测系统返回的响应信 息;

响应信息分析单元,用于分析被测系统响应信息的正确性;

响应信息解析单元,用于对被测系统响应信息进行解析,生成下一层待探测内容;当 解析过程中发现表单信息时,调用表单数据生成装置。

一个实施例中,所述表单数据生成装置包括:

模型数据初始化单元,用于读取配置文件中的模型数据,将模型数据初始化至输入域 自动化造数装置;

表单字段基础信息读取单元,用于读取未造数的表单字段信息并传入输入域自动化造 数装置;

表单单字段数据生成单元,用于获得输入域自动化造数装置生成的表单单字段数据信 息;

表单字段组合数据生成单元,用于根据表单单字段数据信息生成字段数据组合信息;

所述输入域自动化造数装置用于根据模型数据和未造数的表单字段信息完成自动化 造数,生成表单单字段数据信息。

本发明实施例还提供一种WEB探索测试方法,用以基于WEB进行简单高效的自动化 探索性测试,该WEB探索测试方法包括:

提供探测起点和最大探测深度,在接收到启动指令后,启动探测;

根据探测起点和最大探测深度执行探测调度;

获取执行探测调度的结果,判断结果的正确性,并分析生成下一层待探测内容;当分 析过程中发现表单信息时,根据表单信息完成表单数据造数。

一个实施例中,所述提供探测起点和最大探测深度,在接收到启动指令后,启动探测, 包括:

接收设置了探测起点和最大探测深度的启动指令,初始化全局变量最大探测深度,初 始化全局变量启动标志为真,启动探测。

一个实施例中,所述探测起点为被测系统待测试的页面的URL。

一个实施例中,所述的WEB探索测试方法还包括:

接收停止指令,设置启动标志为假;

在判断已达到最大探测深度或是启动标志为假后,停止探测。

一个实施例中,所述的WEB探索测试方法还包括:

在探测结束后,对外提供探测结果报表服务。

一个实施例中,所述获取执行探测调度的结果,判断结果的正确性,包括:

在获取调度执行装置执行探测调度的结果后,根据自动判断规则判断结果的正确性。

一个实施例中,所述的WEB探索测试方法还包括:

存储对外服务装置、调度执行装置、数据分析装置和表单数据生成装置的交互信息。

一个实施例中,所述存储对外服务装置、调度执行装置、数据分析装置和表单数据生 成装置的交互信息,包括:

存储探测起点和最大探测深度;

存储调度执行装置执行探测调度的结果;

存储表单信息;

存储表单数据造数结果。

一个实施例中,所述存储对外服务装置、调度执行装置、数据分析装置和表单数据生 成装置的交互信息,还包括:

存储判断结果的正确性所依据的自动判断规则。

一个实施例中,所述存储对外服务装置、调度执行装置、数据分析装置和表单数据生 成装置的交互信息,还包括:

存储表单数据造数过程中生成的单字段数据;

所述存储表单数据造数结果,包括:存储表单数据造数过程中对单字段数据组合后形 成的表单组合数据。

一个实施例中,所述根据探测起点和最大探测深度执行探测调度,包括:

读取探测起点和最大探测深度,提供探测数据;

将探测数据处理为HTTP协议形式;

将HTTP协议形式的探测数据生成HTTP报文发送给被测系统,并接收被测系统的响 应信息。

一个实施例中,所述获取执行探测调度的结果,判断结果的正确性,并分析生成下一 层待探测内容;当分析过程中发现表单信息时,根据表单信息完成表单数据造数,包括:

读取执行探测调度的被测系统返回的响应信息;

分析被测系统响应信息的正确性;

对被测系统响应信息进行解析,生成下一层待探测内容;当解析过程中发现表单信息 时,根据表单信息完成表单数据造数。

一个实施例中,所述根据表单信息完成表单数据造数,包括:

读取配置文件中的模型数据,将模型数据初始化;

读取未造数的表单字段信息;

根据模型数据和未造数的表单字段信息完成自动化造数,生成表单单字段数据信息;

根据表单单字段数据信息生成字段数据组合信息。

本发明实施例克服现有技术在系统测试前期为保证系统地可测性依赖人工主导案例 设计及测试执行的缺点,提供一种高效,实施简单,能够基于WEB进行自动化探索性测 试的WEB探索测试装置及方法,通过页面分析自动探索,减少了对人工设计案例及案例 执行的依赖,提高了案例执行效率;且自动探测可拓宽页面测试的范围;通过表单数据自 动化生成,减少了对表单数据准备的依赖;通用执行探测调度结果的自动化判断,降低了 结果判定的人工介入,提高了效率。

进一步的,在实施例中还通过表单字段数据自动组合,提高了测试的全面性;还通过 结果的对外报表服务,减少了结果收集的人工接入,提高了效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。在附图中:

图1为本发明实施例中WEB探索测试装置的结构示意图;

图2为本发明实施例中对外服务装置的结构示意图;

图3为本发明实施例中存储装置的结构示意图;

图4为本发明实施例中调度执行装置的结构示意图;

图5为本发明实施例中数据分析装置的结构示意图;

图6为本发明实施例中表单数据生成装置的结构示意图;

图7为本发明实施例中WEB探索测试装置进行自动化探索性测试的一具体实例的流 程图;

图8为本发明实施例中WEB探索测试方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实 施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不 作为对本发明的限定。

为了解决现有技术在WEB系统测试前期,案例设计效率较低、执行效率低下、测试 范围较窄、测试深度较低、适应性较差等问题,本发明实施例提供一种WEB探索测试装 置,实现对WEB自动探索测试。

图1为本发明实施例中WEB探索测试装置的结构示意图。如图1所示,本发明实施 例中WEB探索测试装置可以包括:

对外服务装置1,用于提供探测起点和最大探测深度;在接收到启动指令后,启动调 度执行装置3;

调度执行装置3,用于获取探测起点和最大探测深度;根据探测起点和最大探测深度 执行探测调度;

数据分析装置4,用于获取调度执行装置3执行探测调度的结果,判断结果的正确性, 并分析生成下一层待探测内容;当分析过程中发现表单信息时,调用表单数据生成装置5;

表单数据生成装置5,用于根据表单信息完成表单数据造数。

具体实施时,探测起点可以是被测系统待测试的页面起点,通常为该页面的URL。最 大探测深度可以是通过探测起点逐层向下探测的最大深度。

具体实施时,对外服务装置可以接收设置了探测起点和最大探测深度的启动指令,初 始化全局变量最大探测深度,初始化全局变量启动标志为真,调用调度执行装置。对外服 务装置还可以接收停止指令,设置启动标志为假;后续调度执行装置可以在判断已达到最 大探测深度或是启动标志为假后,停止探测。对外服务装置还可以在探测结束后,对外提 供探测结果报表服务。对外服务装置还可以提供自动判断规则;后续数据分析装置可以在 获取调度执行装置执行探测调度的结果后,根据自动判断规则判断结果的正确性。

如图1所示,本发明实施例中WEB探索测试装置还可以包括:

存储装置2,用于存储对外服务装置1、调度执行装置3、数据分析装置4和表单数据 生成装置5的交互信息。

具体实施时,存储装置可以存储探测起点和最大探测深度;存储调度执行装置执行探 测调度的结果;存储表单信息;存储表单数据造数结果。存储装置还可以存储数据分析装 置判断结果的正确性所依据的自动判断规则。存储装置还可以存储表单数据造数过程中生 成的单字段数据;存储的表单数据造数结果可以是表单数据造数过程中对单字段数据组合 后形成的表单组合数据。

具体实施时,调度执行装置可以读取探测起点和最大探测深度,提供探测数据;将探 测数据处理为HTTP协议形式;将HTTP协议形式的探测数据生成HTTP报文发送给被测 系统,并接收被测系统的响应信息。其中响应信息为通过HTTP协议访问服务器后,服务 器返回的应答信息。

具体实施时,数据分析装置可以读取调度执行装置执行探测调度的被测系统返回的响 应信息;分析被测系统响应信息的正确性;对被测系统响应信息进行解析,生成下一层待 探测内容;当解析过程中发现表单信息时,调用表单数据生成装置。

具体实施时,表单数据生成装置可以读取配置文件中的模型数据,将模型数据初始化 至输入域自动化造数装置;读取未造数的表单字段信息并传入输入域自动化造数装置;获 得输入域自动化造数装置生成的表单单字段数据信息;根据表单单字段数据信息生成字段 数据组合信息;其中的输入域自动化造数装置用于根据模型数据和未造数的表单字段信息 完成自动化造数,生成表单单字段数据信息。

下面举一例说明本发明实施例中WEB探索测试装置执行探测的具体过程。

在本例中仍以图1结构来说明,实施时对外服务装置1接收外部传入的探测起点、最 大探测深度及启动指令,将探测起点、最大探测深度存储至存储装置2,启动调度执行装 置3;调度执行装置3与存储装置2交互,获取探测起点和探测深度后,执行探测调度(以 HTTP协议方式主动访问被测系统服务器);数据分析装置4获取调度执行装置3访问被 测服务器的返回结果,根据服务器响应信息自动判断响应的正确性,并分析生成下一层待 探测内容,将判断结果和下一层待探测内容存储于存储装置2;当数据分析装置4解析过 程中发现表单信息时,调用表单数据生成装置5完成表单数据造数(表单数据生成装置5 与存储装置2交互,获取表单结构信息,将表单结构信息传入输入域自动化造数装置完成 单字段数据生成,将生成数据存储于存储装置2,并对单字段数据组合后形成表单组合数 据存储于存储装置2);对外服务装置1接收外部传入的结束指令后,设置启动标志为“假”; 启动调度执行装置3判断已达到最大深度或是启动标志为“假”后,停止探测活动;对外 服务装置1对外提供报表服务。

具体的,对外服务装置1,负责对外提供探测起点、最大探测深度的设置和接受启动、 停止指令功能;收到启动指令后,将探测起点存储于存储装置2,初始化全局变量“最大 探测深度”,初始化全局变量“启动标志”为“真”,调度执行装置3从探测起点开始自 动化探测;收到停止指令后,设置全局变量“启动标志”为“假”,调度执行装置3执行 时,判断“启动标志”为假则停止探测;对外提供测试结果自动判断规则设置,自动判断 规则存储于存储装置2,数据分析装置4收到被测系统的响应信息后,检索自动判断规则, 完成响应结果的判断。

存储装置2,负责存储对外服务装置1提供的探测起点信息、自动判断规则信息;提 供URL基础信息、URL扩展信息给对外服务装置1查询;提供URL基础信息、URL扩 展信息、表单字段数据组合信息给调度执行装置3读取;存储数据分析装置4生成的URL 基础信息、URL扩展信息和表单字段基础信息;提供表单字段基础信息给表单数据生成装 置5读取,并存储表单数据生成装置5生成的URL扩展信息、表单字段数据信息和表单 字段数据组合信息。

调度执行装置3,负责读取存储装置2中的待探测内容,自动完成信息拼接通过HTTP 协议访问被测系统完成测试,并调用数据分析装置4处理被测系统的响应信息;调度执行 装置3是整个自动化探索性测试运行的核心调度装置。

数据分析装置4,负责接收被测系统的响应信息,读取存储装置2中的自动判断规则 信息完成响应信息是否正确的判断,并将响应结果和判断结果存储于存储装置2;解析响 应信息,获取响应信息中的链接信息、资源信息、表单结构信息等存储于存储装置2,并 调用表单数据生成装置5完成表单数据的自动化生成。

表单数据生成装置5,负责初始化输入域自动化造数装置的模型数据,读取存储装置 2中的表单字段基础信息提供给输入域自动化造数装置。输入域自动化造数装置完成表单 字段的数据生成,并将表单字段造数结果返回表单数据生成装置5。表单数据生成装置5 将生成的表单字段数据存储于存储装置2,并对表单字段数据进行组合,最终形成表单字 段组合数据存储于存储装置2。

图2为本发明实施例中对外服务装置1的结构示意图。如图2所示,对外服务装置1 可以包括:

参数设置及探测启动单元11,用于接收设置了探测起点和最大探测深度的启动指令, 初始化全局变量最大探测深度,初始化全局变量启动标志为真,调用调度执行装置。例如 可以接收外部设置了探测起点A、最大探测深度B的启动指令,将探测起点A存储至存储 装置2的URL基本信息存储单元21,初始化全局变量最大探测深度TB为B,初始化全局 变量启动标志TS为“真”,调用调度执行装置3开始自动化探测测试。

如图2所示,对外服务装置1还可以包括:停止探测单元12,用于接收停止指令,设 置启动标志TS为“假”,当调度执行装置3执行时,遇到启动标志判断为“假”,则停 止探测。

如图2所示,对外服务装置1还可以包括:探测结果报表服务单元13,用于在自动化 探索性测试结束后,对外提供探测结果报表服务。可以从存储装置2的URL基本信息存 储单元21和URL扩展信息存储单元22中获取探测结果,形成探测结果报表。

如图2所示,对外服务装置1还可以包括:判断规则定义单元14,用于接收自动判断 规则定义信息,并将其存储于存储装置2的判断规则存储单元23。该信息后续用于数据分 析装置3的响应信息分析单元32自动分析判断响应信息的正确性。

图3为本发明实施例中存储装置2的结构示意图。如图3所示,存储装置2可以包括: URL基本信息存储单元21,用于存储探测起点和最大探测深度;URL扩展信息存储单元 22,用于存储调度执行装置执行探测调度的结果;表单字段基础信息存储单元24,用于存 储表单信息;表单字段数据组合信息存储单元26,用于存储表单数据造数结果。

如图3所示,存储装置2还可以包括判断规则存储单元23,用于存储数据分析装置判 断结果的正确性所依据的自动判断规则。存储装置2还可以包括表单单字段数据信息存储 单元25,用于存储表单数据造数过程中生成的单字段数据;表单字段数据组合信息存储单 元26具体可以用于存储表单数据造数过程中对单字段数据组合后形成的表单组合数据。

存储装置2与其他装置的交互关系例如包括如下几个阶段:

对外服务装置1接收探测起点存储于存储装置21;对外服务装置2接收判断规则存储 于判断规则存储单元23。

调度执行装置3访问URL基本信息存储单元21、URL扩展信息存储单元22和表单 字段数据组合信息存储单元26,获取调用地址和相关数据信息,用于自动生成访问被测系 统地HTTP报文,并使用该报文对被测系统自动测试。

数据分析装置4接收被测系统的响应信息后,访问判断规则存储单元23,获取相对当 前响应信息优先级最高的判断规则,使用获取到的判断规则自动判断响应信息是否正确, 并将判断结果、响应信息存储于URL基本信息存储单元21和URL扩展信息存储单元22。 数据分析装置4解析响应信息,将解析后的图片等资源信息、链接信息、表单信息存储于 URL基本信息存储单元21和表单字段基础信息存储单元24。

表单数据生成装置5从表单字段基础信息存储单元24中读取表单基础信息,输入域 自动化造数装置读取表单数据生成装置5读入的表单基础信息,完成单字段的数据生成, 并将生成表单字段数据信息存储于表单单字段数据信息存储单元25;表单数据生成装置5 再关联表单字段基础信息存储单元24与表单单字段数据信息存储单元25生成表单字段数 据组合信息存储于表单字段数据组合信息存储单元26,并将组合数据与URL的对应关系 存储于URL扩展信息存储单元22。

下面分别举例介绍存储装置2中的各个存储单元。

URL基本信息存储单元21,具体可以用于存储待探测的URL信息,该信息可以包含 URL序号、URL地址、深度、执行标志、返回码、类型、调用方式、前序URL,其数据 存储的格式如表一的例子所示:

表一

其中,URL序号为该存储单元的主键;URL为探测地址;深度为该探测地址相对于 本次探测起点的深度;执行标志用于标志该探测地址是否已经执行,执行是否异常;返回 码为探测后被测系统反馈的返回码;类型用于标志该探测地址为页面、图片等资源还是表 单,针对不同的类型后续探测报文的生成和返回信息处理略有不同(详见探测数据读取单 元31、执行单元33和响应信息分析单元42);调用方式表明探测被测系统所使用的协议 方法,一般情况下探测被测系统的页面和资源访问使用GET方式,探测被测系统的表单使 用方式则根据上层页面的解析结果而定(详见执行单元33),前序URL为当前探测地址 的前序,如果存在多个前序地址时,使用“||”间隔。

URL扩展信息存储单元22,具体可以用于存储待探测的URL扩展信息,该信息可以 包含URL序号、数据组合序号、响应信息、执行标志、返回码、分析标志,其数据存储 的格式如表二的例子所示:

表二

其中,URL序号外键关联于URL基本信息存储单元21的URL序号字段;数据组合 序号外键关联于表单字段数据组合信息存储单元26的数据组合序号字段,该字段如果探 测地址为页面是为空;响应信息记录了探测该地址被测系统的应答信息,返回码则为被测 系统的返回码;当返回信息数据分析装置4解析生成下一深度的探测地址等信息后,分析 标志置为已分析。

判断规则存储单元23,具体可以用于存储对外服务装置1的自动判断规则,该信息后 续用于数据分析装置3自动判断被测系统响应信息是否正常。该信息至少包含适用范围、 正常异常标志、正则表达式,其数据存储的格式如表三的例子所示:

表三

适用范围 正常异常标志 正则表达式 全部 正常 .+ 所有表单 正常 .+ 所有页面 正常 .+ URL10003 异常 bad

其中,适用范围为判断规则的自动判断范围,数据分析装置3在获取判断规则时,其 获取的优先顺序为:优先获取探测地址对应的判断规则;其次,根据探测地址的类型获取 “所有表单”或是“所有页面”的判断规则(探测地址的类型为表单,则获取“所有表单” 对应的判断规则;探测地址的类型为“页面”,则获取“所有页面”对应的判断规则); 最后,获取范围为“全部”的判断规则。

判断过程中,如果当前获取的规则已经能判断出被测系统响应信息的正确性,则判断 结束;如果仍无法判断,则继续获取优先级较低的规则进行判断,直到能够判断出响应信 息的正确性或已无满足要求的规则结束,此时默认响应信息正确。如果响应信息能正常匹 配判断规则,则判断结果为“正常”或“异常”标志。正则表达式为具体的判断规则,数 据分析装置3获取到该表达式后,先编译该表达式,再用编译结果匹配响应信息,能正确 匹配,则说明该判断规则能正常判断响应信息的正确性。

表单字段基础信息存储单元24,具体可以用于存储数据分析装置解析后的FORM表 单结构信息,该信息可以包含URL序号、字段名、类型、参数,其数据存储的格式如表 四的例子所示:

表四

URL序号 字段名 类型 参数 URL10003 suggestion type 30 URL10003 gender radio male|female

其中,数据分析装置3对响应信息进行解析时,若解析过程中,匹配到FORM表单信 息,则先将FORM表单对应的action、method等信息存储于URL基础信息存储单元21, 再将FORM表单中具体的字段结构信息存储至表单字段基础信息存储单元24,表单字段 基础信息存储单元24在后续处理中由表单数据生成装置5读取,实现字段数据的自动化 生成;若解析过程中匹配到页面链接或资源,则将页面链接或是资源信息存储至URL基 础信息存储单元21。

表单单字段数据信息存储单元25,具体可以用于存储表单数据生成装置生成的字段数 据组合信息,该信息至少包含URL序号、字段名、数据值,其数据存储的格式如表五的 例子所示:

表五

数据组合序号 字段名 数据值 URL10003001 suggestion 1234567890123456789012345678901 URL10003001 gender male URL10003002 suggestion 測試繁體 URL10003002 gender female URL10003003 suggestion □イエガグゴ URL10003003 gender male URL10003004 suggestion abcde URL10003004 gender 非选项

图4为本发明实施例中调度执行装置3的结构示意图,如图4所示,调度执行装置3 可以包括:探测数据读取单元31,用于读取探测起点和最大探测深度,提供探测数据;调 度数据生成单元32,用于将探测数据处理为超文本传输协议HTTP协议形式;执行单元 33,用于将HTTP协议形式的探测数据生成HTTP报文发送给被测系统,并接收被测系统 的响应信息。其中探测数据读取单元31读取探测数据,调度数据生成单元32将读取到的 探测数据组合为HTTP报文,执行单元33发送HTTP报文给被测系统。具体的:

探测数据读取单元31可以判断当前深度是否可继续探测,如果可以继续探测,则从 存储装置2中获取一条未执行记录,将记录传入调度数据生成单元32;如果不能后继探测, 则结束探测活动。其中:未处理记录获取时,先读取URL基本信息存储单元21中的一条 未处理记录,若该记录类型为资源或连接,则直接将该记录对应的URL传入调度数据生 成单元32;若该记录类型为表单,则关联URL扩展信息存储单元22、表单字段数据组合 信息存储单元26获取连接地址和表单数据,以连接地址和表单数据为组,按组方式传入 调度数据生成单元32。

调度数据生成单元32可以接收探测数据读取单元31的传入数据,将调度参数处理为 HTTP协议能接受的形式。目前现有技术能很好的支持调度参数的处理,例如基于python 语言的urllib包,处理参数的代码为:data=urlencode(param),在具体应用过程中参数param 作为字典传入,例如某表单的param为字典:{“suggestion”:”測試繁體”,”gender”,” female”}。

执行单元33可以接收调度数据生成单元32处理后的param参数,根据调用方式不同, 使用不同的方式生成HTTP报文发送给被测系统,并接收被测系统的响应。目前现有技术 能很好的支持HTTP报文的调度执行,例如基于python的urllib2包,如果调用方式为 “GET”,与被测系统交互代码为:response=urlopen(url,data);如果调用方式为“POST”, 与被测系统交互代码为:response=urlopen(url+”?”+data)。

图5为本发明实施例中数据分析装置4的结构示意图,如图5所示,数据分析装置4 可以包括:响应信息读取单元41,用于读取调度执行装置执行探测调度的被测系统返回的 响应信息;响应信息分析单元42,用于分析被测系统响应信息的正确性;响应信息解析单 元43,用于对被测系统响应信息进行解析,生成下一层待探测内容;当解析过程中发现表 单信息时,调用表单数据生成装置。

例如,响应信息读取单元41从执行单元33的变量response中获取被测系统的返回码 和响应信息,并传入响应信息分析单元42,将响应信息传入响应信息解析单元43;响应 信息分析单元42分析返回码是否正常,检查相应信息的正确性,并将分析结果存储于URL 基本信息存储单元21、URL扩展信息存储单元22;响应信息解析单元43接收响应信息读 取单元41传入的响应信息,解析出响应信息中包含的资源、页面链接、FORM表单等信 息存储于URL基本信息存储单元21、URL扩展信息存储单元22和表单字段基础信息存 储单元24。其中:

响应信息读取单元41,负责读取被测系统的返回码和响应信息,将返回码和响应信息 传入响应信息分析单元42,将响应信息传入响应信息解析单元43。返回码和响应信息的 读取可采用现有技术的相关方法,如python语言环境下,可访问执行单元33变量response 的code属性获取返回码,访问变量response的read方法获取响应信息。

响应信息分析单元42,负责接收响应信息读取单元41传入的返回码和响应信息,并 自动判断被测系统的应答的正确性。当返回码不为200时,被测系统应答异常,将返回码 和异常信息存储于URL基本信息存储单元21、URL扩展信息存储单元22;当返回码为 200时,进一步判断响应信息是否正确。响应信息正确性的判断方法为:获取判断规则(判 断规则的获取逻辑参考判断规则存储单元23对应介绍);编译判断规则(编译可使用现 有技术,例如python语法中re模块。使用re.compile方法实现编译);使用判断规则匹 配响应信息(使用re.match方式实现匹配),如果能正常匹配,则给出判断结果。并将执 行结果、返回码、响应信息存储于URL基本信息存储单元21、URL扩展信息存储单元22。

响应信息解析单元43,负责接收响应信息读取单元41传入的响应信息,通过正则解 析,解析出其中的资源、页面链接、FORM表单信息,并将该信息存储于URL基本信息 存储单元21、URL扩展信息存储单元22、表单字段基础信息存储单元24。存储时存储信 息的探测深度为当前探测深度加1,即当前探测内容的下一层探测内容。例如,资源类信 息可通过表达式(background|src)\s*=\s*'.+\.(jpg|gif|js|css)'进行匹配,例中表达式仅以jpg、gif、 js和css几类资源举例,实际匹配过程中资源加载项不限于例中几类,可通过调整正则表 达式增加更多类型的支持。页面链接和FORM表单信息解析方式与资源解析方式类同,均 使用正则表达式方式进行解析。如果响应信息中解析出表单数据,则将表单字段结构信息 存储于单字段基础信息存储单元24,并调用表单数据生成装置5完成表单数据生成。

图6为本发明实施例中表单数据生成装置5的结构示意图,如图6所示,表单数据生 成装置5可以包括:模型数据初始化单元51,用于读取配置文件中的模型数据,将模型数 据初始化至输入域自动化造数装置;表单字段基础信息读取单元52,用于读取未造数的表 单字段信息并传入输入域自动化造数装置;表单单字段数据生成单元53,用于获得输入域 自动化造数装置生成的表单单字段数据信息;表单字段组合数据生成单元54,用于根据表 单单字段数据信息生成字段数据组合信息。其中,输入域自动化造数装置用于根据模型数 据和未造数的表单字段信息完成自动化造数,生成表单单字段数据信息。

例如,装置启动时,读取配置文件中的模型数据,将模型数据初始化至输入域自动化 造数装置。表单字段基础信息读取单元52读取表单字段基础信息存储单元24中未造数的 表单字段信息,将其传入输入域自动化造数装置,输入域自动化造数装置完成自动化造数 后将信息传入表单单字段数据生成单元53,表单单字段数据生成单元53将表单字段数据 信息存储至表单单字段数据信息存储单元25,并调用表单字段组合数据生成单元54对字 段信息进行组合,表单字段组合数据生成单元54读取表单单字段数据信息存储单元25中 的单字段数据信息,组合后形成字段数据组合信息,存储至表单字段数据组合信息存储单 元26,并向URL扩展信息存储单元22添加字段数据组合编号与探测地址的映射关系,以 便后续关联获取表单字段组合数据。其中:

模型数据初始化单元51具体可以用于读取配置文件中的要素构件信息及通用类型构 件信息,并将该信息初始化至输入域自动化造数装置。

表单字段基础信息读取单元52,具体可以用于读取未完成造数的表单字段信息,并将 该信息传入输入域自动化造数装置,输入域自动化造数装置自动完成字段造数,并将造数 结果传入表单单字段数据生成单元53。

表单单字段数据生成单元53,具体可以用于接收输入域自动化造数装置生成的字段数 据,并将生成数据存储于表单单字段数据信息存储单元25,调用表单字段组合数据生成单 元54生成表单字段数据组合信息。

表单字段组合数据生成单元54,具体可以用于接收传入的URL序号,读取URL序号 对应的所有字段及字段数据信息,通过笛卡尔积方式组合字段信息,并将组合结果存储于 表单字段数据组合信息存储单元26。

图7为本发明实施例中WEB探索测试装置进行自动化探索性测试的一具体实例的流 程图,如图7所示,本例中具体步骤可以包括:

步骤101:参数设置及启动探测单元11接收外部传入的最大探测深度,探测起点及启 动指令,设置全局变量“最大探测深度”为传入值,设置全局变量“当前深度”为0,设 置全局变量“启动标志”为“真”,调用模型数据初始化单元51完成输入域自动化造数 装置的要数构件和通用类型构件初始化。启动调度执行装置5开始自动化探索性测试。

步骤102:探测数据读取单元31判断全局变量“开启标志”是否为真,若为真,则执 行步骤103;否则,执行步骤120。

步骤103:探测数据读取单元31判断是否设置了全局变量“最大探测深度”,若存在 设置,则执行步骤104;否则,执行步骤105。

步骤104:探测数据读取单元31判断当前深度是否大于“最大探测深度”,如果大于, 则执行步骤120;否则,执行步骤105。

步骤105:探测数据读取单元31访问URL基本信息存储单元21,查看当前深度是否 存在探测记录,若存在,则执行步骤106;否则执行步骤120。

步骤106:探测数据读取单元31访问URL基本信息存储单元21,查看当前深度是否 存在未探测的记录,若存在,则执行步骤107;否则执行步骤119。

步骤107:探测数据读取单元31读取URL基本信息存储单元21、URL扩展信息存储 单元和表单字段数据组合信息存储单元获取一条待探测信息,并将信息传递给调度数据生 成单元32。执行步骤108。

步骤108:调度数据生成单元32接收探测数据读取单元31传入的信息,将参数处理 为HTTP可接收的形式,并调用执行单元33。执行步骤109.

步骤109:执行单元33接收调度数据生成单元32传入的URL地址、调用方法、参数, 根据调用方法的不同以不同的方式访问被测系统,获取被测系统响应。执行110。

步骤110:响应信息读取单元41读取执行单元33获取的被测系统返回码和响应信息, 将返回码和响应信息传入响应信息分析单元42,将响应信息传入响应信息解析单元43。 执行步骤111。

步骤111:响应信息分析单元42接收返回码和响应信息后,判断返回码是否为200, 如果是,则执行步骤113;否则,执行步骤112。

步骤112:响应信息分析单元42将执行异常情况、返回码等信息存储于URL基本信 息存储单元21和URL扩展信息存储单元22。执行步骤106。

步骤113:响应信息分析单元42访问判断规则存储单元23获取优先级最高的判定规 则,如果获取到,则执行步骤114;否则,执行步骤112。

步骤114:响应信息分析单元42编译判定规则,执行步骤115。

步骤115:响应信息分析单元42使用编译后的判定规则匹配响应信息,若能匹配,则 执行步骤116;否则,执行步骤113继续获取较低优先级的判定规则。

步骤116:响应信息分析单元42对响应信息判定如果为正确,则执行步骤117;否则, 执行步骤112;

步骤117:响应信息分析单元42修改当前探测内容执行状态为“已执行”,响应信息 为被测系统的响应信息,返回码为200。执行步骤118。

步骤118:响应信息解析单元43接收响应信息读取单元41传入的响应信息,通过正 则表达式解析出资源、页面链接、表单等信息存储于URL基本信息存储单元21、URL扩 展信息存储单元22和表单字段基础信息存储单元24,并调用表单数据生成装置5完成表 单数据的生成。

步骤119:全局变量“当前深度”加1,执行步骤102。

步骤120:处理结束,结束本流程。

基于同一发明构思,本发明实施例中还提供了一种WEB探索测试方法,如下面的实 施例所述。由于WEB探索测试方法解决问题的原理与WEB探索测试装置相似,因此WEB 探索测试方法的实施可以参见WEB探索测试装置的实施,重复之处不再赘述。

图8为本发明实施例中WEB探索测试方法的流程图。如图8所示,本发明实施例中 WEB探索测试方法可以包括:

步骤801、提供探测起点和最大探测深度,在接收到启动指令后,启动探测;

步骤802、根据探测起点和最大探测深度执行探测调度;

步骤803、获取执行探测调度的结果,判断结果的正确性,并分析生成下一层待探测 内容;当分析过程中发现表单信息时,根据表单信息完成表单数据造数。

具体实施时,所述提供探测起点和最大探测深度,在接收到启动指令后,启动探测, 可以包括:

接收设置了探测起点和最大探测深度的启动指令,初始化全局变量最大探测深度,初 始化全局变量启动标志为真,启动探测。

具体实施时,所述探测起点可以为被测系统待测试的页面的URL。

具体实施时,所述的WEB探索测试方法还可以包括:

接收停止指令,设置启动标志为假;

在判断已达到最大探测深度或是启动标志为假后,停止探测。

具体实施时,所述的WEB探索测试方法还可以包括:

在探测结束后,对外提供探测结果报表服务。

具体实施时,所述获取执行探测调度的结果,判断结果的正确性,可以包括:

在获取调度执行装置执行探测调度的结果后,根据自动判断规则判断结果的正确性。

具体实施时,所述的WEB探索测试方法还可以包括:

存储对外服务装置、调度执行装置、数据分析装置和表单数据生成装置的交互信息。

具体实施时,所述存储对外服务装置、调度执行装置、数据分析装置和表单数据生成 装置的交互信息,可以包括:

存储探测起点和最大探测深度;

存储调度执行装置执行探测调度的结果;

存储表单信息;

存储表单数据造数结果。

具体实施时,所述存储对外服务装置、调度执行装置、数据分析装置和表单数据生成 装置的交互信息,还可以包括:

存储判断结果的正确性所依据的自动判断规则。

具体实施时,所述存储对外服务装置、调度执行装置、数据分析装置和表单数据生成 装置的交互信息,还可以包括:

存储表单数据造数过程中生成的单字段数据;

所述存储表单数据造数结果,包括:存储表单数据造数过程中对单字段数据组合后形 成的表单组合数据。

具体实施时,所述根据探测起点和最大探测深度执行探测调度,可以包括:

读取探测起点和最大探测深度,提供探测数据;

将探测数据处理为HTTP协议形式;

将HTTP协议形式的探测数据生成HTTP报文发送给被测系统,并接收被测系统的响 应信息。

具体实施时,所述获取执行探测调度的结果,判断结果的正确性,并分析生成下一层 待探测内容;当分析过程中发现表单信息时,根据表单信息完成表单数据造数,可以包括:

读取执行探测调度的被测系统返回的响应信息;

分析被测系统响应信息的正确性;

对被测系统响应信息进行解析,生成下一层待探测内容;当解析过程中发现表单信息 时,根据表单信息完成表单数据造数。

具体实施时,所述根据表单信息完成表单数据造数,可以包括:

读取配置文件中的模型数据,将模型数据初始化;

读取未造数的表单字段信息;

根据模型数据和未造数的表单字段信息完成自动化造数,生成表单单字段数据信息;

根据表单单字段数据信息生成字段数据组合信息。

具体实施时,对WEB系统测试而言,仅需通过设置探索测试的起点和最大探测深度, 启动探索性测试。实施时自动通过HTTP协议访问起点对应的URL,通过应答校验规则快 速判断应答信息的正确性,并快速解析被测系统的应答信息形成下一深度的待探测内容, 探测过程中如果为表单,则解析表单结构自动完成单输入域字段造数,主动组合为FORM 表单数据,通过HTTP协议自动完成表单的提交,并按照返回内容继续解析探索,直到探 测达到指定深度或被外部停止。通过对外服务提供探索性测试的执行结果报表服务,从而 提高了WEB测试的自动化水平,减少了对人力、环境、数据等的依赖。

综上所述,本发明实施例克服现有技术在系统测试前期为保证系统地可测性依赖人工 主导案例设计及测试执行的缺点,提供一种高效,实施简单,能够基于WEB进行自动化 探索性测试的WEB探索测试装置及方法,通过页面分析自动探索,减少了对人工设计案 例及案例执行的依赖,提高了案例执行效率;且自动探测可拓宽页面测试的范围;通过表 单数据自动化生成,减少了对表单数据准备的依赖;通用执行探测调度结果的自动化判断, 降低了结果判定的人工介入,提高了效率。

进一步的,在实施例中还通过表单字段数据自动组合,提高了测试的全面性;还通过 结果的对外报表服务,减少了结果收集的人工接入,提高了效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产 品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程 序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图 和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程 和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指 令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生 一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现 在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方 式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装 置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方 框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机 或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他 可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说 明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护 范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号