Windows Embedded Standard 7中的驅動程序質量控制
原創【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團隊的測試,但當需要對一個測試領域進行測試時,我們也應該建立測試項目和測試自動化功能。