java如何管理大型项目验收测试的测试数据装置?
假设我们有一个庞大、复杂的系统,其中包含大量的数据和复杂的业务逻辑
如何管理测试数据(Oracle DB),以便从已知状态开始进行快速、可靠的验收(Selenium等)测试强>
由于规模和复杂性,测试应:
- 运行速度相当快(1.在每个测试/套件之前快速恢复到已知的DB状态2.在每个套件之前绝对不通过UI创建测试数据)
- 基于使用UI创建的数据(不直接
INSERTS
到数据库-业务逻辑的风险复制) - 拥有多个DB state版本/快照(拥有相关数据的稳定用户组-避免断言与正在进行的自动化开发创建的新数据之间的冲突)
# 1 楼答案
你所描述的被称为Sandbox DB。对于每个新部署,您都必须使用所需的数据提供/填充此数据库,并在测试完成后删除它
这就是Fresh Fixture pattern和Prebuilt Fixture pattern将帮助你的东西。你也可以看看Fixture Teardown patterns
在这里,您可以找到处理此类big-data-sandbox-strategies时的一些注意事项。如调度、主数据存储库和监控
要成功地管理所有这些,必须使CI服务器工作。既然您已经标记了JAVA,那么好的选择是: