问题标签 [test-data]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
testing - 测试数据生成工具
是否有任何工具可以根据特定要求生成测试数据?
例如大小、文件类型
web-services - 您的组织如何设置测试数据?
我在一个将 Web 服务作为关键应用程序的组织中担任测试员。目前,我们通过 Web 前端加载大量测试数据,因为这是在现实世界中完成的方式。
这使数据具有一定程度的合法性,并防止数据格式出现错误。但是,以这种方式加载数据非常耗时,我经常想知道将数据直接加载到数据库是否会更有效率。
其他人是否有此决定,您选择了哪个选项?是否有另一种解决方案可以同时提供数据的速度和合法性。
testing - 生成人员数据的来源?
这只是一个切向的编程问题。在哪里可以找到易于解析的人名列表?这实际上只是填充材料,因此它们不需要太多押韵或理由。
或者,当您需要创建一堆虚拟帐户时,是否有相当于lorem ipsum的程序员?
unit-testing - 您将测试数据文件保存在哪里?
有点像这个问题的副产品。您是否将它们保留在源代码树中?您是否将它们保留在源代码控制中?
我在想,如果您的测试用例引用文件,那么这些文件是系统行为规范的一部分,因此它们与系统的当前版本相关联,因此应该将它们检查到源代码管理中。但我认为它们不应该在本地检查,因为它们不需要,而且它们可能非常大。所以我倾向于有一个并行树,这样如果一个项目的代码文件在 $svn/Code/foo/bar/baz,相关的测试数据文件在 $svn/TestData/foo/bar/baz,并且后者将使用某种常见的测试数据帮助程序类(可能在本地缓存文件?)直接从服务器访问,它可以只接受相对路径并找出在哪里找到它们。这有意义吗?
我想有一个相关的问题是我应该首先使用外部文件进行测试的范围。我确实认为它们通常适用于更高级别的“验收”测试。
postgresql - 从模式自动生成测试数据到数据库?
我有一个讨论数据库,我需要大量测试数据,用于不同大小的样本。请查看准备好的 SELECT、JOIN 和 CREATE 查询,请在链接中向下滚动。
如何自动生成测试数据到数据库?
如何在不同大小的样本中生成测试数据?
有现成的工具吗?
ruby - 非 Ruby 应用程序的 Cucumber 和测试数据管理
我正在测试一个基本上是消息处理应用程序的应用程序 - 一条消息进来,它的内容被分析,然后它被发送到其他地方进行处理。该应用程序不是用 Ruby 构建的。
正如您可能想象的那样,主要的测试方法包括生成一大堆不同类型的(非常复杂的)消息,将它们加载到应用程序中,等待几秒钟,然后确保它们被发送到正确的位置。
从功能上讲,测试进展顺利,但我目前已经在 Ruby 代码中定义了所有测试消息和所需的消息目的地——我想将它们移动到 YAML 文件或(第二选择)数据库中。我更喜欢使用 YAML 文件而不是数据库,因为它更容易进行版本控制,并且非技术测试人员可以直接编辑消息内容。
是否有“推荐”的方式在 Cucumber 中实现这种数据管理?有点像夹具方法的味道是有道理的,但对我来说,夹具总是涉及从文件中填充数据库,然后使用数据库进行测试,我不能 100% 确定这是最适合/最简单的方法。问题。
.net - 我如何只支付一次费用来为多个单元测试提供相同的昂贵数据源?
天!
我在 220,000 个文件中有 4.6GB 的测试数据。批量测试需要查找、匹配和解压缩文件对。我想在每一对上运行多个单元测试。如果我无法说服测试框架只查找、匹配和解压缩测试数据一次,而不管需要该数据的单元测试数量如何,这将花费非常长的时间。
NUnit 的 TestDataSource 似乎只适用于一个单元测试,但似乎以深度优先的方式运行多个单元测试:每个测试运行整个数据集,一个接一个测试。
是否有可以运行广度优先的测试框架,将每个数据加载一次并将其提供给多个单元测试?
我可以尝试什么其他方法来为我提供每个数据的所有测试结果,而不仅仅是通过或第一个失败的结果?
testing - 持久化复杂的测试数据
我们正在使用构建器模式来生成测试数据。这些领域对象之间有关系。我们的功能测试要求这些对象被持久化。
想想这个模型:
如果我想要一个普通的 CI 实例aNew().c().build()
如果我想让它坚持下去,我会aNew().c().saveIn(session)
如果我想要一个具有已知 BI 的 C 实例aNew().c().with(b).build()
嗯,你明白了。我的问题是,如果我想坚持一个C,它应该坚持它是B吗?还是应该事先坚持?如果我想要一个合理的默认 B 怎么办?如果我想坚持 D 怎么办?它应该坚持所有A,B,C吗?
当然,真实系统要复杂得多(有时带有循环引用)。我正在寻找持久化复杂测试数据的最佳实践。
编辑:看来我遇到了语言障碍,我的母语不是英语,所以我很抱歉晦涩难懂。以下是更多信息:
- 我要测试的不是遗留代码
- 我正在尝试编写覆盖测试,而不是单元测试(因此我不会嘲笑任何东西)
- 如果数据库被填充到一定程度(它不使用所有实体),我试图测试的软件就可以工作。
PS。请不要犹豫,询问更多信息,因为我一直在努力寻找可能的最佳实践。我想出的最接近的事情是:
- 在构建实体时跟踪明确设置的内容。
- 假设显式设置的实体已经被持久化,不要持久化它们。
- 坚持其他一切(使用他们自己的坚持者)。
这会起作用,但是我的蜘蛛感觉很刺痛,我认为我做错了什么,因为测试代码中会涉及到逻辑,如果没有测试,处理起来会非常复杂。
编辑2:我会尽量让自己更清楚。当我编写/运行我的单元和一些集成测试时,我没有问题,因为测试数据没有持久化,它存在于内存中。
但是当我尝试持久化我的测试数据时,休眠不会让我保存没有关系的实体。
我该如何克服这个问题?
c# - 简单的伪随机算法
我需要一个伪随机生成器,它以一个数字作为输入并返回另一个数字,女巫是可重现的并且似乎是随机的。
- 每个输入数字应与一个输出数字完全匹配,反之亦然
- 相同的输入数字总是导致相同的输出数字
- 靠近的连续输入数字(例如 1 和 2)应该产生完全不同的输出数字(例如 1 => 9783526, 2 => 283)
它不一定是完美的,它只是为了创建随机但可重现的测试数据。
我使用 C#。
我前段时间写了这段有趣的代码,它产生了一些随机的东西。
我想要更好、更可靠的东西,可以处理任何大小的数字(没有最大参数)。
可以使用 CRC 算法来解决这个问题吗?或者一些洗牌的东西。
c# - Visa或万事达卡的测试数据
我需要签证或万事达卡的虚拟或测试数据来测试我的系统,例如授权码、卡号和到期日期?