【昂贵的教训】别让未测试的系统更新毁掉您的生产制造软件
本文来自于《控制工程中文版》(CONTROL ENGINEERING China )2016年10月刊杂志,原标题为:系统更新之前先对生产制造软件进行测试
在实际用于生产应用之前,对软件升级或变更进行测试是极其重要的,如果没有完全测试可能会造成一些后果。已经有了太多关于未测试升级所造成的关键系统损坏的报告,在进行升级之前进行测试已经成为常识。
1 昂贵的教训
典型的生产制造工厂使用大约50到100个应用,小到简单的电子数据表,大到数百万美元的分布式控制系统(DCS)以及制造执行系统(MES)。每一个应用都依赖于数十个或数百个内嵌组件。
很清楚的是,对于一项升级有很多需要测试的内容。问题来自于有时不能对很小的应用进行测试,尤其是那些自身并不关键、却是重要的而且一直需要正常工作的应用。
诸如此类的问题在微软Windows 10 版本1511的升级上就遇到过。微软Windows 10 可用于办公应用、文件管理、项目管理、程序开发、设备测试以及其他应用。对于微软Windows 7和8.1,系统安装比较简单,因此不需要自动升级。
微软Windows 10改变了原有模式,可是并没有使之变得更好。微软将Windows 10视为一种服务,所以他们会决定什么时间更新,而不是用户决定的。微软安装了一套自动启动程序,在需要的时候就会启动,哪怕用户还没有准备好的时候。这种新的更新策略可能会对许多使命关键系统造成严重破坏。
关于“星期二补丁”的概念也不存在了,即在每个月的第二个星期二会发布所有的补丁。补丁可以在任何时候推出来。微软Windows 10 版本1511的更新内容大小达到3GB,而且看起来涉及到了系统的每一个部分。
有一些微软Windows 10的版本允许将更新推迟几个月,不过安全更新仍然会及时安装。在用户社区里,没人找到可以长期有效“停止更新”的解决方案,这对于关键生产制造系统来说不是好消息。然而,即使是不能简单停下来的安全更新也可能会引起问题。
2 可信度测试
2015年12月30日,微软推出了一个安全补丁,禁用了Skype、HP扫描器软件以及各种其他系统,而且在2015年6月推出的一个安全补丁禁用了一些显卡驱动以及多监控器支持。
我们使用快速“可信度”测试在一些系统上认真地测试了1511升级包。相对于微软Windows 10的第一次安装,这些测试更快且需要更少的专业综合测试。
测试之后,系统通过了可信度测试,我们才允许其他机器进行更新。然后我们才发现可信度测试并没有覆盖那些“小的”应用以及所有的辅助性服务。更新修改了文件关联、删除了快捷方式、从开始菜单中删除应用、修改打印机选项、甚至导致一台机器上的微软Windows浏览器崩溃,并引起需要花费数日解决的一系列问题。幸运的是,受到影响的系统并不是关键系统,仅仅是令人烦恼且不好处理。
3 禁用自动更新
吸取的教训是,如果你在一个使命关键的生产制造环境下使用微软Windows 10,或者即便是任务重要的系统,那么你必须禁用自动更新。这需要使用组策略以及Windows服务器更新服务(WSUS)。WSUS允许使用诸如系统中心配置管理器这样已有的管理解决方案全面控制内部的更新发布。
然而,最重要的一点是确保生产组控制使命关键的以及任务重要系统的更新。这些系统永远都不能使用与商业系统相同的更新规则。
作者:BR&L咨询公司总裁Dannis Brandl