【问题标题】:Generate SQL Statements for database test为数据库测试生成 SQL 语句
【发布时间】:2014-09-11 17:23:32
【问题描述】:

我想对自定义数据库进行覆盖测试,检查数据库是否为多个 sql 查询提供了正确的答案。 因此,我需要大量的 sql 查询来涵盖大部分可能的 sql 语法。 已经给出了数据库结构和sql语法。

是否有可以从现有模式和语法生成 sql 语句的工具。

注意:我要测试的是数据库,而不是数据!数据被认为是正确的。生成的语句将在我的数据库和另一个数据库上执行,这应该为查询提供正确的答案。之后我会比较两个答案来检查我的数据库是否正确处理了 sql。

【问题讨论】:

  • 你到底想在这里测试什么?您的问题意味着您正在测试语法;查询的语法或创建模式的 DDL?或者您是否需要测试数据(似乎更有可能)?如果是数据,则架构 (外键、唯一索引等) 中的任何引用完整性都将被强制执行。这样就剩下测试您的数据是否涵盖某些极端情况?但是模式对您没有帮助(在定义要生成的 SQL 测试方面)。您的问题需要更具体更具体,我们才能为您提供帮助。
  • (可能会举例说明您将手动生成的内容,但需要一个工具来为您生成。)

标签: sql testing code-generation code-coverage


【解决方案1】:

您应该尝试一下随机查询生成器,一些数据库开发团队出于同样的原因使用它。

代码: https://launchpad.net/randgen

文档: https://github.com/RQG/RQG-Documentation/wiki/Category%3ARandomQueryGenerator

如我所见,您可能只需要工具本身的某些部分(取决于您是否使用 MySQL-DB/JDB)。特别是对于 MySQL,有一个完全自动化的过程描述了如何针对已经运行的服务器测试查询。

我希望这是你需要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-22
    • 2015-09-13
    • 1970-01-01
    • 2021-09-24
    • 2016-03-08
    • 2017-09-14
    • 2017-09-17
    • 1970-01-01
    相关资源
    最近更新 更多