繁体   English   中英

如何在大型项目中管理测试数据夹具以进行验收测试?

[英]How to manage test data fixtures for acceptance testing in large projects?

假设我们拥有庞大而复杂的系统,其中包含大量数据和复杂的业务逻辑。

如何管理测试数据(Oracle DB)以从已知状态开始快速,可靠地接受(Selenium等)测试?

由于规模和复杂性,测试应该:

  • 运行速度非常快(1.在每个测试/套件之前快速恢复到已知的DB状态2.绝对不会在每个套件之前通过UI创建测试数据)
  • 基于用UI创建的数据(没有直接INSERTS数据库 - 有风险的业务逻辑重复)
  • 拥有DB状态的多个版本/快照(具有相关数据的稳定用户组 - 以避免断言与通过持续自动化开发创建的新数据之间的冲突)

您所描述的内容称为Sandbox DB 对于每个新部署,您必须使用所需的数据提供/填充此DB,并在完成测试后删除它。

有几个DB状态版本/快照

这就是Fresh Fixture模式Prebuilt Fixture模式将帮助您。 您还可以查看Fixture Teardown图案

在这里,您可以在处理此类大数据沙盒策略时找到一些注意事项。 像调度,主数据存储库和监控。

要成功管理所有这些 - 必须使用CI服务器。 既然您已经标记了JAVA,那么一个很好的选择是:

我的理解是,您希望使用预定义数据运行测试用例,而不是直接从数据库中填充内容。

  1. 为每个版本创建数据库转储并存储它们
  2. 创建作业(例如,在CI,Jenkins,Hudson,...作业),它使用所需的转储加载测试数据库。 成功部署到测试服务器后,应自动触发此操作。
  3. 创建用于创建临时测试数据的模块/功能
  4. 运行您的测试用例(理想情况下,步骤2中作业的成功结果应触发此操作)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM