【51CTO独家译稿】Windows Embedded Standard 2011中最出色的特性便是可以使用跟Windows 7中一样的驱动程序。这意味着我们可以调用范围非常宽的驱动程序(500多个),这些驱动已经通过了Windows团队的广泛测试。对于Windows Embedded Standard 2011来说,我们想让用户可以灵活的设置他们想要的驱动程序运行时间。
为了达到这个目的,大多数驱动程序跟基本Windows Embedded Standard 2011镜像(名字叫做eCore)分开打包,这样用户可以把他们加入到自己想要的镜像中去。而基本镜像同时也跟一些驱动一起打包,但是这些驱动程序只跟计算机必要的关键操作有关。对于测试Windows Embedded Standard 2011中的驱动程序来说,我们不可能重复所有Windows团队所做的测试。虽然我们的确想运行所有主要测试种类的测试项目,但在大多数情况下我们还是集中精力测试那些Windows Embedded Standard 2011跟Windows7不同的地方。
#T#举个例子,在Windows Embedded Standard 2011中,用户可以添加或者去除他们所选择的功能,所以运行时(runtime)环境可能跟最开始的建立驱动时的Windows 7环境大不一样。如果驱动程序对于没有被添加到运行时的服务、文件、注册键等等有依赖性,就会出现问题。为了减少这种问题我们已经分析了每个驱动程序的依赖关系。如果一个驱动程序对一个不包括在基本镜像中的功能依赖,那么这个信息就被添加到驱动程序包的元数据中。这样,当选择一个驱动程序包时,你就会知道这个驱动是否还需要其他的包才能工作。因为基本Windows Embedded Standard 2011镜像被设计成一个独立的工作单元,里面的驱动程序对镜像外部没有依赖性。但是我们并不仅仅依靠这个依赖性分析;我们还要进行依赖性问题的运行时检查。为此,我们测试了最起码需要添加的功能。我们还充分利用Windows功能团队所做的测试、运行不同的用户方案等,这样会让我们的覆盖面更广。
另一个跟Windows 7有些不同的地方是驱动程序包的安装。虽然我们使用了很多跟Windows7桌面操作系统一样的东西,但是我们也建立我们自己的包,并多次把他们添加到同一个镜像中。你可以通过安装程序来安装驱动程序包,也可以在运行时再安装。当用安装程序运行时,你可以利用一个unattend文件来选择具体的驱动程序,或者你可以利用安装程序的驱动自动布局功能让驱动程序跟你的设备自动配对。在安装了Windows Embedded Standard 2011以后,你可以在线添加包或在从另一个驱动器进入WinPE2.0时添加包。每种安装方法都经过了测试,但还是需要去验证不同阶段的安装是否正确。我们必须检查“包”安装,主要内容是验证是在哪些地方把文件放置到了镜像中。然后,我们来讨论第二种安装驱动程序的方法,Windows Embedded Standard 2011中的Windows7组件对驱动程序和设备进行配对,然后安装驱动。我们需要验证驱动程序运行时没有出现错误,然后把验证扩展到我们的功能设置测试。同样,还需要处理用户一次性安装多个包的情况,所以我们强调系统需要具备***数量的包。***,我们测试驱动程序包是否能够升级。
前面提到,我们要建立自己的驱动程序包,所以必须保证有效载荷是正确的,并且包含的元数据是正确的。如果包建立的不好,那么可能会影响安装,影响安装程序的驱动自动布局功能,影响包依赖分辨率,或者影响包的服务。每个包都有一个部署清单、一个升级清单、驱动程序安装文件,还有驱动程序所需要的文件。这些包含元数据的文件中含有连接数据、编译数据、安装数据等,这些数据都需要验证。我们还有跟这些包相关的编译文件,这些文件可以帮助确定我们有什么包,或者有什么语言资源。自动化功能是日常用来验证所有这些因素的工具。另外,我们通过上面提到的安装测试补充了包验证。
上面我们已经讨论了我们应该在Windows 7和Windows Embedded Standard 2011之间的区别中考虑些什么东西,但是我们也应该测试一些更加典型的测试区域。我们测试的其他种类还包括特别设备、硬件覆盖、性能、应力、应用兼容性、集成测试和语言测试。我们尽可能的利用Windows团队的测试,但当需要对一个测试领域进行测试时,我们也应该建立测试项目和测试自动化功能。