一种基于点功能驱动的软件测试方法及系统的制作方法

文档序号:6431887阅读:131来源:国知局
专利名称:一种基于点功能驱动的软件测试方法及系统的制作方法
技术领域
本发明关于计算机软件测试技术领域,具体地讲是一种基于点功能驱动的软件测试方法及系统。
背景技术
软件测试,是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。目前的计算机软件系统中,功能种类繁多,数据逻辑关联紧密,而且随着客户需求的不断提高,软件系统不得不进行频繁的升级改造。在这种情况下,现有的软件测试系统存在以下弊端(一)由于软件系统在修改、升级过程中,只是针对当次需要新增或升级的功能; 但是功能之间并非是完全独立存在的,将不可避免的存在功能的关联度缺陷,即对部分功能的修改,导致对于其他相关功能的连带修改,并由此引起交叉影响的系统隐患。( 二)在软件开发周期中是以项目为基础的开发、测试流程,没有做到更为细致的以功能为基础,甚至以关键数据为基础的设计,因此,就造成了项目与项目之间,功能与功能之间的重叠或交错,使得后续的测试成本增加,效率低下。

发明内容
本发明实施例提供了一种基于点功能驱动的软件测试方法及系统,以从颗粒度更为细致的数据类型为出发点,找寻功能之间的彼此联系,对软件的关联或交叉功能进行充分测试,降低软件测试成本。本发明的目的之一是,提供一种基于点功能驱动的软件测试方法,该方法包括获取被测功能的关联输入场;根据被测功能从预存的关联关系数据中检索出输入场的数据类型信息,并将数据类型信息与预存的数据字典进行匹配,提取匹配的数据类型信息;以堆栈形式存储匹配的数据类型信息;根据存储的匹配的数据类型信息从关联关系数据中检索出包含对应数据类型信息的功能;将对应数据类型信息的功能与起始的被测功能相关联,生成功能链,同时记录功能链表;将生成的功能链加载入测试运行环境,运行功能链中的每个功能测试,输出测试结果。本发明的目的之一是,提供一种基于点功能驱动的软件测试系统,该系统包括输入场获取单元,用于获取被测功能的关联输入场;输入场检索单元,用于根据被测功能从预存的关联关系数据中检索出输入场的数据类型信息,并将数据类型信息与预存的数据字典进行匹配,提取匹配的数据类型信息;输入场堆栈管理单元,用于以堆栈形式存储匹配的数据类型信息;业务功能检索单元,用于根据存储的匹配的数据类型信息从关联关系数据中检索出包含对应数据类型信息的功能;功能链生成单元,用于将对应数据类型信息的功能与起始的被测功能相关联,生成功能链,同时记录功能链表;功能链加载执行单元,用于将生成的功能链加载入测试运行环境,运行功能链中的每个功能测试,输出测试结果。本发明的目的之一是,提供一种基于点功能驱动的软件测试系统,该系统包括客户端笔记本电脑、测试执行环境服务器、测试驱动装置和数据库服务器;测试执行环境服务器分别与客户端笔记本电脑、测试驱动装置和数据库服务器相连接;客户端笔记本电脑,用于获取被测功能的关联输入场;测试驱动装置包括输入场检索单元,用于根据被测功能从预存的关联关系数据中检索出输入场的数据类型信息,并将数据类型信息与预存的数据字典进行匹配,提取匹配的数据类型信息;输入场堆栈管理单元,用于以堆栈形式存储匹配的数据类型信息;业务功能检索单元,用于根据存储的匹配的数据类型信息从关联关系数据中检索出包含对应数据类型信息的功能;功能链生成单元,用于将对应数据类型信息的功能与起始的被测功能相关联,生成功能链,同时记录功能链表;功能链加载执行单元,用于将生成的功能链加载入测试执行环境服务器的测试运行环境;测试执行环境服务器运行功能链中的每个功能测试,输出测试结果给客户端笔记本电脑。 本发明的有益效果在于本发明系统适合运用在黑盒测试的软件测试过程中,特别是系统测试和产品验收测试阶段。该系统通过相关功能、服务间的内在逻辑的特点,将纷繁复杂的功能,通过内在的数据流进行关联,其优点在于1)通过单一功能的不断关联,实现由点及面的功能测试,提高了软件测试覆盖率及效率。2)本系统通过功能之间的逻辑关联进行测试,避免了开发过程中潜在的交叉影响,能够有效提高缺陷清除率。3)本系统在第一次生成功能链时将花费较大时间,进行中间环节的各种逻辑判断,及功能的加载;但是一旦生成功能链后,且功能链中包含有驱动功能,将直接进行功能链的加载执行,实现一次生成,随时运行的高效处理方式。4)本系统将待测系统的测试环节进行了合理分离,提高了系统的可维护性及可扩展性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例基于点功能驱动的软件测试方法流程图;图2为本发明实施例基于点功能驱动的软件测试系统的结构框图;图3为本发明实施例基于点功能驱动的软件测试系统的连接示意图;图4为本发明实施例测试驱动装置的结构框图;图5为本发明实施例数据库服务器的结构框图;图6为本发明实施例基于点功能驱动的软件测试系统的工作流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本实施例的基于点功能驱动的软件测试方法包括获取被测功能的关联输入场(步骤S101);根据被测功能从预存的关联关系数据中检索出输入场的数据类型信息,并将数据类型信息与预存的数据字典进行匹配,提取匹配的数据类型信息(步骤 S102);以堆栈形式存储匹配的数据类型信息(步骤Sl(XB);根据存储的匹配的数据类型信息从关联关系数据中检索出包含对应数据类型信息的功能(步骤S104);将对应数据类型信息的功能与起始的被测功能相关联,生成功能链,同时记录功能链表(步骤S105);将生成的功能链加载入测试运行环境,运行功能链中的每个功能测试,输出测试结果(步骤 S106)。如图2所示,本实施例的基于点功能驱动的软件测试系统包括输入场获取单元 101,用于获取被测功能的关联输入场;输入场检索单元102,用于根据被测功能从预存的关联关系数据中检索出输入场的数据类型信息,并将数据类型信息与预存的数据字典进行匹配,提取匹配的数据类型信息;输入场堆栈管理单元103,用于以堆栈形式存储匹配的数据类型信息;业务功能检索单元104,用于根据存储的匹配的数据类型信息从关联关系数据中检索出包含对应数据类型信息的功能;功能链生成单元105,用于将对应数据类型信息的功能与起始的被测功能相关联,生成功能链,同时记录功能链表;功能链加载执行单元 106,用于将生成的功能链加载入测试运行环境,运行功能链中的每个功能测试,输出测试结果。该系统还包括数据库107,用于存储关联关系表、功能链表和数据库的数据字典表; 其中,关联关系表的字段包括ID、功能名、脚本名和输入场;功能链表的字段包括ID、功能链名和功能名;数据字典表的字段包括ID和输入场。如图3所示,本实施例的基于点功能驱动的软件测试系统包括客户端笔记本电脑100、测试执行环境服务器200、测试驱动装置201和数据库服务器300 ;测试执行环境服务器200分别与客户端笔记本电脑100、测试驱动装置201和数据库服务器300相连接。测试驱动装置201可以设置于测试执行环境服务器200之内,该设置于服务器内部的测试驱动装置201包括输入场检索单元,用于根据被测功能从预存的关联关系数据中检索出输入场的数据类型信息,并将数据类型信息与预存的数据字典进行匹配,提取匹配的数据类型信息;输入场堆栈管理单元,用于以堆栈形式存储匹配的数据类型信息;业务功能检索单元,用于根据存储的匹配的数据类型信息从关联关系数据中检索出包含对应数据类型信息的功能;功能链生成单元,用于将对应数据类型信息的功能与起始的被测功能相关联,生成功能链,同时记录功能链表;功能链加载执行单元,用于将生成的功能链加载入测试执行环境服务器的测试运行环境;测试执行环境服务器运行功能链中的每个功能测试,输出测试结果给客户端笔记本电脑。如图4所示,测试驱动装置201可以设置于测试执行环境服务器200之外,该设置于服务器外部的测试驱动装置201包括中央处理器以及接口芯片,与中央处理器相连接, 用于与测试执行环境服务器进行数据交互;输入场检索寄存器,与中央处理器相连接,用于检索被测功能的关联关系数据,获取全部输入场数据类型信息;输入场堆栈管理寄存器,与中央处理器相连接,用于以堆栈形式存储数据类型信息;业务功能检索寄存器,与中央处理器相连接,用于获取包含对应数据类型信息的功能;功能链生成寄存器,与中央处理器相连接,用于生成包含数据类型信息与被测功能映射关系的功能链数据;功能链加载寄存器,与中央处理器相连接,用于将功能链数据通过接口芯片加载到测试执行环境服务器。测试驱动装置201还包括与中央处理器相连接的键盘、显示器、时钟芯片以及电源电路。客户端笔记本电脑100用于输入被测功能的关联输入场数据,并显示软件测试结果数据。测试执行环境服务器200用于对加载的功能链数据中每个功能对应的脚本进行测试。如图5所示,数据库服务器300包括关联关系数据存储装置、功能链数据存储装置和数据字典存储装置。本实施例的基于点功能驱动的软件测试系统是以自动化测试工具为基础,通过对脚本调用的输入场进行筛选,形成功能链,进而依次调用每个功能的对应脚本,通过一个功能的触发,达到多个相关功能的自动执行,最后生成执行结果报告,整个过程的流程细节, 记录在日志文件中。在测试执行环境服务器200中部署自动化执行环境,包括自动化执行工具、参数文件、配置文件、及脚本库。测试驱动装置201可设置在测试执行环境服务器200内部或外部。客户端笔记本电脑100可为一般自动化测试系统的用户客户端,负责对测试执行环境服务器200维护,包括维护自动化执行环境及各种配置文件。通过点功能的驱动,实现以输入场为基础的功能串联,进而实现功能链的生成,最后进行脚本链的自动化执行。自动化执行结束后,生成执行结果文件,进行问题分析。操作及执行流程记录于日志文件。在图3中,客户端笔记本电脑100供测试人员使用,与一般自动化测试系统的客户端相同,具体来说,测试人员可以进行自动化测试环境维护、功能脚本库维护以及配置文件维护的操作;测试执行环境服务器200部署有测试驱动装置201、自动化执行环境、各种配置文件及脚本库;数据库服务器300为常用数据库系统,用于记录数据字典、功能逻辑关系及对应脚本。客户端笔记本电脑100既可以采取B/S架构中的浏览器的方式也可以采用C/S架构中的应用程序的方式展现给测试人员。测试执行环境服务器200响应客户端的即时操作请求,按照数据库记录的功能逻辑,加载每个功能对应的脚本,进行功能链的自动化执行, 最后生成执行结果文件,并对过程记录日志文件。在一个典型的处理过程中,客户端笔记本电脑100启动驱动功能运行,部署于测试执行环境服务器200的测试驱动装置201提取驱动功能中的输入场,将提出的输入场压入数据堆栈,提取数据堆栈中的第一个输入场,根据该输入场在数据库中检索,检索出包含此输入场的全部业务功能,对检索出的业务功能进行标记,并依次加入功能链,再次从数据堆栈中取出第二个输入场,重复进行检索数据库操作,并将检索出的业务功能加入到功能链,此时每加入一个功能前进行判断,如果功能链中已经存在此业务功能,将不再加入,如此往复,直至数据堆栈内容为空时停止,最后,加载功能链中每个功能的对应脚本,启动自动化测试执行。在图4中,各寄存器功能如下输入场检索寄存器检索被测功能的关联关系表,获取全部输入场数据类型信息,并与数据库中的数据字典进行匹配,提取匹配的数据类型信息,做为功能关联的数据纽带;输入场堆栈管理寄存器以堆栈形式存储数据类型,为后续功能链的加载、生成做判断依据;业务功能检索寄存器通过存储的数据类型,检索关联关系表,获取包含此数据类型的功能;
功能链生成寄存器将通过数据类型关联到的功能与起始的被测功能相关联,生成功能链,同时记录功能链表,以备后续调用;功能链加载执行寄存器将生成的功能链加载入自动化运行环境,自动运行功能链中的每个功能测试,实现最终结果。在图5中,数据库的表信息包括关联关系表、功能链表、数据字典表;其中关联关系表记录功能对应的脚本名、及该功能所涉及的输入场;功能链表记录功能链中所包含的功能名称;数据字典表负责记录维护全量的输入场名称。如图6所示,是本系统处理流程示意图,以测试某一软件系统中的一个基金赎回功能为例,结合测试驱动装置的各模块功能进行说明。该业务功能,涉及的输入场如表1所示表 权利要求
1.一种基于点功能驱动的软件测试方法,其特征是,所述的方法包括 获取被测功能的关联输入场;根据所述的被测功能从预存的关联关系数据中检索出所述输入场的数据类型信息,并将所述的数据类型信息与预存的数据字典进行匹配,提取匹配的数据类型信息; 以堆栈形式存储所述的匹配的数据类型信息;根据存储的匹配的数据类型信息从所述的关联关系数据中检索出包含对应数据类型信息的功能;将所述的对应数据类型信息的功能与起始的被测功能相关联,生成功能链,同时记录功能链表;将生成的功能链加载入测试运行环境,运行所述功能链中的每个功能测试,输出测试结果。
2.根据权利要求1所述的基于点功能驱动的软件测试方法,其特征是,所述的预存的关联关系数据存储于数据库的关联关系表中,所述的关联关系表的字段包括ID、功能名、 脚本名和输入场。
3.根据权利要求1所述的基于点功能驱动的软件测试方法,其特征是,所述的功能链存储于数据库的功能链表中,所述的功能链表的字段包括ID、功能链名和功能名。
4.根据权利要求1所述的基于点功能驱动的软件测试方法,其特征是,所述的预存的数据字典存储于数据库的数据字典表中,所述的数据字典表的字段包括ID和输入场。
5.根据权利要求1所述的基于点功能驱动的软件测试方法,其特征是,所述的被测功能的关联输入场通过客户端输入。
6.一种基于点功能驱动的软件测试系统,其特征是,所述的系统包括 输入场获取单元,用于获取被测功能的关联输入场;输入场检索单元,用于根据所述的被测功能从预存的关联关系数据中检索出所述输入场的数据类型信息,并将所述的数据类型信息与预存的数据字典进行匹配,提取匹配的数据类型信息;输入场堆栈管理单元,用于以堆栈形式存储所述的匹配的数据类型信息; 业务功能检索单元,用于根据存储的匹配的数据类型信息从所述的关联关系数据中检索出包含对应数据类型信息的功能;功能链生成单元,用于将所述的对应数据类型信息的功能与起始的被测功能相关联, 生成功能链,同时记录功能链表;功能链加载执行单元,用于将生成的功能链加载入测试运行环境,运行所述功能链中的每个功能测试,输出测试结果。
7.根据权利要求6所述的基于点功能驱动的软件测试系统,其特征是,所述的系统包括数据库,用于存储关联关系表、功能链表和数据库的数据字典表;其中,所述的关联关系表的字段包括ID、功能名、脚本名和输入场; 所述的功能链表的字段包括ID、功能链名和功能名; 所述的数据字典表的字段包括ID和输入场。
8.一种基于点功能驱动的软件测试系统,其特征是,所述的系统包括客户端笔记本电脑、测试执行环境服务器、测试驱动装置和数据库服务器;所述的测试执行环境服务器分别与所述的客户端笔记本电脑、测试驱动装置和数据库服务器相连接;所述的客户端笔记本电脑,用于获取被测功能的关联输入场; 所述的测试驱动装置包括输入场检索单元,用于根据所述的被测功能从预存的关联关系数据中检索出所述输入场的数据类型信息,并将所述的数据类型信息与预存的数据字典进行匹配,提取匹配的数据类型信息;输入场堆栈管理单元,用于以堆栈形式存储所述的匹配的数据类型信息; 业务功能检索单元,用于根据存储的匹配的数据类型信息从所述的关联关系数据中检索出包含对应数据类型信息的功能;功能链生成单元,用于将所述的对应数据类型信息的功能与起始的被测功能相关联, 生成功能链,同时记录功能链表;功能链加载执行单元,用于将生成的功能链加载入所述测试执行环境服务器的测试运行环境;所述的测试执行环境服务器运行所述功能链中的每个功能测试,输出测试结果给所述的客户端笔记本电脑。
9.根据权利要求8所述的基于点功能驱动的软件测试系统,其特征是,所述的测试执行环境服务器用于对加载的功能链数据中每个功能对应的脚本进行测试。
10.根据权利要求8所述的基于点功能驱动的软件测试系统,其特征是,所述的数据库服务器包括关联关系表存储单元、功能链表存储单元和数据字典表存储单元。
全文摘要
本发明为一种基于点功能驱动的软件测试方法及系统,该系统包括客户端笔记本电脑、测试执行环境服务器、测试驱动装置和数据库服务器;测试驱动装置包括中央处理器以及接口芯片,与测试执行环境服务器进行数据交互;输入场检索寄存器,检索被测功能的关联关系数据,获取全部输入场数据类型信息;输入场堆栈管理寄存器,以堆栈形式存储数据类型信息;业务功能检索寄存器,获取包含对应数据类型信息的功能;功能链生成寄存器,生成包含数据类型信息与被测功能映射关系的功能链数据;功能链加载寄存器,将功能链数据通过接口芯片加载到测试执行环境服务器。以从功能之间的彼此联系,对软件的关联或交叉功能进行充分测试,降低软件测试成本。
文档编号G06F11/36GK102279798SQ20111025261
公开日2011年12月14日 申请日期2011年8月30日 优先权日2011年8月30日
发明者冯小贝, 张鹏 申请人:中国工商银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1