hxz
发布于 2022-06-25 / 102 阅读
0

服务升级测试策略

背景

当前互联网行业软件的版本迭代越来越快,服务升级测试在软件测试中的重要性日渐突出。升级测试是软件测试中非常重要的一环。

服务升级方式

针对服务端而言,部署策略的选择对确保系统持续可用至关重要,服务升级部署方式主要可以分为以下两种:

1.停机部署

这是最直接的升级方式,即停止当前服务,然后部署新版本。这种方式适用于新旧版本不兼容的情况,比如数据库结构发生重大变化。优点是确保部署过程中状态一致,缺点是会导致服务暂停,影响用户体验。

具体流程如下:

2.平滑升级

这是一种不中断服务的部署方式,通过同时运行新旧两个版本的服务来实现无缝切换。用户无感知地过渡到新版本,保证在部署过程中数据的写入和读取都能正确进行这种方式适用于对服务稳定性要求极高的场景。

具体流程如下:

服务升级测试策略

了解了服务升级的常见方式后,以平滑升级为例,我们可以针对性的在这些升级流程中给出测试策略

服务升级测试的测试策略主要包括以下几个方面:

1. 功能测试

- 校验服务端的所有功能在升级后都能正常工作。

- 校验旧服务现有功能是否受到影响。

2. 回归测试

- 校验已修复的问题不会再次出现。

- 校验升级是否影响了现有功能和性能。

- 校验自动化测试脚本来运行旧的测试用例。

3. 性能测试

- 校验服务端性能是否有所提高或至少保持不变。

- 校验多个客户端同时访问服务端,确保系统在高负载下仍能保持稳定。

4. 安全性测试

- 校验所有安全补丁都已应用,并且没有引入新的安全漏洞。

- 运行安全扫描工具和渗透测试来发现潜在的安全问题。

5. 兼容性测试

- 校验服务端与其他系统或组件(如数据库、其他服务端等)的兼容性。

- 校验数据迁移和接口兼容性。

6. 服务回滚测试

- 验证在升级过程中,如果有问题,是否可以顺利回滚到旧版本。

- 测试备份和恢复流程是否可靠。

- 新版本的数据是否支持向下兼容,能在回滚后的旧版本的服务正常运行

7. 监控和日志

- 在测试过程中,密切监视服务端的性能和资源使用情况,并记录任何错误或异常日志。

8. 数据库测试

- 验证升级过程中数据的完整性和一致性,特别是对于涉及数据库升级的情况。

-验证新旧版本数据库结构是否一致

-验证升级后新版本和全新安装新版本数据库默认数据进行比较(验证默认数据的准确性)

-数据库的配置(db脚本)、数据初始化(db脚本) 脚本是否能执行成功

9. 配置和部署测试

- 校验部署过程的稳定性和可重复性。