在QA测试环境中如何测试数据库应用

58次阅读
没有评论

问题描述

在当前的软件开发流程中,面临一个数据库应用的测试问题。具体流程如下:
1. 构建过程生成一个Windows安装程序(MSI)。
2. 安装程序包含了一个Web站点的部署和数据库脚本,这些脚本可以创建新的数据库或升级现有版本。
3. QA测试人员需要对他们的应用服务器和数据库服务器进行快照。
4. QA测试人员在自己的Windows服务器上运行安装程序。
5. 安装程序会安装Web站点并更新数据库。
快照的目的是为了提供一个回滚点,以便比较不同版本应用之间的行为变化。

现有的技术和环境如下:
– 部署目标为 Windows Server 2008r2 及以上版本。
– 数据库服务器为 Windows Server 2008r2 及以上版本,搭载 SQL Server 2008r2。
– QA测试中使用了多种虚拟化技术。有些团队将 SQL 安装在服务器上,有些使用传统的应用服务器/SQL服务器分离方式。服务器使用SSD/SAN和SAS驱动,每个服务器通常拥有60GB硬盘和4GB内存。SQL服务器具有8GB或更多内存。

然而,目前存在的问题主要是备份环境所需的时间和空间较大。

用户想了解其他人在类似流程中如何部署变更,并且想了解是否有其他可用工具以及对此的建议。

解决方案

请注意以下操作可能存在版本差异及风险,请在执行前做好备份。

使用快照工具进行数据库备份

数据库备份是一个关键的步骤,但不能简单地对数据库进行快照。在进行快照时,需要确保数据库不处于事务中,以免恢复到不一致的状态。对于 Windows 环境,可以使用 Microsoft SQL VSS writer 来创建数据库快照。同时,需要确保 HyperV 能够使用这个 VSS writer。

如果数据集特别大,可以考虑使用存储文件系统的增量克隆功能,以减少备份所需的时间和空间。

自动化构建和部署

针对将新应用部署到 QA 环境,有几种方法可以实现:
1. 使用自动化构建系统,如 Jenkins、Travis CI 等,在代码提交时触发备份和部署。可以借助配置管理工具(如 SaltStack、Puppet、Chef)来自动设置和配置 SQL 服务器,以及使用 PowerShell 脚本来自动安装应用。
2. 使用中间件(如 The Foreman)来快速生成虚拟机,并与自动构建系统或配置管理工具集成,以自动安装 SQL 服务器和恢复数据库快照。

总结

以上方法都可以帮助您更好地管理数据库应用的测试和部署过程。选择适合您团队的方法,并结合自动化和中间件工具,可以提高部署效率,降低错误风险,并使环境更加可移植。

这些解决方案仅为参考,实际操作中请根据您的具体情况进行调整和优化。

其他工具和建议

在类似流程中,还有一些其他工具和建议可以考虑:
– SaltStack:使用 Reactor 特性可实现备份完成后自动触发构建流程。
– The Foreman:使用其 HyperV 插件,可以实现快速生成虚拟机并自动安装应用和恢复数据库快照。
– Jenkins、Travis CI 等自动化构建工具:通过配置自动触发备份和部署。
– 配置管理工具(SaltStack、Puppet、Chef):自动设置和配置 SQL 服务器,并使用脚本自动安装应用。

选择合适的工具和方法,结合自动化流程,可以提高整个测试和部署过程的效率和准确性。

请根据实际情况进行调查和测试,选择最适合您团队的方法和工具。

正文完