System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,特别是涉及一种数据库的测试方法、装置、计算机设备、存储介质和计算机程序产品。
技术介绍
1、过程化结构查询语言(procedural language/structured query language,pl/sql)是sql的扩展,pl/sql在sql上添加了编程语言的特点,可以实现程序逻辑控制、面向对象设计、过程化编程结构、错误处理等功能,pl/sql可以对复杂业务场景的数据库进行测试。
2、相关技术中,通过人工编写pl/sql测试用例,编写的pl/sql测试用例较为单一,导致测试覆盖面较窄,影响数据库的测试效果。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种数据库的测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,能够提升数据库测试的覆盖率。
2、第一方面,本申请提供了一种数据库的测试方法。所述方法包括:
3、依据概率表中的声明类语法结构下各语句标识对应的概率值,选取声明语句标识,并根据声明语句标识构建声明语句块;概率表中的概率值依据执行结果进行动态调整;依据概率表中的可执行类语法结构下各语句标识对应的概率值,选取基础操作语句标识和流程控制语句标识,并基于基础操作语句标识和流程控制语句标识生成可执行语句块;基于声明语句块和可执行语句块构建测试用例;采用测试用例对目标数据库进行测试,得到目标数据库在测试用例下的执行结果。
4、第二方面,本申请还提供了一种数据库的测试装置。所述装置包括:
5、声明语句块生成模块,用于依据概率表中的声明类语法结构下各语句标识对应的概率值,选取声明语句标识,并根据声明语句标识构建声明语句块;概率表中的概率值依据执行结果进行动态调整;
6、可执行语句块生成模块,用于依据概率表中的可执行类语法结构下各语句标识对应的概率值,选取基础操作语句标识和流程控制语句标识,并基于基础操作语句标识和流程控制语句标识生成可执行语句块;
7、测试用例构建模块,用于基于声明语句块和可执行语句块构建测试用例;
8、测试模块,用于采用测试用例对目标数据库进行测试,得到目标数据库在测试用例下的执行结果。
9、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
10、依据概率表中的声明类语法结构下各语句标识对应的概率值,选取声明语句标识,并根据声明语句标识构建声明语句块;概率表中的概率值依据执行结果进行动态调整;依据概率表中的可执行类语法结构下各语句标识对应的概率值,选取基础操作语句标识和流程控制语句标识,并基于基础操作语句标识和流程控制语句标识生成可执行语句块;基于声明语句块和可执行语句块构建测试用例;采用测试用例对目标数据库进行测试,得到目标数据库在测试用例下的执行结果。
11、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
12、依据概率表中的声明类语法结构下各语句标识对应的概率值,选取声明语句标识,并根据声明语句标识构建声明语句块;概率表中的概率值依据执行结果进行动态调整;依据概率表中的可执行类语法结构下各语句标识对应的概率值,选取基础操作语句标识和流程控制语句标识,并基于基础操作语句标识和流程控制语句标识生成可执行语句块;基于声明语句块和可执行语句块构建测试用例;采用测试用例对目标数据库进行测试,得到目标数据库在测试用例下的执行结果。
13、第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
14、依据概率表中的声明类语法结构下各语句标识对应的概率值,选取声明语句标识,并根据声明语句标识构建声明语句块;概率表中的概率值依据执行结果进行动态调整;依据概率表中的可执行类语法结构下各语句标识对应的概率值,选取基础操作语句标识和流程控制语句标识,并基于基础操作语句标识和流程控制语句标识生成可执行语句块;基于声明语句块和可执行语句块构建测试用例;采用测试用例对目标数据库进行测试,得到目标数据库在测试用例下的执行结果。
15、上述数据库的测试方法、装置、计算机设备、存储介质和计算机程序产品,根据概率表中各语句标识对应的概率值,选取声明语句标识、基础操作语句标识和流程控制语句标识,根据声明语句标识生成声明语句块,根据基础操作语句标识和流程控制语句标识构建可执行语句块,再根据声明语句块和可执行语句块构建测试用例,采用测试用例对目标数据库进行测试,得到执行结果;实现了自动构建pl/sql类型的测试用例,提升了构建pl/sql类型的测试用例的效率,进而提升了目标数据库的测试效率;在不同的测试轮次中,根据概率表中的概率值选取的各语句标识可能不同,进而可以根据各语句标识对应的语句构建不同的测试用例,提升了测试用例的丰富程度,可以提升数据库测试的覆盖率;此外,由于概率表中的概率值基于执行结果进行动态调整,使得语句标识被选取的概率发生变化,进而构建的测试用例更加丰富,进一步提升了数据库测试的覆盖率。
本文档来自技高网...【技术保护点】
1.一种数据库的测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述采用所述测试用例对目标数据库进行测试,得到所述目标数据库在所述测试用例下的执行结果之后,还包括:
3.根据权利要求2所述的方法,其特征在于,所述采用所述测试用例对目标数据库进行测试,得到所述目标数据库在所述测试用例下的执行结果之后,还包括:
4.根据权利要求3所述的方法,其特征在于,所述采用所述测试用例对目标数据库进行测试,得到所述目标数据库在所述测试用例下的执行结果之后,还包括:
5.根据权利要求1所述的方法,其特征在于,所述依据概率表中的声明类语法结构下各语句标识对应的概率值,选取声明语句标识,包括:
6.根据权利要求1所述的方法,其特征在于,所述可执行类语法结构包括基础操作层级结构和流程控制层级结构;
7.根据权利要求6所述的方法,其特征在于,所述依据所述概率表中的所述流程控制层级结构下各语句标识对应的概率值,选取流程控制语句标识,包括:
8.根据权利要求1所述的方法,其特征在于,所述基于所述
9.根据权利要求8所述的方法,其特征在于,所述基础操作子语法树包括基础表达式树,所述基础操作语句包括基础表达式语句;
10.根据权利要求8所述的方法,其特征在于,所述基础操作子语法树包括布尔表达式树,所述基础操作语句包括布尔表达式语句;
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述方法还包括:
12.根据权利要求1至10中任一项所述的方法,其特征在于,所述基于所述声明语句块和所述可执行语句块构建测试用例,包括:
13.一种数据库的测试装置,其特征在于,所述装置包括:
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
16.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种数据库的测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述采用所述测试用例对目标数据库进行测试,得到所述目标数据库在所述测试用例下的执行结果之后,还包括:
3.根据权利要求2所述的方法,其特征在于,所述采用所述测试用例对目标数据库进行测试,得到所述目标数据库在所述测试用例下的执行结果之后,还包括:
4.根据权利要求3所述的方法,其特征在于,所述采用所述测试用例对目标数据库进行测试,得到所述目标数据库在所述测试用例下的执行结果之后,还包括:
5.根据权利要求1所述的方法,其特征在于,所述依据概率表中的声明类语法结构下各语句标识对应的概率值,选取声明语句标识,包括:
6.根据权利要求1所述的方法,其特征在于,所述可执行类语法结构包括基础操作层级结构和流程控制层级结构;
7.根据权利要求6所述的方法,其特征在于,所述依据所述概率表中的所述流程控制层级结构下各语句标识对应的概率值,选取流程控制语句标识,包括:
8.根据权利要求1所述的方法,其特征在于,所述基于所述基础操作语句标识和所述流程控制语句标识生成...
【专利技术属性】
技术研发人员:秦春玲,胡永,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。