一种验证黑盒测试用例设计完整性的方法技术

技术编号:21089399 阅读:36 留言:0更新日期:2019-05-11 09:54
本发明专利技术涉及计算机技术领域,具体公开了一种验证黑盒测试用例设计完整性的方法,包括以下步骤:步骤1:根据上层文件创建套件并参数化;步骤2:根据需求初始化参数并生成测试输入输出库;步骤3:创建库的匹配关系算法,并建立输入输出映射关系表;步骤4:利用测试工具生成的测试套件将映射关系表实例化为测试用例;步骤5:执行测试,并统计覆盖率。本发明专利技术可借助自动化测试工具,采用动态测试的方法通过覆盖率实时统计的方式不断优化并自动生成与执行黑盒测试用例,从而实现了黑盒测试执行对测试机的全覆盖,优化了黑盒测试用例的选取和黑盒测试全生命周期过程控制。

【技术实现步骤摘要】
一种验证黑盒测试用例设计完整性的方法
本专利技术属于计算机
,具体涉及一种验证黑盒测试用例设计完整性的方法。
技术介绍
黑盒测试作为动态测试的组成部分、已成为继实现之后暴露缺陷的一种方法。黑盒测试阶段对所编写的测试用例要求为测试用例要实现对需求的全覆盖,因此,黑盒测试不能保证对测试机的全覆盖。容错系统存在一部分无效等价类会造成系统错误、一部分无效等价类会造成系统故障的可能,因此测试的完整性要考虑其代码的实现方式及工作机理。由于白盒测试的覆盖率仅针对代码本身,因此对于容错系统而言,针对需求采用常规的设计方法设计并执行黑盒测试用例有可能会造成测试机缺陷的遗漏。动态测试可借助工具基本实现自动化,包括测试套件的生成、测试执行及测试报告的生成。采用测试工具实现自动化测试结果的可信度在各行业都已有充分的认可,如在核电、航空、金融等领域已经出台了一系列的工具鉴定标准,对测试的自动化也在包括上述领域的很多领域广为使用,我国对自动化测试工具自行研制的大量投入及引进国外自动化测试工具的政策支持,第三方的认证许可等,这些为自动化测试工具实现测试自动化结果的可信度提供了有力保障。而现有的白盒测试工具对测试用例的设计没有实现自动化,只能自动生成测试套件。
技术实现思路
本专利技术的目的在于提供一种验证黑盒测试用例设计完整性的方法,能够验证黑盒测试对测试机是否实现全覆盖。本专利技术的技术方案如下:一种验证黑盒测试用例设计完整性的方法,包括以下步骤:步骤1:根据上层文件创建套件并参数化;步骤2:根据需求初始化参数并生成测试输入输出库;步骤3:创建库的匹配关系算法,并建立输入输出映射关系表;步骤4:利用测试工具生成的测试套件将映射关系表实例化为测试用例;步骤5:执行测试,并统计覆盖率。步骤1中,套件创建的依据是需求的上层文件,套件的存在形式是代码、设备或其它最终能被某种认可的实例化装置;参数化是套件取值的实参、可以被赋值,与需求相对应;将套件的赋值设为一个参数,且这个参数可以根据需求进行赋值;参数的赋值满足是套件自动生成需求的所有输入输出域。步骤2中,结合需求给已创建套件的参数进行赋值,将其实例化;运行套件,自动生成满足需求的输入输出库,组建对应需求的输入输出空间;对需求的跟踪通过建立需求跟踪矩阵,基于需求管理工具实现。步骤3中,库的匹配关系算法是程序用以实现根据输入库识别输出库的方法,用以建立输入输出库之间的相互对应关系,实现的方式为采用字典匹配算法表达式实现,根据测试套件与库映射表的对应关系建立测试机与输入输出库的对应关系。步骤4中,测试套件由白盒测试工具根据待测试的代码自动生成,自动生成的测试套件采用输入输出库将其进行实例化,输入输出库根据映射关系表进行选择;被实例化的测试套件生成可以被自动化测试工具执行的测试用例。步骤5中,步骤4生成的测试用例可以被测试工具识别并基于被测代码自动运行,测试覆盖率的统计也由该测试工具自动完成。步骤5中,根据映射关系创建映射字典,根据映射字典判断测试用例的执行成功与否;具体实现方式是:从输入字典里面取到一个输入元素之后,将程序的输出向量与其输出字典作比较,如果输出向量在输出字典里面则将其从输出字典里面删除继续执行下一个测试,如此循环执行;如果输入字典里的所有输入元素都取一遍之后,最终使输出字典元素为空,则认为测试用例执行成功,否则认为测试用例执行失败;如果覆盖率不满足要求则再根据字典匹配算法生成新的测试用例并执行,否则测试结束;当所有的测试用例执行一遍之后,如覆盖率仍未满足要求,则允许用户对测试用例进行修改。步骤5中,测试用例的生成数量可以在空间范围内不受限制,除非测试已经结束,否则只要测试正在执行,就要保证有足够多的测试用例;测试用例的执行数量受需求和测试机覆盖率的严格约束,一旦满足覆盖率要求,即停止对相同库的元素取值;相关实现通过映射表的指针操作实现,或采用嵌套循环控制库和数据字典的切换;用户对测试用例的修改包括对输入向量、输入元素、输入空间、输出元素以及输出空间的单一或组合修改。步骤3在创建输入输出库的过程中,在给库取名时采用事先拟定的方法命名库,程序在进行比较时采用字典匹配算法表达式进行匹配;匹配完成之后建立输入输出库的映射关系表。步骤4中,设计测试用例的参考依据是测试需求,其取值范围也参考测试需求;测试需求的提取依据是其上层文件,对其基本取值范围的划分采用等价类与边界值相结合的方法,对于包含多维向量的输入元素而言,可以考虑其它测试用例设计方法。本专利技术的显著效果在于:本专利技术可借助自动化测试工具,采用动态测试的方法通过覆盖率实时统计的方式不断优化并自动生成与执行黑盒测试用例,从而实现了黑盒测试执行对测试机的全覆盖,优化了黑盒测试用例的选取和黑盒测试全生命周期过程控制。附图说明图1为测试用例完整性验证方法实施简要步骤图;图2为测试用例完整性验证方法实施策略图。具体实施方式下面结合附图及技术方案对本专利技术的具体实施作详细说明。如图1、2所示的一种验证黑盒测试用例设计完整性的方法,包括以下步骤:步骤1:根据上层文件创建套件并参数化;套件创建的依据是需求的上层文件,套件的存在形式是代码、设备或其它最终能被某种认可的实例化装置;例如:代码套件可以是正则表达式;参数化是套件取值的实参、可以被赋值,与需求相对应;将套件的赋值设为一个参数,且这个参数可以根据需求进行赋值;参数的赋值满足是套件自动生成需求的所有输入输出域;步骤2:根据需求初始化参数并生成测试输入输出库;结合需求给已创建套件的参数进行赋值,将其实例化;运行套件,自动生成满足需求的输入输出库,组建对应需求的输入输出空间;其中对需求的跟踪可建立需求跟踪矩阵,基于一些需求管理工具实现;步骤3:创建库的匹配关系算法,并建立输入输出映射关系表;库的匹配关系算法是程序用以实现根据输入库识别输出库的方法,用以建立输入输出库之间的相互对应关系,实现的方式为采用字典匹配算法表达式实现,根据测试套件与库映射表的对应关系可以建立测试机与输入输出库的对应关系;在创建输入输出库的过程中,在给库取名时采用事先拟定的方法命名库,程序在进行比较时采用字典匹配算法表达式进行匹配;匹配完成之后建立输入输出库的映射关系表,即字典映射表;步骤4:利用测试工具生成的测试套件将映射关系表实例化为测试用例;测试套件由白盒测试工具根据待测试的代码自动生成,自动生成的测试套件采用输入输出库将其进行实例化,输入输出库根据映射关系表进行选择;被实例化的测试套件生成可以被自动化测试工具执行的测试用例;设计测试用例的参考依据是测试需求,其取值范围也参考测试需求;测试需求的提取依据是其上层文件,对其基本取值范围的划分采用等价类与边界值相结合的方式,对于包含多维向量的输入元素而言,可以考虑其它测试用例设计方法,如场景法、正交表等方法;对其基本取值范围的划分也可以考虑其它设计方法,但在采用某一设计方法时、应充分考虑方法本身或使用特定假设可能造成方法本身存在的遗漏,避免出现后期大量人为添加测试用例的可能;步骤5:执行测试,并统计覆盖率;步骤4生成的测试用例可以被测试工具识别并基于被测代码自动运行,测试覆盖率的统计也可以由该测试工具自动完成;根据映射关系创建映射字典,根据映射字典判断测试用例的执行成功与否,本文档来自技高网...

【技术保护点】
1.一种验证黑盒测试用例设计完整性的方法,其特征在于:包括以下步骤:步骤1:根据上层文件创建套件并参数化;步骤2:根据需求初始化参数并生成测试输入输出库;步骤3:创建库的匹配关系算法,并建立输入输出映射关系表;步骤4:利用测试工具生成的测试套件将映射关系表实例化为测试用例;步骤5:执行测试,并统计覆盖率。

【技术特征摘要】
1.一种验证黑盒测试用例设计完整性的方法,其特征在于:包括以下步骤:步骤1:根据上层文件创建套件并参数化;步骤2:根据需求初始化参数并生成测试输入输出库;步骤3:创建库的匹配关系算法,并建立输入输出映射关系表;步骤4:利用测试工具生成的测试套件将映射关系表实例化为测试用例;步骤5:执行测试,并统计覆盖率。2.如权利要求1所述的一种验证黑盒测试用例设计完整性的方法,其特征在于:步骤1中,套件创建的依据是需求的上层文件,套件的存在形式是代码、设备或其它最终能被某种认可的实例化装置;参数化是套件取值的实参、可以被赋值,与需求相对应;将套件的赋值设为一个参数,且这个参数可以根据需求进行赋值;参数的赋值满足是套件自动生成需求的所有输入输出域。3.如权利要求2所述的一种验证黑盒测试用例设计完整性的方法,其特征在于:步骤2中,结合需求给已创建套件的参数进行赋值,将其实例化;运行套件,自动生成满足需求的输入输出库,组建对应需求的输入输出空间;对需求的跟踪通过建立需求跟踪矩阵,基于需求管理工具实现。4.如权利要求3所述的一种验证黑盒测试用例设计完整性的方法,其特征在于:步骤3中,库的匹配关系算法是程序用以实现根据输入库识别输出库的方法,用以建立输入输出库之间的相互对应关系,实现的方式为采用字典匹配算法表达式实现,根据测试套件与库映射表的对应关系建立测试机与输入输出库的对应关系。5.如权利要求4所述的一种验证黑盒测试用例设计完整性的方法,其特征在于:步骤4中,测试套件由白盒测试工具根据待测试的代码自动生成,自动生成的测试套件采用输入输出库将其进行实例化,输入输出库根据映射关系表进行选择;被实例化的测试套件生成可以被自动化测试工具执行的测试用例。6.如权利要求5所述的一种验证黑盒测试用例设计完整性的方法,其特征在于:步骤5中,步骤4生成的测试用例可以被测试工具识别并基于被测代码自动运行,测试覆盖率...

【专利技术属性】
技术研发人员:陈敏颖李朝历徐展
申请(专利权)人:中核控制系统工程有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1