Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing 测试系统的生产数据_Testing_Masking_Gui Testing_Test Data_Test Environments - Fatal编程技术网

Testing 测试系统的生产数据

Testing 测试系统的生产数据,testing,masking,gui-testing,test-data,test-environments,Testing,Masking,Gui Testing,Test Data,Test Environments,我需要一些关于如何在手动UI测试中处理测试数据的建议。我们的应用程序需要来自数据库的数据才能工作和手动测试。因为我们处理的是敏感数据,所以不允许在测试系统(或开发机器)上使用生产数据进行转储 你如何处理这个问题?我正在考虑在测试中使用生产数据时屏蔽生产数据的可能性,是否有免费或开源的工具?我更喜欢这种解决方案,因为有可能产生大量数据。我希望您有一个想法,手动创建测试数据将非常耗时。如果您通过DAO(数据访问对象)访问数据,您可以创建该对象的模拟来测试代码,我在一个项目中使用了Mockito。如果

我需要一些关于如何在手动UI测试中处理测试数据的建议。我们的应用程序需要来自数据库的数据才能工作和手动测试。因为我们处理的是敏感数据,所以不允许在测试系统(或开发机器)上使用生产数据进行转储


你如何处理这个问题?我正在考虑在测试中使用生产数据时屏蔽生产数据的可能性,是否有免费或开源的工具?我更喜欢这种解决方案,因为有可能产生大量数据。我希望您有一个想法,手动创建测试数据将非常耗时。

如果您通过DAO(数据访问对象)访问数据,您可以创建该对象的模拟来测试代码,我在一个项目中使用了Mockito。如果您正在测试的代码直接访问数据库,则必须将其指向某种类型的“测试数据库”


模拟的另一个特性是所谓的spy对象,即围绕底层真实对象的模拟,在这里您可以使用测试代码覆盖某些方法,即禁用删除、创建掩码等,而所有非模拟覆盖的方法都直接传递给底层真实对象。。。检查:

RedGate Sql数据掩码是为这个问题设计的,但它既不是免费的,也不是开源的。你可以循环一些随机函数来产生大量的垃圾,尽管听起来你在寻找一个“购买”超过“构建”。例如:

  • 您是否知道数据库中所有敏感数据的位置
  • 引用完整性有多重要
  • 是否需要随时间和跨数据库的一致性
  • 您希望在多大程度上取消识别每个数据
  • 您真的需要屏蔽整个数据库吗
如果您能够手动满足这些项目,那就太棒了!但是,如果您希望在降低成本的同时及时完成这项工作(更不用说保护公司及其数据库免受风险),我建议您在www.datamasking.com上查看数据屏蔽的最佳实践


希望这有帮助

好吧,这是真的。我已经在单元测试中使用Mockito了。但是对于无法工作的测试系统上的手动GUI测试。我的要求是在客户端查看大量数据。有两种可能的解决方案:JUnit有一个用于数据库测试的扩展,可以使用:。或者您可以创建自己的JDBC驱动程序,在真正的JDBC驱动程序之上充当过滤器,请参阅:这不是第一次有人问这个问题:不,我的问题是关于数据屏蔽的。因此,我们使用自己的jdbc驱动程序的想法不适用,因为我不想过滤数据。我想将生产数据转换为一种可以保存的形状,以便在我的测试服务器或开发环境中进行复制。对不起,我的错误。。。我所说的过滤器实际上是指面具。。基本上,在创建自己的JDBC驱动程序(位于代码和实际驱动程序之间)时,您可以检查通过的任何数据,并屏蔽不应传递到测试的任何数据。。。