测试系统上的生产数据

时间:2012-04-28 15:45:12

标签: testing masking gui-testing test-data test-environments

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

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

3 个答案:

答案 0 :(得分:2)

RedGate Sql Data Masker http://www.red-gate.com/labs/sql-data-masker/是针对此问题而设计的,但它不是免费的,也不是开源的。你可以循环进入一些随机函数来生成大量的垃圾,虽然听起来你正在寻找“买”而不是“构建”。

答案 1 :(得分:1)

屏蔽时需要考虑各种要点。例如:

  • 您知道所有敏感数据在数据库中的位置吗?
  • 参照完整性有多重要;
  • 是随着时间的推移和所需数据库的一致性;
  • 您希望在多大程度上取消识别每个数据;
  • 你真的需要掩盖整个数据库吗?

如果您能够手动满足这些项目,那就太棒了!但是,如果您希望在保持成本降低的同时及时完成这项工作(更不用说保护公司及其数据库免受暴露),我建议您在www.datamasking上查看数据屏蔽的最佳实践。 .COM

希望这有帮助!

答案 2 :(得分:0)

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

模拟的一个额外功能是所谓的间谍对象,它是一个围绕底层真实对象的模拟,你可以用测试代码覆盖一些方法,即禁用删除,创建掩码等,而所有非模拟重写方法直接传递给底层真实对象...结账:http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html