在工作中测试我的应用程序的QA部门使用他们共享的Oracle数据库。他们的案件发生了变化,事情变得非常毛茸茸。错误报告提交+我花时间只是为了找出测试用例已经改变=浪费时间。
我想要的是dev和qa都有我们自己的Oracle在我们的机器上运行的副本,所以我们可以保护我们的数据并追逐我们的尾巴......更少。
我理解的问题是,我们没有为所有这些许可证提供资金。使用开源数据库是行不通的,因为我们有各种各样的PL / SQL包和触发器,我确信这些包与Oracle联系在一起。
有没有人知道“伪造”Oracle数据库的方式(或者可能是开源产品)?根本没有性能要求。我不是指模拟对象(我们确实使用它进行单元测试),而是实际的“在端口上监听请求”RDMS。这是一个远景,但我不得不问。
答案 0 :(得分:7)
为此目的使用Oracle Express。
http://www.oracle.com/technetwork/products/express-edition/overview/index.html
Oracle Database 11g Express Edition
免费开发,部署和分发
Oracle数据库11g快捷版(Oracle数据库XE)是一个 基于Oracle Database 11g的入门级小型数据库 发布2代码库。它可以免费开发,部署和分发; 快速下载;并且易于管理。
Oracle Database XE是一个很棒的入门数据库:
从事PHP,Java,.NET,XML和开源工作的开发人员 应用
需要免费的入门数据库进行培训和部署的DBA
独立软件供应商(ISV)和硬件供应商谁想要一个 起始数据库免费分发
需要免费数据库的教育机构和学生 他们的课程
使用Oracle Database XE,您现在可以开发和部署应用程序 拥有强大的,经过验证的,业界领先的基础设施,然后 必要时进行升级,无需昂贵且复杂的迁移。
Oracle Database XE可以安装在任何规模的主机上 CPU数量(每台机器一个数据库),但XE最多可存储 11GB的用户数据,最多使用1GB内存,并使用一个CPU 主机。
通过受监控的免费Oracle论坛提供支持 由Oracle员工和社区专家组成。
答案 1 :(得分:2)
您可以使用免费的Oracle XE(Express Edition)。
您可以下载here。
答案 2 :(得分:2)
假设每个开发人员在其数据库的个人副本中需要少于11 GB的数据,您是否考虑过使用Oracle数据库的免费express edition?您可以将其安装在本地计算机上,甚至可以免费部署到生产环境中。您不能使用企业版功能,但基本的PL / SQL应该与您现在使用的任何版本的数据库完全一样。
然而,对我而言,这并不是显而易见的,这确实是你所遇到的问题的解决方案。如果测试用例发生变化而没有将这些信息传达给开发人员或某个人所依赖的测试数据被其他人更改,那么创建更多数据库实例并使用相同数据的更多副本可能不会非常有用。如果您有数据库的本地副本,则需要某种方法来获取所有对象的当前版本(表,包,触发器等)。您需要一些方法来获取特定测试人员所依赖的数据。您需要某种方式将更改从计算机移动到共享数据库,其方式不会影响其他开发人员所做的更改。这些障碍都不是不可克服的,但它们确实需要一个非常可靠的构建和部署过程 - 否则,最终会出现混乱,数据库中的代码版本与其他人的数据库中的代码版本略有不同系统中的数据与QA使用的测试数据的特征略有不同,从而导致大量错误在一个系统上可重现但不能在另一个系统上重现。如果您当前的构建和部署过程甚至无法确保在调查错误时测试用例没有发生变化,我倾向于期望添加更多实例会使问题变得更糟,而不是更好。