Windows Embedded Standard 7中的驅(qū)動(dòng)程序質(zhì)量控制
原創(chuàng)【51CTO獨(dú)家譯稿】Windows Embedded Standard 2011中最出色的特性便是可以使用跟Windows 7中一樣的驅(qū)動(dòng)程序。這意味著我們可以調(diào)用范圍非常寬的驅(qū)動(dòng)程序(500多個(gè)),這些驅(qū)動(dòng)已經(jīng)通過了Windows團(tuán)隊(duì)的廣泛測(cè)試。對(duì)于Windows Embedded Standard 2011來說,我們想讓用戶可以靈活的設(shè)置他們想要的驅(qū)動(dòng)程序運(yùn)行時(shí)間。
為了達(dá)到這個(gè)目的,大多數(shù)驅(qū)動(dòng)程序跟基本W(wǎng)indows Embedded Standard 2011鏡像(名字叫做eCore)分開打包,這樣用戶可以把他們加入到自己想要的鏡像中去。而基本鏡像同時(shí)也跟一些驅(qū)動(dòng)一起打包,但是這些驅(qū)動(dòng)程序只跟計(jì)算機(jī)必要的關(guān)鍵操作有關(guān)。對(duì)于測(cè)試Windows Embedded Standard 2011中的驅(qū)動(dòng)程序來說,我們不可能重復(fù)所有Windows團(tuán)隊(duì)所做的測(cè)試。雖然我們的確想運(yùn)行所有主要測(cè)試種類的測(cè)試項(xiàng)目,但在大多數(shù)情況下我們還是集中精力測(cè)試那些Windows Embedded Standard 2011跟Windows7不同的地方。
#T#舉個(gè)例子,在Windows Embedded Standard 2011中,用戶可以添加或者去除他們所選擇的功能,所以運(yùn)行時(shí)(runtime)環(huán)境可能跟最開始的建立驅(qū)動(dòng)時(shí)的Windows 7環(huán)境大不一樣。如果驅(qū)動(dòng)程序?qū)τ跊]有被添加到運(yùn)行時(shí)的服務(wù)、文件、注冊(cè)鍵等等有依賴性,就會(huì)出現(xiàn)問題。為了減少這種問題我們已經(jīng)分析了每個(gè)驅(qū)動(dòng)程序的依賴關(guān)系。如果一個(gè)驅(qū)動(dòng)程序?qū)σ粋€(gè)不包括在基本鏡像中的功能依賴,那么這個(gè)信息就被添加到驅(qū)動(dòng)程序包的元數(shù)據(jù)中。這樣,當(dāng)選擇一個(gè)驅(qū)動(dòng)程序包時(shí),你就會(huì)知道這個(gè)驅(qū)動(dòng)是否還需要其他的包才能工作。因?yàn)榛網(wǎng)indows Embedded Standard 2011鏡像被設(shè)計(jì)成一個(gè)獨(dú)立的工作單元,里面的驅(qū)動(dòng)程序?qū)︾R像外部沒有依賴性。但是我們并不僅僅依靠這個(gè)依賴性分析;我們還要進(jìn)行依賴性問題的運(yùn)行時(shí)檢查。為此,我們測(cè)試了最起碼需要添加的功能。我們還充分利用Windows功能團(tuán)隊(duì)所做的測(cè)試、運(yùn)行不同的用戶方案等,這樣會(huì)讓我們的覆蓋面更廣。
另一個(gè)跟Windows 7有些不同的地方是驅(qū)動(dòng)程序包的安裝。雖然我們使用了很多跟Windows7桌面操作系統(tǒng)一樣的東西,但是我們也建立我們自己的包,并多次把他們添加到同一個(gè)鏡像中。你可以通過安裝程序來安裝驅(qū)動(dòng)程序包,也可以在運(yùn)行時(shí)再安裝。當(dāng)用安裝程序運(yùn)行時(shí),你可以利用一個(gè)unattend文件來選擇具體的驅(qū)動(dòng)程序,或者你可以利用安裝程序的驅(qū)動(dòng)自動(dòng)布局功能讓驅(qū)動(dòng)程序跟你的設(shè)備自動(dòng)配對(duì)。在安裝了Windows Embedded Standard 2011以后,你可以在線添加包或在從另一個(gè)驅(qū)動(dòng)器進(jìn)入WinPE2.0時(shí)添加包。每種安裝方法都經(jīng)過了測(cè)試,但還是需要去驗(yàn)證不同階段的安裝是否正確。我們必須檢查“包”安裝,主要內(nèi)容是驗(yàn)證是在哪些地方把文件放置到了鏡像中。然后,我們來討論第二種安裝驅(qū)動(dòng)程序的方法,Windows Embedded Standard 2011中的Windows7組件對(duì)驅(qū)動(dòng)程序和設(shè)備進(jìn)行配對(duì),然后安裝驅(qū)動(dòng)。我們需要驗(yàn)證驅(qū)動(dòng)程序運(yùn)行時(shí)沒有出現(xiàn)錯(cuò)誤,然后把驗(yàn)證擴(kuò)展到我們的功能設(shè)置測(cè)試。同樣,還需要處理用戶一次性安裝多個(gè)包的情況,所以我們強(qiáng)調(diào)系統(tǒng)需要具備***數(shù)量的包。***,我們測(cè)試驅(qū)動(dòng)程序包是否能夠升級(jí)。
前面提到,我們要建立自己的驅(qū)動(dòng)程序包,所以必須保證有效載荷是正確的,并且包含的元數(shù)據(jù)是正確的。如果包建立的不好,那么可能會(huì)影響安裝,影響安裝程序的驅(qū)動(dòng)自動(dòng)布局功能,影響包依賴分辨率,或者影響包的服務(wù)。每個(gè)包都有一個(gè)部署清單、一個(gè)升級(jí)清單、驅(qū)動(dòng)程序安裝文件,還有驅(qū)動(dòng)程序所需要的文件。這些包含元數(shù)據(jù)的文件中含有連接數(shù)據(jù)、編譯數(shù)據(jù)、安裝數(shù)據(jù)等,這些數(shù)據(jù)都需要驗(yàn)證。我們還有跟這些包相關(guān)的編譯文件,這些文件可以幫助確定我們有什么包,或者有什么語言資源。自動(dòng)化功能是日常用來驗(yàn)證所有這些因素的工具。另外,我們通過上面提到的安裝測(cè)試補(bǔ)充了包驗(yàn)證。
上面我們已經(jīng)討論了我們應(yīng)該在Windows 7和Windows Embedded Standard 2011之間的區(qū)別中考慮些什么東西,但是我們也應(yīng)該測(cè)試一些更加典型的測(cè)試區(qū)域。我們測(cè)試的其他種類還包括特別設(shè)備、硬件覆蓋、性能、應(yīng)力、應(yīng)用兼容性、集成測(cè)試和語言測(cè)試。我們盡可能的利用Windows團(tuán)隊(duì)的測(cè)試,但當(dāng)需要對(duì)一個(gè)測(cè)試領(lǐng)域進(jìn)行測(cè)試時(shí),我們也應(yīng)該建立測(cè)試項(xiàng)目和測(cè)試自動(dòng)化功能。