1 .一种关系型数据库测试方法,其特征在于,所述方法包括:
根据待测试数据库的测试目标,基于结构化查询语句的语法规则生成结构化查询框架
语句;
获取所述待测试数据库的数据元信息,基于所述数据元信息生成所述待测试数据库的
数据对象关系规则;所述数据对象关系规则表征数据对象之间的层级关系;
根据所述结构化查询框架语句和所述数据对象关系规则,组合生成结构化查询测试语
句;
将所述结构化查询测试语句发送至所述待测试数据库端执行测试,生成测试结果。
2 .根据权利要求1所述的方法,其特征在于,所述根据待测试数据库的测试目标,生成
结构化查询框架语句,包括:
根据所述结构化查询语句的语法规则,生成结构化查询语句中的关键字及非关键字;
根据所述测试目标,逐级解析所述非关键字,得到所述结构化查询语句的主体框架;
基于所述结构化查询语言的主体框架,组合所述结构化查询语句中的关键字,得到所
述结构化查询框架语句。
3 .根据权利要求1所述的方法,其特征在于,所述结构化查询框架语句中的非关键字标
签与所述数据对象关系规则的数据标签一致;所述根据所述结构化查询框架语句和所述数
据对象关系规则,组合生成结构化查询测试语句,具体包括:
若所述结构化查询框架语句为选择查询语句,则执行第一处理流程;所述第一处理流
程包括:确定所述选择查询语句中需要填充的非关键字标签;根据所述选择查询语句中需
要填充的非关键字标签,选取数据对象关系规则中与所述非关键字标签一致的数据标签下
的数据对象填充至所述非关键字标签部分。
4 .根据权利要求3所述的方法,其特征在于,所述根据所述选择查询语句中需要填充的
非关键字标签,选取数据对象关系规则中与所述非关键字标签一致的数据标签下的数据对
象填充至所述非关键字标签部分,包括:
若所述选择查询语句包含多个数据表标签,则优先选取所述数据对象关系规则中有外
键关系的数据表进行填充;若无外键关系,则选取包含相同数据类型列名的数据表进行填
充;
若所述选择查询语句不包含多个数据表标签,则选取所述数据对象关系规则中的任一
数据架构模式节点,选取该架构模式节点下与所述结构化查询框架语句的非关键字标签一
致的数据对象填充至非关键字标签;若被选中数据架构模式节点含有数据表标签,则选取
该数据表标签节点下的数据对象填充至非关键字标签。
5 .根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述选择查询语句中包括筛选语句,且所述筛选语句的子句包含第一实际值标签,
则根据所述待测试数据库,选取对应第一实际值标签数量的值,填充至对应的第一实际值
标签;
若所述选择查询语句中的非筛选语句的子句包含第二实际值标签,则根据所述第二实
际值标签前置的列名称标签类型,通过随机函数生成对应第二实际值标签数量的随机值填
充至所述第二实际值标签。
6 .根据权利要求5所述的方法,其特征在于,所述根据所述待测试数据库,选取对应第
权 利 要 求 书
1/3 页
2
评论