好的,所以我知道我们无法测试所有可能的场景,这是不可能的。但我想获得任何想法,以使测试更全面,并让 QA 团队在代码投入生产之前发现问题。
我们有一个相当大且非常可配置的系统,我们正在尝试用它来更新一些主要功能。问题是每次我们尝试投入生产时都会出现问题,我们会按下紧急按钮并从备份中恢复。
我们现在被问到为什么这些问题没有出现在 QA 或我们的单元测试中并且没有任何真正好的答案。
我们目前有:
- 在签入后运行的构建服务器,
- 许多单元测试(2000 多个测试,覆盖率超过 60%),但还有更多空间,
- 一个类似于生产的 QA 环境(3 个服务器而不是 4 个和更旧的硬件,但相同的配置和操作系统)但是它没有像生产一样多的数据并且它所拥有的可能会过时,
- 我们可以让几个内部人员花几个小时进行质量检查,
- 和广泛的错误记录。
我们是否只需要处理这样一个事实,即我们无法找到所有可能出错的事情,或者是否有技术使其更有可能在最终用户看到问题之前发现问题?