生成模拟数据的工具?

Bil*_*win 104 testing data-generation

我正在寻找一个好的免费工具的建议,用于生成样本数据以便加载到测试数据库中.通过类比,可以为任何RDBMS 生成" lorem ipsum "文本.我正在寻找的功能包括:

  • 灵活地为现有表定义生成数据.
  • 能够生成小型和大型数据集(> 100万行或更多).
  • 以SQL脚本格式(INSERT语句)生成,或者以适合批量导入的平面文件格式生成(通常更快).
  • 用于轻松编写脚本的命令行界面.
  • 可扩展的开源,用动态语言编写(这些是很好的,不是很强的要求).

PS:我确实在StackOverflow上搜索了一个重复的问题,但我没找到.如果有的话,我会很高兴得到一个指针.


感谢大家的响应!我应该修改我的要求,即我使用Mac OS X作为我的主要开发环境,而不是Windows(虽然我确实说命令行界面是可取的,而且实际上排除了Windows).不过,特定于Windows的建议无疑会对这个问题的其他读者有用,所以,谢谢.


这是我的结论:

  • GenerateData:
    • PHP Web应用程序界面,而不是命令行
    • 仅限于生成200条记录(或支付20美元用于生成5,000条记录的许可)
  • RedGate SQL数据生成器
    • 不免费,价格295美元
    • 需要Windows,.NET,SQL Server
  • Visual Studio 2008数据库版
    • 需要Windows
    • 需要昂贵的MSDN或ISV订阅
  • Banner Datadect
    • 不是免费的,价格595美元
    • 需要Windows(?)
    • 不支持MySQL(?)
    • GUI,不是命令行或脚本
  • Ruby Faker宝石
    • 使用ActiveRecord进行批量数据加载的速度太慢了
  • 超级Smack
    • 主要是负载测试工具,内置随机数据生成器
    • 但是很简单
    • 总体而言,这是一个很好的亚军工具
  • Databene Benerator
    • 满足我需求的最佳解决方案
    • XML脚本,与DbUnit兼容
    • 开源(GPL)Java代码
    • 命令行用法
    • 通过JDBC直接访问许多数据库

Pas*_*ent 41

看看databene benerator,一个看起来接近您要求的测试数据生成器.

  • 它可以为现有的表定义生成数据(甚至匿名化生产数据)
  • 它可以生成大数据集(无限大小)
  • 它支持各种输入(CSV,平面文件,DBUnit)和输出格式(CSV,平面文件,DBUnit,XML,Excel,脚本)
  • 它可以在命令行上使用,也可以通过maven插件使用
  • 它是开源的和可定制的

我试试看.

BTW,databene benerator网站上提供了类似产品清单.


Cha*_*rch 23

这看起来非常有前景:generatedata.com.开源,有很多内置数据类型.

此处列出了其他几个:测试(样本)数据生成器.我没有任何经验,但在这个列表上的一些看起来可能相当不错.


moc*_*dev 6

试试http://www.mockaroo.com

这是我公司为帮助测试我们自己的应用程序而制作的工具.我们让任何人都可以免费使用它.它基本上是Forgery ruby​​ gem,周围有一个Web应用程序.您可以生成CSV,txt或SQL格式的数据.希望这可以帮助.


Kev*_*Dog 5

我知道你说你正在寻找一个免费工具,但这是一个案例,我建议花295美元将很快收回你的时间.去年我一直在使用RedGate工具SQL数据生成器,简而言之,它是一个很棒的工具.它允许设置列之间的依赖关系,为业务对象生成实际数据,如电话号码,网址,名称等.我可以诚实地说这个工具已经一次又一次地为自己付出了代价.