由于许多漏洞的披露,我们不得不升级我们的核心框架,我们系统的很大一部分都依赖于这个框架。(在我们的例子中,它是4.3.16版本的Spring框架版本,但这只是一个例子,可能不太重要。)
我们修复了新版本中的一些向后兼容性问题。
(比如:在我们的项目中实现的接口中的新方法)
如何测试这是否没有引起任何问题?
我想知道我是否可以遵循任何方法,以确保它不会导致在运行时稍后检测到任何其他问题。
此外,这可能是任何库升级的共同关切。是否有任何应采取的做法或程序来消除这种关切?
发布于 2018-06-22 06:15:01
你来测试。然后你再试一试。然后你再试一试。
这显然有点笼统,但这是答案。更详细的是:
在您的各种环境(开发、内部QA、UAT,无论您的流程涉及什么)中重复执行,直到您对更改有足够的信心为止。
最后,部署到生产中。
发布于 2018-06-22 12:58:02
太多次我看到这个升级框架的过程:
第二步实际上应该是第三步,第一步应该是完全不必要的。如果你需要做第一步,那就是你做错了。
第一步应该从单元和自动测试覆盖开始。
我是敏捷团队的一员,这个团队不仅能够进行不兼容的框架升级,而且还可以对语言本身进行不兼容的升级。这是一个大型Rails应用程序升级到Ruby1.9。因此,基本上,我们所拥有的每个框架、库和依赖都被升级或替换了。
再过4周。在4种环境中,包括生产。我们还提供了4个主要的新功能。
这并不是说"Ruby更好!“相反,它证明了应用程序的单元数量和自动化测试覆盖范围。我们进行了1,200+单元测试,以及大约600个黄瓜测试。这也是一个紧密结合的团队与伟大的沟通证明。
因此,我修改的升级框架或软件基础结构主要部分的步骤列表如下:
这两种方法的关键区别在于,当你解决这些问题时。使用方法1,您在手动测试期间会遇到大多数问题。使用方法2,您在开发过程中会遇到它们,在那里它们更容易跟踪和修复。
https://softwareengineering.stackexchange.com/questions/372985
复制相似问题