标签: test-data

用于填充MySQL表的PHP脚本

是否有人知道script/class(最好是在PHP中)会解析给定的MySQL table's structure,然后x number of rows根据字段类型填充随机测试数据?

我从来没有见过或听说过这样的事情,并且我想在自己写一篇文章之前先检查一下.

php mysql testing test-data dataset

14
推荐指数
1
解决办法
4948
查看次数

使用自动测试数据进行昂贵的维护

在我的公司,我们在Java Web应用程序中使用JUnit进行了越来越多的集成测试.每个测试都使用一些特定的外部XML文件,用测试所需的数据填充数据库.问题是:

  1. 当模型发生变化时,我们需要很长时间来纠正所有XML文件(我们有数百个XML文件,其中很多都是冗余的).
  2. 手动创建XML文件的复杂性阻碍了程序员探索不同的场景.
  3. 我们在测试数据和测试之间没有链接(例如,在测试时我不知道XML插入的用户的'名称').我们可以硬编码我们需要的信息,但它也会增加维护时间,以保持XML和硬编码数据的同步.

面对这个问题,我开始考虑使用自己的系统CRUD为每个测试生成测试数据.在每次测试开始时,我会运行一些方法来保存测试所需的数据.在我看来,它将解决以下所有3个问题:

  1. 对模型的更改无论如何都需要更改CRUD,因此不再需要更正测试数据.
  2. 构建测试数据会更容易,因为我们不会担心手动匹配实体的id和外键.
  3. 我会在IDE中保证同步的所有重要数据.

但是,对我来说,缺乏开始这种方法的经验和知识.问题是:这个解决方案有效吗?这种方法会导致其他问题吗?我可以在文献中找到这种方法吗?对列出的问题有更好的解决方案吗?

java integration-testing automated-tests test-data data-driven

12
推荐指数
1
解决办法
155
查看次数

如何获取或生成推荐系统的测试数据

我目前正在研究推荐系统,并想知道其他研究人员如何获取或生成测试数据来评估系统的性能?

testing test-data system mahout

10
推荐指数
2
解决办法
1313
查看次数

如何让Autofixture创建一个包含具有接口类型的属性的类型的实例?

我有这样一堂课:

public class ViewModel
{
    public IPagination<Data> List { get; set; } // interface!
    public SearchFilter SearchFilter { get; set; }
    public string Test { get; set; }
}

public class SearchFilter
{
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

应在IPagination接口周围创建动态代理,代理应填充测试数据.现在可以让AutoFixture创建一个ViewModel类型的实例吗?请注意,我只知道运行时的类型(typeof(ViewModel)).

到现在为止我知道我可以这样做:

var context = new SpecimenContext(fixture.Compose());
var value = context.Resolve(new SeededRequest(typeof(ViewModel), null))
Run Code Online (Sandbox Code Playgroud)

c# test-data autofixture

9
推荐指数
2
解决办法
5669
查看次数

我在哪里可以找到磁条(轨道)测试数据?

我已经编写了一个函数库,根据ISO/IEC 7813解析了磁道上的磁条(信用卡,ID等)中的磁道1和磁道2的数据.我希望严格测试这个磁带库的一些有效(但显然不是真正的信用卡')追踪2个数据.我只能在网上找到一些示例字符串.我的代码与这些示例完美配合,但我喜欢测试不同的卡发行商等,以确保代码真的可以用于生产.有任何想法吗?我知道http://www.getcreditcardnumbers.com/提供测试信用卡号码,类似于track2数据的东西是理想的.

包含CC号,有效期和其他信息的标准音轨2字符串如下所示:; 1111222233334444 = 9912101xxxxxxxxxxxxx?

test-data credit-card magnetic-cards

9
推荐指数
1
解决办法
1万
查看次数

如何拆除specflow场景

我正在尝试创建一组新的测试来测试我正在处理的遗留网站.该站点在后端使用数据库.我打算使用SpecFlow和Selenium,但是我对处理清理数据的最佳方法感到有点困惑.

目前,我有一组数据库备份,其中包含一组样本数据,我会在每次测试运行之前将其恢复.然而,这很麻烦,因此我只想在发布之前对关键测试运行执行此操作,并使持续集成运行在两者之间的同一数据库上运行.

目前我有大量的测试,如下所示:

Secenario: Test Item Creation
    Given I am logged in
    When I create an item with a unique name
    Then an item exists with the unique name
Run Code Online (Sandbox Code Playgroud)

when步骤使用GUID来确保名称是唯一的,然后步骤可以通过模块变量访问它以检查它是否存在.

就像我说的那样,我有很多类似的测试,我在同一个数据库上多次运行它们,所以测试系统充满了物品,这会减慢搜索速度等.

我的问题是处理这个问题的最佳方法是什么?我应该在测试中创建另一个步骤,再次删除该项目,如下所示:

Secenario: Test Item Creation
    Given I am logged in
    When I create an item with a unique name
    Then an item exists with the unique name
    Then delete the item with the unique name
Run Code Online (Sandbox Code Playgroud)

或者我的测试框架应该以某种方式处理这个问题?如果是这样,人们做什么?鉴于SpecFlow步骤的全局性,我认为如果具有父子关系的多个项目可能成为问题,则以正确的顺序获取拆除步骤.

database test-data scenarios specflow teardown

9
推荐指数
1
解决办法
4220
查看次数

使用shell脚本生成随机文件

如何在shell脚本中生成随机数字或字符填充的随机文件?我还想指定文件的大小.

shell scripting test-data

8
推荐指数
2
解决办法
1万
查看次数

使用测试数据填充表,同时保持关系完整性

我有一个带InnoDB表的MySQL数据库,其中很多都有外键.

我打算编写一个脚本来填充带有测试数据(10-20k行或更多行)的表格,但我想我应该问一下是否已经存在可以根据字段类型生成测试数据但确保关系完整性的内容同一时间?

我已经看过并已经在generatedata.com上下载了脚本,但据我所知,它很聪明但它不会读取数据库中的表并根据它找到的内容生成数据 - 你必须手动完成所有操作.

mysql database testing rdbms test-data

8
推荐指数
1
解决办法
1724
查看次数

坚持复杂的测试数据

我们使用构建器模式生成测试数据.这些域对象之间存在关系.我们的功能测试要求保留这些对象.

想想这个模型:

域模型http://i34.tinypic.com/21mg1gn.png

如果我想要一个普通的CI实例 aNew().c().build()

如果我希望它坚持我做 aNew().c().saveIn(session)

如果我想要一个具有已知BI的C实例 aNew().c().with(b).build()

嗯,你明白了.我的问题是,如果我想坚持一个C,它应该坚持它的B吗?或者它应该在手前坚持下去?如果我想要一个合理的默认B呢?如果我想坚持D怎么样?它应该坚持A,B,C吗?

当然,真实的系统要复杂得多(有时带有循环引用).我正在寻找持久复杂测试数据的最佳实践.

编辑:看起来我遇到了语言障碍,我的母语不是英语,所以我很抱歉默默无闻.以下是更多信息:

  • 它不是我试图测试的遗留代码
  • 我正在尝试编写覆盖测试,而不是单元测试(因此我不会嘲笑任何东西)
  • 如果数据库填充到某种程度(它不使用所有实体),我试图测试的软件工作.

PS.请不要犹豫,询问更多信息,因为我一直在努力寻找可能的最佳实践.我最接近的是:

  1. 跟踪构建实体时明确设置的内容.
  2. 假设显式设置的实体已经保留,请不要保留它们.
  3. 坚持一切(用他们自己的毅力).

这样可行,但我的蜘蛛感觉刺痛,我认为我做错了,因为测试代码会涉及逻辑,如果没有测试,处理起来会非常复杂.

编辑2:我会尽力让自己更清楚.当我编写/运行我的单元和一些集成测试时我没有问题,因为测试数据没有持久化,它存在于内存中.

但是当我试图坚持我的测试数据时,如果没有它的关系,hibernate将不会让我保存一个实体.

我怎样才能克服这个问题?

testing persistence test-data fluent-interface

7
推荐指数
1
解决办法
424
查看次数

有什么好的姓氏数据库吗?

我正在寻找生成一些数据库测试数据,特别是包含人名的表列.为了更好地指示索引在基于名称的搜索方面的工作情况,我希望尽可能接近真实世界名称及其真实的频率分布,例如,许多不同的名称,其频率分布在某些幂律分布上.

理想情况下,我正在寻找一个免费提供的数据文件,其名称后跟每个名称的单个频率值(或等效概率).

基于盎格鲁撒克逊人的名字会很好,尽管来自其他文化的名字也会有用.

database testing test-data

7
推荐指数
1
解决办法
2386
查看次数