对于软件兼容性测试可以根据应用程序的类型来划分,如针对通用型应用程序和针对 LOB 应用程序的测试,两种测试方法以及权重会有所不同。
通用型应用程序测试时可以先通过经验判断应用程序的兼容性情况,比如客户使用的很多通用型软件,QQ、Adobe Flash Player、Adobe Reader、迅雷、Office 等等软件是市面上主流的通用软件,这些软件的兼容性一般都很好,而且会根据操作系统的更新换代推出新的版本,所以不容易出现兼容性问题。如有一些应用程序属于专业领域,如音乐制作、绘图、勘探等等,可以直接联系厂商或者经销商获取软件的兼容性信息,不必亲自花时间去进行大量的测试,只有在无法获取兼容性信息的情况下,才需要手动的进行测试。
LOB 应用程序需要花费大量的时间进行测试,因为很多的 LOB 应用都是通过自己或者外包的开发团队进行开发,定制化很强,无法直接获取兼容性信息。如果开发团队依然存在的情况下,可以和开发团队合作,一同进行测试。测试的主要方法是通过安装一台 Windows 10 的测试样机,加入客户的域环境中,安装好所有必须的软件后,在开发人员的协助下,检查 LOB 应用程序的每一个功能,如果发现问题,快速记录下问题的现象、步骤,进行截图然后存档,以便日后还原问题,找到问题原因所在。如果在开发团队不存在的情况下,可以让在职员工协助进行测试,方式和上述内容一致。但问题发现后,应当尝试应用程序兼容性缓解,如果缓解不奏效,则需要将问题提交到相关负责人那里,由负责人与开发公司进行沟通,协商处理。
软件兼容性解决方案
以管理员身份运行
这种方式可以解决由 UAC 引起的兼容性问题。通过这种方式,强制将应用程序使用的权限提升为管理员权限运行,UAC 会直接触发弹出。但这种方式仅为临时的过渡方案,最终仍然需要联系应用程序开发商或者开发团队进行代码层面修改。
兼容性模式
兼容性模式是一种利用中间层的方式来帮助应用程序与操作系统进行沟通的解决方案,它比较适合操作系统版本变更所带来的问题。利用兼容性模式,可以「欺骗」应用程序,让软件以为正运行在所需的操作系统环境中,从而达到让应用程序启动的目的。另外兼容性模式还可以让由于 UAC 问题而无法正常运行的应用程序正常工作,因为它能够模拟早期 Windows 操作系统的工作方式,给应用程序管理员权限运行。但这种方式仅为临时的过渡方案,最终仍然需要联系应用程序开发商或者开发团队进行代码层面修改。
Internet Explorer兼容性视图
从 IE8 开始所拥有的功能,在 IE9 到 IE11 中均有此功能。主要针对 IE 标准变更,为了保证能够正常显示老标准编译的网页而设置的。当启动了兼容性示图后,IE 的渲染引擎会被强制使用老版本的标准进行渲染,而不是 W3C 标准,这样确保网页能够正常显示。但这种方式仅为临时的过渡方案,最终仍然需要联系应用程序开发商或者开发团队,对网页进行修改,支持 W3C 标准。
企业模式
在 IE 11 中引入的企业模式能够让 IE 11 以 IE 8 的工作模式来渲染网页,帮助企业解决暂时性的 BS 结构应用兼容性问题,尤其针对那些基于 IE 8 开发的陈旧 BS 结构应用。
要开启 IE 11 的企业模式支持,可以在组策略编辑器中的计算机配置 – 管理模板 – Windows组件 – Internet Explorer项目中启用允许用户从工具菜单启用和使用企业模式条目。
受信任站点
可以有效解决由于 IE 保护模式所带来的兼容性问题。由于保护模式下不能给IE提供足够的权限运行插件和加载项,可以靠提升 IE 的权限来解决该问题,当被访问的网址处于受信任站点列表中,该选项卡的权限是被提升的,能够保证插件和加载项的正常运行。但这种做法同时会带来相应的风险,因为在受信任站点模式中,IE浏览器的安全级别是相对较低的,如果公司的网站出现任何安全风险,会对用户的计算机造成一定影响,所以尽可能联系应用程序开发商或者开发团队,将插件和加载项的使用权限降低,才是最终的解决方案。
关闭跨站脚本攻击过滤器
该项功能是 IE8 开始拥有的新的安全机制,IE9 到 IE11,均默认开启此功能。该功能旨在防御挂马网站对用户的入侵,它能够有效探测访问的网页是否从外部站点调用恶意资源来对用户的敏感数据进行窃取,有效的保护了用户的安全。然而有些公司的网页开发时会利用 JavaScript 调用一些数据库,或者外部网站的信息,嵌在自己的网页中进行数据显示,这种做法和网站挂马的方式类似,会被该安全机制误认为是攻击,会主动的进行屏蔽,造成网页上的某一块区域数据无法显示的情况。遇到这种情况,可以尝试先将公司的站点加入受信任站点,然后再在受信任站点的安全级别中,将跨站脚本攻击过滤器进行关闭,从而解决兼容性问题,但切记不可将该功能完全的关闭。
安装替代的组件
一般新版 Windows 中被遗弃的旧组件都可以找到替代品,诸如 Outlook Express 不再提供,可以用 Office 356 来代替等等。因为这些程序其实后台都会调用同样的 API 接口,只要能够有代替品注册到这个接口上即可,即默认程序。但如果有些情况不是组件被遗弃,而是某一个系统文件被删除,不再提供,则需要利用到其他的解决方案,下文会有涉及。
App-V
这是一种利用虚拟化技术,解决应用程序兼容性问题的方案。App-V 有独特的方式将传统的应用程序转换为类似绿色软件的状态,我们称之为包。在这个包中,包括了应用程序所需要的操作系统注册表,系统文件,服务等内容,应用程序在这个包中就可以找到自己所需要的必要组件,所以无需和当前的操作系统进行交互。另外包与包之间默认情况下,也不会有任何交互,只有在允许的情况下才可以交互。没有交互即没有冲突,没有冲突,就没有兼容性问题了。所以利用这种包的方式分发应用程序,只要当前操作系统安装了 App-V 的客户端,即可立即运行应用程序。通过这种方式,能够解决 WRP 造成的问题,弃用组件,UAC 问题,操作系统版本变更,64 位架构问题。驱动程序所带来的问题无法解决,因为 App-V 打包过程中,无法把硬件驱动放入包中。
Windows 10 Hyper-V 服务
运行一台安装了 Windows XP 的虚拟机,在这台虚拟机中,可以将老旧的应用程序安装进去,进行使用。它可以解决 IE 的各种问题,WRP 造成的问题,弃用组件,UAC 问题,操作系统版本变更,64位架构问题。驱动程序所带来的问题无法解决,因为在虚拟机环境中无法调用硬件外设。但这种方式对于管理员的工作量比较大,需要对每台电脑手动设置,所以选择此种方法时需慎重考虑。
如何使用可以参考如何启用 Windows 10 客户端 Hyper-V。
代码层面修复
这种方式是解决兼容问题最为彻底的方法,让应用程序本身对新操作系统进行兼容。该方法用于当发现应用程序有兼容性问题后,客户和应用程序厂商沟通,解决兼容性问题,或者获取新版本。此外如果应用程序由客户自己的开发团队所开发,可以让团队分析兼容性问题的成因,并进行代码的修改,保证兼容性。一般情况下,只要应用程序厂商或开发团队依然存在,基本都已经开发了 Windows 10 的兼容版本,直接进行版本更新替换即可。即便没有新版本,也会有相应的解决方案已经制定完毕,代码修复的周期一般不会很久。
最新评论
手机微信里有个视频文件,想放到手机edge里,设了文件夹,不知道怎样放进去。
winehq-stable 确实从官方仓库中拿掉了,文章内容已经更新。
实际上就是没有,在原仓库里已经找不到stable版本了,只有devel和另一个s开头的版本
谢谢你分享的音乐软件