测试系统上的生产数据



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

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

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

遮罩时需要考虑各种要点。例如:

  • 您是否知道所有敏感数据在数据库中的驻留位置;
  • 参照完整性有多重要;
  • 是否需要随时间和跨数据库保持一致性;
  • 您希望在多大程度上对每个数据进行去识别化;
  • 是否真的需要屏蔽整个数据库?

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

希望这有帮助!

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

模拟

的另一个功能是所谓的间谍对象,即围绕底层真实对象的模拟,您可以在其中使用测试代码覆盖某些方法,即禁用删除、创建掩码等,而所有非模拟覆盖的方法都直接传递给底层的真实对象...... 退房: http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html

相关内容

  • 没有找到相关文章

最新更新