[发明专利]用于生成数据库的测试工作负载的系统和方法有效
申请号: | 201110429529.1 | 申请日: | 2011-12-20 |
公开(公告)号: | CN103176973A | 公开(公告)日: | 2013-06-26 |
发明(设计)人: | 傅毓勤;魏可伟;M·申克尔;刘恒;李硕;杨新颖 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 张亚非;于静 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 生成 数据库 测试 工作 负载 系统 方法 | ||
技术领域
本发明涉及数据处理领域,具体涉及数据库,更具体涉及一种用于生成数据库的测试工作负载的系统和方法。
背景技术
目前,大量的应用运行在数据库管理系统中存储的数据之上。随着软件的日益复杂,如何确保这些应用的质量成为一个关键问题。此外,不仅是应用变得更复杂,数据库管理系统本身也变得更复杂。这些数据库管理系统通常存储着由很多不同应用和成千上万的用户访问的业务关键数据。数据库管理系统的中断通常对于核心业务来说具有严重的后果,其可造成企业数百万元的损失,失去用户和业务伙伴的信任,甚至引起法律纠纷。在最坏的情况下甚至使企业倒闭。因此,获得充足的数据库测试方法对于企业来说是必不可少和至关重要的。而且获得这种数据库测试方法不但对于作为数据库最终用户的企业是至关重要的,而且对于应用中间件厂商以及数据库厂商自己也是至关重要的。
以数据库为中心的测试的关键是能够获得“真实世界的”工作负载,这是因为,由于当今的应用和环境的复杂性,极难人工生成充足的生产系统的数据和访问模式。
现在也日益需要将这种真实世界的工作负载及相应的测试工具更多地提供给第三方。例如,一个企业可能将其应用数据库测试外包给服务提供商,这也被称为作为服务的测试(Test as a Service)。这产生了数据机密性和安全性的问题。企业很可能不希望将其核心业务数据显露给不可信的第三方。而且,即使在企业内部,数据访问往往也是有着严格限制的。开发和测试应用的人可能无法访问真实的业务数据。
目前已存在几种用于收集和/或生成工作负载的解决方案,但或者由于数据机密性问题,或者由于对真实世界环境的不充分模拟,它们的使用都是有限的。而且,这些解决方案通常缺乏将数据库数据与语句相关联的能力,因此使它们不适合用于真实的端到端测试场景。
应用驱动的测试方法需要在测试环境中重建通常很复杂的生产系统。这种方法需要花费大量的时间和资源来重建环境。这种解决方案的移植性较差,因为,生产环境是非常独特和难以重建的。此外,测试数据的生成也会成为问题,因为如果数据来自于生产系统,则仍然可能包含机密信息。最后,真实世界工作负载的模拟会成为问题,因为适当的应用驱动器需要被手工创建。
另一种方法是所谓的“捕获和重放”(Capture and Play)解决方案。这里,应用和数据库之间的通信被截获和记录下来。此后,可在开始记录时获取的数据库映像上重放所记录的语句流。然而,该解决方案需要用于重放的数据存储代表与捕获阶段完全相同的状态(包括所有数据)。这使得该解决方案移植性较差,且由于机密性问题而可用性较差,而且这种“锁定”的环境使得很难测试迁移和伸缩的场景。在这种方案中,难以偏离所记录的语句流。此外,这种捕获和重放解决方案无法在人工生成的数据上工作。
目前存在着如下几种生成数据库测试数据的方法:
1)随机测试数据生成。所生成的数据通常没有意义,因此几乎不可能基于这种数据设计出好的工作负载来获得测试目标,无论是从功能角度来看还是从性能角度来看。
2)数据掩蔽(data masking)。很多产品提供了数据掩蔽功能。然而,数据掩蔽通常仅在用户场所内部使用,因为大量数据库对象的存在使得完全确保私密信息是不切实际的,而将掩蔽的数据共享给用户的安全性和私密性边界之外的第三方被认为是不安全的。此外,需要时间和资源来学习和操作掩蔽工具以生成适当的掩蔽。同时,数据掩蔽可能打破数据的顺序,使得原始工作负载中的一些查询无法直接用于测试。
3)简档生成(profiling)和填充脚本。测试者基于预定的测试策略编写其自己的数据生成脚本。例如,测试者通过运行简档生成脚本生成记录了表大小或列不同值的简档,然后根据简档将数据插入到目标系统中。该方法需要测试者很好地了解应用,并在测试数据生成项目上花费大量时间。
所有这些测试数据生成方法的一个缺点是它们没有将SQL语句和应用工作流考虑进去,这使得它们无法成为一个充足的端到端解决方案。
因此,本领域中需要一种能够容易地生成可移植的和通用的用于数据库测试的端到端工作负载的解决方案。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110429529.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:分流袋
- 下一篇:依据多个查询字词的翻译查询系统及其方法