将测试数据存储在 Excel/CSV vs 数据库中

Storing test data in Excel/CSV vs DB

我会请求一些关于测试自动化数据存储和检索的帮助。我们正在使用 Selenium Webdriver 编写测试自动化脚本。我们开始使用 MS Excel sheets 来存储我们的测试数据并使用 Apache POI 来读取数据。我们最近观察到的是,有时当多个人修改相同的 sheet 并签入 GIT 时,更改不会反映出来。 一位自动化工程师建议使用 .csv 文件来避免这个问题,我建议使用 Oracle 数据库来存储测试数据。

将测试数据存储在不同的 Oracle 数据库表中是个好主意吗?我的想法是创建包含存储 name/value 对的两列的 oracle 表。我的应用程序很大,可能需要 5 到 10 个表。

请告诉我。

问候 斯里尼瓦斯

我相信,在大多数情况下,CSV 足够好。 为测试数据创建特殊数据库(尤其是只存储 key/pair 值)似乎有点过分了。


CSV 专家

  • 使用 GIT 的优势(简单的差异,更改历史记录)
  • 性能:纯文本文件,易于阅读
  • 磁盘space
  • 支持参数化测试(Junit、TestNG)

CSV 缺点

  • 维护不同数据之间的关系(如果存在)

数据库专家

  • 灵活性
  • 更容易映射具有关系的复杂对象

数据库缺点

  • 构建初始设置和维护它的时间
  • 性能:启动、清理和初始化数据库(以保持测试的可重复性)
  • 您最好也测试您正在使用的数据库

使用数据库的主要问题是维护测试代码,测试代码应该简单、快速且可重复。