我最近受雇于一个涉及与多个第三方“企业”系统一起工作的项目。由于我想这是建立忠实的生产环境副本所需要的天文成本和精力,因此拥有真正的开发环境的前景似乎越来越渺茫。
这当然不是理想的。从好的方面来说,我认为必须有一些人安全地将软件测试和部署到像这样不可复制的环境中,我很可能会跟随他们的脚步。
那些有效处理此类情况的人是如何做到的?
我最近受雇于一个涉及与多个第三方“企业”系统一起工作的项目。由于我想这是建立忠实的生产环境副本所需要的天文成本和精力,因此拥有真正的开发环境的前景似乎越来越渺茫。
这当然不是理想的。从好的方面来说,我认为必须有一些人安全地将软件测试和部署到像这样不可复制的环境中,我很可能会跟随他们的脚步。
那些有效处理此类情况的人是如何做到的?
Answers:
在现实世界中,这种情况一直存在。 我认识一个人,他写的应用程序可以控制巨大的农业温室-通风,供暖,湿度控制,您就是这么称呼。他没有“测试温室”,但是他有该公司提供的用于构建实际硬件系统的模拟器程序。如果代码在模拟器上正确运行,则假定它在真实设备上正确运行。在极少数情况下,模拟器被证明是错误的,但这是温室硬件公司要处理的问题,因为它无法正确模拟。
在这些情况下,API文档,接口控制文档和仿真器至关重要。在我之前供职的一家公司中,这种情况实际上发生在某个集成阶段的项目中经常发生,其中某个阶段已经准备就绪,但其他阶段已经落后,正在开发其他功能,或者由于某些其他原因而无法部署他们的细分受众群的最新版本到我们的测试系统。因此,是的,实际上我们确实对测试过的生产环境做了忠实的复制;但是,实际上,所有段都无法按计划进行准备,但是在开发开始之前就已经同意并锁定了接口,并且创建了可以在很大程度上模仿其他段行为的仿真器。
另一个答案是,模拟器是使测试能够在部署之前进行的工具。一个好的模拟器;但是,取决于定义明确的界面和文档。
我一直在这种情况下。
您当然不需要与整个应用程序进行交互,但是可能需要与某种接口进行交互。确保您已确认并详细说明了这些接口,然后仅设置这些接口的模型以验证添加/更改的代码是否按预期的方式工作。
您也可以进行混合。尝试复制您可以轻松完成的部分,然后“连接”到实际系统(如果您可能的情况)。我已经取得了一些成功-在某些情况下,我的逻辑和服务器软件在本地运行,但是我仍然可以连接到真实的ERP系统以验证指令等。这并不理想,但很少有。
鉴于您只有一个生产系统可以使用-请注意,您不能仅计算建立副本所节省的任何开发时间,但必须考虑将大量未经测试的代码与实时业务数据一起使用所带来的业务风险。您的代码将不如针对副本测试的代码可靠。系统可以关闭一段时间吗?如果发生数据损坏,是否可以将其还原?费用多少?
企业中的最佳实践是在建立生产环境时放置一个副本(或多个副本)。那时,额外的花费不会那么大。