我的团队正在开发一个应该在几个RDBMS(Oracle和MSSQL)之上工作的Web应用程序。开发人员必须为每个数据库编写一些特定于数据库的代码。因此,2个不同数据库上的行为可能有所不同,但应该是相同的。这就是QA人员必须针对Oracle和MSSQL环境执行所有测试用例的原因,这对于手动测试来说成本太高。是否有任何方法/工具/方法只针对一个环境执行手动测试,并确保其他环境中的行为是相同的?
答案 0 :(得分:1)
正如您所发现的那样,手动测试会使在多个环境中测试相同软件的成本变得很高。允许您解决此问题的方法是自动化您的测试。有许多用于测试自动化的工具,列表太多。测试自动化具有无数的好处。
否则,如果您必须手动测试,您可以采用的一种技术是将数据库API连接到两个数据库。所有查询都转到两个数据库,代码检查查询返回相同的结果。
由于您的查询不同,因此可能必须在更高的抽象级别上完成。例如,您有一个实现Oracle的子类和另一个实现MSSQL的子类。您将创建一个包装器对象,对于每种方法,它都会调用Oracle和MSSQL实现并比较它们的结果。
这将要求两个数据库在测试开始时处于相同状态,特别是使用相同的序列。它可以与任何形式的随机性或任何依赖于时间的东西发生冲突。