如何在测试自动化中管理大型数据集驱动的测试?

时间:2017-08-14 11:13:12

标签: git testing automated-tests

我们有测试框架代码库以及git repo上的测试数据集。 测试数据量很大,从1 GB到20 GB不等,git不是存储此类数据的解决方案。耗时的任务是:

  • 从源代码下载数据(Git)
  • 将数据传输到目标测试机器。

减少数据传输时间的解决方案是什么?

2 个答案:

答案 0 :(得分:0)

我认为在每个测试执行周期之间在机器之间传输如此庞大的文件是没有意义的。特别是如果所有文件都是静态的,并且构建的频率很高。

根据可用的资源/基础设施,我会考虑使用Docker映像或具有共享文件夹的VM。例如,在Docker的情况下,您可以安装包含测试数据的卷。 VM也可以配置为使用主机的共享(或者只使用已注入的自定义数据部署它)。公共服务也提供这样的功能。

答案 1 :(得分:0)

需要最少存储空间的解决方案是动态数据生成。您可以创建算法来生成这些值,而不是使用硬编码的值和文件。

如果动态数据不是一个选项,您可以在Maven仓库(Sonatype Nexus)中存储文件并下载这些文件。这样的文件将有一个版本,Maven足够聪明,如果已经下载了它们,就不会下载工件。

如果您经常更改数据,那么大量数据将需要大量存储空间。所以Nexus机器需要相当大。