[发明专利]一种数据库变更效果的测试方法及测试装置有效
申请号: | 201010596130.8 | 申请日: | 2010-12-10 |
公开(公告)号: | CN102567351A | 公开(公告)日: | 2012-07-11 |
发明(设计)人: | 王民华;崔希宁;倪彦彪 | 申请(专利权)人: | 中国移动通信集团北京有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F11/00 |
代理公司: | 北京银龙知识产权代理有限公司 11243 | 代理人: | 黄灿;姜精斌 |
地址: | 100007 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 变更 效果 测试 方法 装置 | ||
技术领域
本发明涉及数据库技术领域,具体涉及一种数据库变更效果的测试方法及测试装置。
背景技术
企业级信息系统的体系架构一般至少包括:展示层、业务逻辑层、数据层等多个层次,其中数据层一般采用成熟的数据库产品。信息系统的各类应用通过数据库访问语句,如结构化查询语言(SQL,Structured Query Language),访问数据库。数据库管理系统分析数据库访问语句,根据预定义的规则生成执行计划,并依据执行计划执行。
信息系统运行维护期间,为了提升某些数据库访问语句的执行效率,需要进行数据库变更,例如新建或删除某些索引。数据库变更可能引起预期外的数据库访问语句执行计划的改变,从而造成数据库访问语句执行异常,影响系统正常的业务功能。
为避免上述情况,需要在对生产环境执行数据库变更前进行性能测试。该测试要验证系统(软件/硬件)变更后的稳定性,评估数据库变更的收益和风险。如:该测试一方面需要验证变更后原来存在问题的数据库访问语句性能有改善,比如确实使用了为之新建的索引;另一方面也需要保证变更未造成其它数据库访问语句性能的下降。
为完成上述测试目标,现有技术采用的端到端测试中,在测试范围上,不仅需要设计与待优化的数据库访问语句直接相关的业务测试用例,还需要设计所有与待优化数据库访问语句有关联(比如共用了同一张数据库表)业务的测试用例。在测试用例设计上,由于多层次的信息系统的架构非常复杂,很难设计出良好的用例,能够准确覆盖数据库变更相关的数据库访问语句,只能通过加大测试用例量来提高覆盖度。在测试环境搭建上,由于现有技术是从应用角度进行测试,要求测试环境必须搭建与生产环境相同的完整的多层系统,并且需要模拟真实生产运营中对于系统的使用强度,因此在硬件环境和商用测试软件投资和维护上需要巨大成本,并且操作复杂。
可以看出,现有技术的测试方案,是从外围端到端的测试,由于测试范围比较大,需要设计大量的测试用例,因此测试案例设计复杂,需要投入大量的人力物力进行测试,且操作耗时,不适合常规的系统变更。并且,由于测试案例很难精确覆盖数据库变更影响点,测试的针对性不强。提高覆盖率又会导致测试工作量进一步增加。另外,搭建与生产环境相同的测试环境也需要投入大量的人力、物力和时间。
发明内容
本发明实施例所要解决的技术问题是提供一种数据库变更效果的测试方法及测试装置,用以简单,快速,准确,经济地实现数据库变更效果的测试。
为解决上述技术问题,本发明实施例提供方案如下:
一种数据库变更效果的测试方法,包括步骤:
确定待测试的数据库访问语句,所述待测试的数据库访问语句包括:所述数据库变更所涉及到的待优化数据库访问语句;
在所述数据库变更前,生成所述待测试的数据库访问语句的第一执行计划;
在所述数据库变更后,生成所述待测试的数据库访问语句的第二执行计划;
根据所述第一执行计划和所述第二执行计划,评估所述数据库变更的效果。
优选地,上述的测试方法中,
进一步在测试环境下生成所述第一执行计划和所述第二执行计划;
在生成所述第一执行计划和所述第二执行计划之间还包括:
在所述测试环境下,通过所述数据库变更,对所述待优化数据库访问语句进行优化。
优选地,上述的测试方法中,所述根据所述第一执行计划和所述第二执行计划,评估所述数据库变更的效果,具体包括:
判断所述待优化数据库访问语句的第二执行计划相对于第一执行计划是否发生了预期改变:若是,则判断所述数据库变更测试通过;否则,判断所述数据库变更测试未通过。
优选地,上述的测试方法中,
所述待测试的数据库访问语句还包括:数据库变更并未涉及到的、但符合预定条件的抽选数据库访问语句;
所述根据所述第一执行计划和所述第二执行计划,评估所述数据库变更的效果,具体包括:
在所述待优化数据库访问语句的第二执行计划相对于第一执行计划未发生预期改变时,判断所述数据库变更测试未通过;
在所述待优化数据库访问语句的第二执行计划相对于第一执行计划发生了预期改变时,判断所述抽选数据库访问语句的第二执行计划相对于第一执行计划是否发生改变:
如果未发生改变,则判断所述数据库变更测试通过;
如果发生改变,则进一步评估所述改变是否带来负面影响:若是,则判断所述数据库变更测试未通过;否则,判断所述数据库变更测试通过。
优选地,上述的测试方法中,所述预定条件为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团北京有限公司,未经中国移动通信集团北京有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010596130.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:文档检索方法和装置
- 下一篇:一种单据字段位置的调整方法及字段位置调整器