基于自动化造数对输入域测试对象进行测试的装置和方法

文档序号:6402677阅读:145来源:国知局
专利名称:基于自动化造数对输入域测试对象进行测试的装置和方法
技术领域
本发明涉及计算机WEB应用软件测试领域,特别涉及一种基于自动化造数对输入域测试对象进行测试的装置和方法。
背景技术
在软件系统的研发过程中,基于WEB的系统开发规模越来越庞大,数量越来越多,页面输入域测试在WEB系统的测试中占据的测试量大且非常重要,为了提高输入域的测试效率及质量,许多项目通过引入自动化测试来优化输入域数据设计及测试执行过程。现有的输入域自动化测试基本上都是采取测试人员手工设计每个输入域详细案例验证点,针对验证点手工设计输入域测试数据,利用现有对软件产品测试技术,例如申请号为201110067703.2的发明专利所公开的一种软件产品测试方法及系统,通过获取输入域的原子步骤执行序列,传递给自动化测试工具相应的API接口,分别通过对象查找API接口和对象操作API接口实现对相应输入域进行操作,最终实现输入域的自动化执行。从上述现有技术的原子步骤设计过程来看,现有技术只对输入域测试对象的对象动作和对象类型进行分析,未对输入域测试对象的域属性和附加属性进行分析,无法通过原子步骤分析被测输入域需准备哪些具有针对性的数据;从输入域的完整测试流程来看,这种方式只实现了输入域测试执行过程的自动化,并未解决输入域在案例设计和数据设计的自动化;从输入域数据的设计使用角度来看,每个输入域均需单独设计数据,复用率低下;从输入域测试的执行角度来看,数据均为执行者进行设计,由于人员的不同,数据设计的覆盖率不同,通用性差;由于输入域数据均手工设计,数据设计不能自动化完成,测试效率相对低下。

发明内容

为了克服现有技术存在的上述输入域测试数据设计上针对性差、不能自动化、复用性低、通用性差、测试效率低等问题,本发明提出一种高效、实施简单,能够基于自动化造数对输入域测试对象进行测试的装置和方法。对WEB系统的输入域对象而言,测试分析人员可经过大量的页面输入域对象分析,归纳出有限的输入域通用类型。对有限的通用类型的案例进行详细验证点的设计,并在此基础上对这些通用类型的验证点通过形式化语言,固化出数据特征表达式。通过建立被测输入域对象与通用类型的映射关系,快速组合构建出被测输入域对象的测试案例及数据特征表达式。通过对数据特征的解析,快速生成被测对象测试数据,以此来实现输入域的自动化造数,从而最终提高自动化水平、复用率、通用性及测试效率。本发明提出了一种自动造数的输入域测试测试装置,包括:测试构件建模装置,用于接收要素库、通用类型分类库和通用类型案例库,进行要素构件建模及通用类型构件建模;存储装置,用于存储建模后的数据、被测输入域对象信息、输入域对象与通用类型构件的映射信息、输入域对象的数据特征实例信息及数据特征实例对应的生成数据信息;输入域测试设计装置,用于获取待造数的输入域测试对象并进行存储,遍历待造数输入域测试对象,并生成及存储待造数输入域对象的数据特征实例;测试构件数据解析装置,用于读取待造数的数据特征实例,解析读取的数据特征实例完成造数,将造数结果进行存储;自动化测试执行装置,用于提供被测输入域给所述输入域测试设计装置读取,在被测系统完成自动化测试执行。本发明还提供了一种自动造数的输入域测试测试方法,包括:步骤1,通过测试构件建模装置(I)接收要素库、通用类型分类库和通用类型案例库,进行要素构件建模及通用类型构件建模;步骤2,将建模后的数据、被测输入域对象信息、输入域对象与通用类型构件的映射信息、输入域对象的数据特征实例信息及数据特征实例对应的生成数据信息存储到存储装置(2)中;步骤3,通过输入域测试设计装置(3)获取待造数的输入域测试对象并进行存储,遍历待造数输入域测试对象,并生成及存储待造数输入域对象的数据特征实例;步骤4,通过测试构件数据解析装置(4)读取待造数的数据特征实例,解析读取的数据特征实例完成造数,将造数结果进行存储;步骤5,通过自动化测试执行装置(5)提供被测输入域给所述输入域测试设计装置(3)读取,在被测系统完成自动化测试执行。利用本发明的方案进行通用类型构件设计时,增加附加属性的考虑,使输入域数据准备更具针对性。要素构件模型化,使得根据被测系统的不同,实现要素构件的灵活设计。通用类型构件模型化,使得根据被测系统输入域属性不同,实现通用类型构件的灵活设计。通过被测输入域与通用类型建立映射关系,实现输入域案例的自动化设计,同时提高了输入域案例设计的复用性。通用类型的引入,大大减少了人工参与,使输入域测试案例及自动化生成数据更具通用性。通用类型构件的数据特征参数化,根据输入域参数的不同,实现输入域数据特征实例的生成。通过解析输入域数据特征实例,实现输入域数据的自动化生成,并通过原技术方案实现自动化执行,提高了测试效率。输入域与通用类型的映射引入自学习自反馈机制可以大大减少人工介入。


图1示出了本发明自动造数的输入域测试装置的示意图;图2示出了本发明自动造数的输入域测试装置的测试构件建模装置的结构示意图;图3示出了本发明自动造数的输入域测试装置的存储装置的结构示意图;图4示出了本发明自动造数的输入域测试装置的输入域测试设计装置的结构示意图;图5示出了本发明自动造数的输入域测试装置的测试构件数据解析装置的结构示意图;图6示出了数据特征实例转化为NFA的Thompson规则衍生示意图;图7示出了验证点数据特征实例“0.\d{0,1}\S”转化为NFA后的结果示意图;图8示出了可解析验证点规则“0.\d{0,l}\S”对应NFA转化为DFA的示意图;图9示出了本发明自动造数的输入域测试方法的流程图;图10示出了本 发明自动造数的输入域测试方法的测试构件建模流程图11示出了本发明自动造数的输入域测试方法的输入域自动化造数及执行流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。本发明提供了一种基于自动化造数对输入域测试对象进行测试的装置和方法。其主要特征是在现有软件产品测试方法及系统的基础上实现输入域测试数据的自动化生成。所述的方法包括:被测系统基础构件建模准备工作。测试分析人员基于对被测系统的分析,提取要素库、通用类型分类库、通用类型案例库导入本装置,本装置接收并实现被测系统基础测试构件建模。原子步骤及原子 步骤序列的提取。详见一种软件产品测试方法及系统(发明专利号201110067703.2,该对应装置记为原装置,对应方法记为原方法)。输入域自动化造数。本装置读取并存储原装置中的原子步骤,通过自反馈机制完成原子步骤对应的被测输入域与通用类型构件的映射关系对照,根据输入域与通用类型构件间的映射关系,生成被测输入域对应的数据特征实例,解析数据特征实例为对应的NFA (Nondetermini st i cFinite Automata,非确定的有限状态自动机),将NFA转化为对应的DFA (deterministicFinite Automata,确定的有限状态自动机),通过深度优先算法遍历DFA生成造数路径,读取DFA造数路径的权值生成数据。本装置存储造数数据,并将造数数据按照数据池方式输入原装置。输入域测试自动化执行。原装置根据原子步骤对应的数据池、原子步骤执行序列形成自动化测试脚本,执行自动化测试脚本,完成测试案例在被测系统的测试执行。图1示出了本发明自动造数的输入域测试装置的示意图。至少包括:测试构件建模装置1、存储装置2、输入域测试设计装置3、测试构件数据解析引擎装置4和自动化测试执行装置5。其中:测试构件建模装置1,用于接收要素库、通用类型分类库和通用类型案例库,进行要素构件建模及通用类型构件建模,并将建模后的要素构件及通用类型构件数据存储到存储装置2。存储装置2,用于存储测试构件建模装置I建模后的数据、被测输入域对象信息、输入域对象与通用类型构件的映射信息、输入域对象的数据特征实例信息及数据特征实例对应的生成数据信息。输入域测试设计装置3,用于从自动化测试执行装置5中获取待造数的输入域测试对象并存储于存储装置2,遍历待造数输入域测试对象实现输入域测试对象与存储装置2中通用类型分类信息的对照,并生成及存储待造数输入域对象的数据特征实例。待测试构件数据解析引擎装置4解析输入域测试设计装置3生成后的数据特征实例完成造数,并将造数结果存储于存储装置2后,输入域测试设计装置3从存储装置2中读取本版次的输入域测试对象造数结果,以数据池方式输入自动化测试装置5。测试构件数据解析装置4,用于从存储装置2读取待造数的数据特征实例,解析读取的数据特征实例完成造数,将造数结果存储于存储装置2。自动化测试执行装置5,用于提供被测输入域给输入域测试设计装置3读取,并将输入域测试设计装置3输入的被测输入域数据池结合原子步骤序列生成测试脚本,在被测系统完成自动化测试执行。图2示出了本发明自动造数的输入域装置的测试构件建模装置I的结构示意图。测试构件建模装置I包括:要素构件接收单元11,通用类型分类信息接收单元12和通用类型案例信息接收13。其中:要素构件接收单元11,用于接收测试分析人员提取的要素库,并将要素库存储于存储装置2的要素构件存储单元21。其存储结构如表5所示。要素构件是测试分析人员对被测系统要素分析归纳后形成的。测试分析人员对被测系统要素的分析主要以字符集编码范围为划分依据,如半角数字、全角数字等在编码区域均是一段连续的字符编码;也可对一些编码未包括的字符集分析,如对GB2312编码做日文片假名、中文生僻字等一些未包括字符;还可对当前系统的一些特殊编码做相应划分和补充,如对网页测试时,可增加html保留字、Javascript函数等进行划分和补充,将以上分析结果归纳后形成要素构件。如表I所示为对某系统提取的部分要素库。
权利要求
1.一种自动造数的输入域测试装置,包括: 测试构件建模装置(I),用于接收要素库、通用类型分类库和通用类型案例库,进行要素构件建模及通用类型构件建模; 存储装置(2),用于存储建模后的数据、被测输入域对象信息、输入域对象与通用类型构件的映射信息、输入域对象的数据特征实例信息及数据特征实例对应的生成数据信息;输入域测试设计装置(3),用于获取待造数的输入域测试对象并进行存储,遍历待造数输入域测试对象,并生成及存储待造数输入域对象的数据特征实例; 测试构件数据解析装置(4),用于读取待造数的数据特征实例,解析读取的数据特征实例完成造数,将造数结果进行存储; 自动化测试执行装置(5),用于提供被测输入域给所述输入域测试设计装置(3)读取,在被测系统完成自动化测试执打。
2.根据权利要求1所述的装置,其中,所述测试构件建模装置(I)进一步包括: 要素构件接收单元(11),用于接收要素库并将其存储于要素构件存储单元(21)中; 通用类型分类信息接收单元(12),用于接收通用类型分类信息并将其存储于通用类型构件存储单兀(22)中; 通用类型案例信息接收单元(13),用于接收通用类型验证点和数据特征,并将其存储于通用类型构件存储单元(22)中。
3.根据权利要求1所述的装置,其中,所述存储装置(2)进一步包括: 要素构件存储单元(21),用于存储系统初始化时的要素构件建模信息; 通用类型构件存储单元(22),用于存储系统初始化时的通用类型构件建模信息; 被测输入域对象存储单元(23),用于存储被测输入域对象信息,以及输入域与通用类型构件映射信息; 被测输入域数据特征实例存储单元(24),用于存储被测输入域与数据特征实例关系信息; 生成数据存储单元(25),用于存储基于验证点构件实例的自动化造数数据信息; 映射自学习存储单元(26),用于存储系统自学习自反馈的输入域对象与通用类型映射关系信息。
4.根据权利要求3所述的装置,其中,所述要素构件建模信息至少包括要素编号、要素编码、要素说明、要素采样字符集,所述通用类型构件建模信息包括通用类型信息和通用类型数据特征信息,所述通用类型信息至少包括通用类型编号、通用类型名称、通用类型参数、操作属性、域属性和附加属性,所述通用类型数据特征信息至少包括通用类型编号、验证点编号、验证点描述、数据属性、验证点规则,所述被测输入域对象信息以及输入域与通用类型构件映射信息至少包括版次、输入域编号、对象名称、对象动作、对象分类、识别属性、输入域分析标志、通用类型名称和通用类型参数值,所述被测输入域与数据特征实例关系信息至少包括输入域编号、数据特征实例和数据生成标志,所述自动化造数数据信息至少包括数据特征实例和生成数据,所述输入域对象与通用类型映射关系信息至少包括对象名称、对象动作、对象类型、识别属性、通用类型和通用类型参数值。
5. 根据权利要求4所述的装置,其中,所述输入域测试设计装置(3)进一步包括: 被测输入域读取单元(31),用于从自动化测试执行装置(5)中批量读取被测输入域,将读取信息及版次、输入域分析标志生成信息存储于被测输入域对象存储单元(23)中; 输入域类型映射单元(32),用于接收被测输入域对象与通用类型的映射关系信息,并将映射关系信息更新于存储装置(2)的被测输入域对象存储单元(23),完成被测输入域与通用类型的对照关系映射; 被测输入域数据特征生成单元(33),用于读取本版次被测输入域对象存储单元(23)中的待分析输入域,并按照被测输入域的实际参数实例化该输入域对应的通用类型的数据特征,并对数据特征中包括的四则运算进行计算替换为实际值,存储到存储装置(2)的被测输入域数据特征实例存储单元(24)中; 被测输入域对象数据输出单元(34),用于将本版次获取的输入域造数信息以数据池的方式输入自动化测试执行装置(5)中。
6.根据权利要求5所述的装置,其中,所述读取信息包括编号、对象名称、对象动作、对象分类和识别属性,所述映射关系信息包括输入域类型和参数,所述批量读取被测输入域进一步包括:在批量读取数据前,先生成版次,批量读取数据均属同一版次;在批量读取数据时,若已存在输入域信息,则直接更新记录版次为当前版次;若不存在,则作为新增记录处理,输入域分析标志为待分析。
7.根据权利要求6所述的装置,其中,分析被测输入域的属性,与通用类型对应属性对t匕,确定被测输入域与通用类型的映射关系,并根据被测输入域的属性确定对应的通用类型参数值映射关系,将输入域对应的通用类型和输入域对于该通用类型的参数取值映射关系传入输入域类型映射单元(32)。
8.根据权利要求7所述的装置,其中,所述被测输入域的属性包括操作属性、域属性和附加属性。
9.根据权利要求8所述 的装置,其中,按照版次关联被测输入域对象存储单元(23),获取输入域对象的编号、按编号关联被测输入域数据特征实例存储单元(24)获取数据特征实例、按数据特征实例关联生成数据存储单元(25)获取对应数据,生成被测输入域对应的数据池,批量输入自动化测试执行装置(5)。
10.根据权利要求9所述的装置,其特征在于,所述自动化测试执行装置(5)按照输入的被测输入域数据池,及原子步骤系列,生成自动化脚本,在被测系统完成自动化测试执行。
11.根据权利要求10所述的装置,其中,所述测试构件数据解析装置(4)进一步包括: 数据特征实例NFA转化单元(41),用于读取被测输入域数据特征实例存储单元(24)中的待造数数据特征实例,并将读取到的数据特征实例转化为对应的NFA,转化后的NFA记为数据特征实例NFA ; NFA至DFA转化单元(42),用于将数据特征实例NFA通过特定的转化算法转化为DFA,转化后的DFA记为数据特征实例DFA ; DFA路径遍历单元(43),用于遍历数据特征实例DFA,通过深度优先算法对DFA进行识另Ij,生成数据设计路径; DFA路径数据设计单元(44),用于根据DFA路径遍历单元(43)获取的路径,获取经过路径的权值。
12.根据权利要求11所述的装置,其中,所述数据特征实例转化为对应的NFA是基于Thompson规则衍生得到的。
13.根据权利要求12所述的装置,进一步包括:如果权值对应为要素构件,则从要素构件对应的字符集中随机获取一个数据,将路径权值顺序拼接得到自动化设计数据。
14.一种自动造数的输入域测试测试方法,包括: 步骤1,通过测试构件建模装置(I)接收要素库、通用类型分类库和通用类型案例库,进行要素构件建模及通用类型构件建模; 步骤2,将建模后的数据、被测输入域对象信息、输入域对象与通用类型构件的映射信息、输入域对象的数据特征实例信息及数据特征实例对应的生成数据信息存储到存储装置(2)中; 步骤3,通过输入域测试设计装置(3)获取待造数的输入域测试对象并进行存储,遍历待造数输入域测试对象,并生成及存储待造数输入域对象的数据特征实例; 步骤4,通过测试构件数据解析装置(4)读取待造数的数据特征实例,解析读取的数据特征实例完成造数,将造数结果进行存储; 步骤5,通过自动化测试执行装置(5)提供被测输入域给所述输入域测试设计装置(3)读取,在被测系统完成自动化测试执行。
15.根据权利要求14所述的方法,其中,在所述测试构件建模装置(I)中: 通过要素构件接收单元(11)接收要素库并将其存储于要素构件存储单元(21)中;通过通用类型分类信息接收单元(12)接收通用类型分类信息并将其存储于通用类型构件存储单兀(22)中; 通过通用类型案例信息接收单元(13)接收通用类型验证点和数据特征,并将其存储于通用类型构件存储单元(22)中。
16.根据权利要求15所述的方法,其中,所述存储装置(2)进一步包括: 要素构件存储单元(21),用于存储系统初始化时的要素构件建模信息; 通用类型构件存储单元(22),用于存储系统初始化时的通用类型构件建模信息; 被测输入域对象存储单元(23),用于存储被测输入域对象信息,以及输入域与通用类型构件映射信息; 被测输入域数据特征实例存储单元(24),用于存储被测输入域与数据特征实例关系信息; 生成数据存储单元(25),用于存储基于验证点构件实例的自动化造数数据信息; 映射自学习存储单元(26),用于存储系统自学习自反馈的输入域对象与通用类型映射关系信息。
17.根据权利要求16所述的方法,其中,所述要素构件建模信息至少包括要素编号、要素编码、要素说明、要素采样字符集,所述通用类型构件建模信息包括通用类型信息和通用类型数据特征信息,所述通用类型信息至少包括通用类型编号、通用类型名称、通用类型参数、操作属性、域属性和附加属性,所述通用类型数据特征信息至少包括通用类型编号、验证点编号、验证点描述、数据属性、验证点规则,所述被测输入域对象信息以及输入域与通用类型构件映射信息至少包括版次、输入域编号、对象名称、对象动作、对象分类、识别属性、输入域分析标志、通用类型名称和通用类型参数值,所述被测输入域与数据特征实例关系信息至少包括输入域编号、数据特征实例和数据生成标志,所述自动化造数数据信息至少包括数据特征实例和生成数据,所述输入域对象与通用类型映射关系信息至少包括对象名称、对象动作、对象类型、识别属性、通用类型和通用类型参数值。
18.根据权利要求14所述的方法,其中,在所述输入域测试设计装置(3)中: 通过被测输入域读取单元(31)从自动化测试执行装置(5)中批量读取被测输入域,将读取信息及版次、输入域分析标志生成信息存储于被测输入域对象存储单元(23)中; 通过输入域类型映射单元(32)接收被测输入域对象与通用类型的映射关系信息,并将映射关系信息更新于存储装置(2)的被测输入域对象存储单元(23),完成被测输入域与通用类型的对照关系映射; 通过被测输入域数据特征生成单元(33)读取本版次被测输入域对象存储单元(23)中的待分析输入域,并按照被测输入域的实际参数实例化该输入域对应的通用类型的数据特征,并对数据特征中包 括的四则运算进行计算替换为实际值,存储到存储装置(2)的被测输入域数据特征实例存储单元(24)中; 通过被测输入域对象数据输出单元(34)将本版次获取的输入域造数信息以数据池的方式输入自动化测试执行装置(5)中。
19.根据权利要求18所述的方法,其中,所述读取信息包括编号、对象名称、对象动作、对象分类和识别属性,所述映射关系信息包括输入域类型和参数,,所述批量读取被测输入域进一步包括:在批量读取数据前,先生成版次,批量读取数据均属同一版次;在批量读取数据时,若已存在输入域信息,则直接更新记录版次为当前版次;若不存在,则作为新增记录处理,输入域分析标志为待分析。
20.根据权利要求19所述的方法,其特征在于,进一步包括:分析被测输入域的属性,与通用类型对应属性对比,确定被测输入域与通用类型的映射关系,并根据被测输入域的属性确定对应的通用类型参数值映射关系,将输入域对应的通用类型和输入域对于该通用类型的参数取值映射关系传入输入域类型映射单元(32)。
21.根据权利要求20所述的方法,其中,所述被测输入域的属性包括操作属性、域属性和附加属性。
22.根据权利要求21所述的方法,其中,按照版次关联被测输入域对象存储单元(23),获取输入域对象的编号、按编号关联被测输入域数据特征实例存储单元(24)获取数据特征实例、按数据特征实例关联生成数据存储单元(25)获取对应数据,生成被测输入域对应的数据池,批量输入自动化测试执行装置(5)。
23.根据权利要求22所述的方法,其特征在于,所述自动化测试执行装置(5)按照输入的被测输入域数据池,及原子步骤系列,生成自动化脚本,在被测系统完成自动化测试执行。
24.根据权利要求23所述的方法,其中,在所述测试构件数据解析装置(4)中: 通过数据特征实例NFA转化单元(41)读取被测输入域数据特征实例存储单元(24)中的待造数数据特征实例,并将读取到的数据特征实例转化为对应的NFA,转化后的NFA记为数据特征实例NFA ; 通过NFA至DFA转化单元(42)将数据特征实例NFA通过特定的转化算法转化为DFA,转化后的DFA记为数据特征实例DFA ; 通过DFA路径遍历单元(43)遍历数据特征实例DFA,通过深度优先算法对DFA进行识另Ij,生成数据设计路径; 通过DFA路径数据设计单元(44)根据DFA路径遍历单元(43)获取的路径,获取经过路径的权值。
25.根据权利要求24所述的方法,其中,所述数据特征实例转化为对应的NFA是基于Thompson规则衍生得到的。
26.根据权利要求25所述的方法,进一步包括:如果权值对应为要素构件,则从要素构件对应的字符集中随机 获取一个数据,将路径权值顺序拼接得到自动化设计数据。
全文摘要
本发明公开了一种基于自动化造数对输入域测试对象进行测试的装置,该装置包括测试构件建模装置,用于接收要素库、通用类型分类库和通用类型案例库,进行要素构件建模及通用类型构件建模;存储装置,用于存储建模后的数据等相关信息;输入域测试设计装置,用于从获取待造数的输入域测试对象,遍历待造数输入域测试对象并生成及存储待造数输入域对象的数据特征实例;测试构件数据解析装置,用于从读取待造数的数据特征实例,解析读取的数据特征实例完成造数;自动化测试执行装置,用于提供被测输入域给所述输入域测试设计装置(3)读取,在被测系统完成自动化测试执行,最终提高了自动化水平、通用性及测试效率。
文档编号G06F11/36GK103235757SQ20131015586
公开日2013年8月7日 申请日期2013年4月28日 优先权日2013年4月28日
发明者周永红, 张家宇, 董妙英, 金晖, 张卉 申请人:中国工商银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1