共用方式為


開發期間測試驅動程式的秘訣

您應該什麼時候開始測試? 一拿到你的驅動程式需求,就立即開始測試。 開始設計驗證關鍵需求的測試案例。 研究顯示,缺陷在程式碼中停留的時間越長,發現並修正缺陷的成本就越高。 在開發初期發現並修正缺陷,比起在程式碼釋出並發佈後再發現缺陷,成本和干擾都更低。 儘早建立測試案例也可以幫助您發現設計中的問題。

開發期間測試建議

使用下列建議來測試驅動程式程式碼和驅動程式套件。

為了幫助你在編譯時找到錯誤:

  • 使用函式角色類型來宣告由驅動程式提供的回呼函式和分派例程。 此聲明有助於提升程式碼分析與驗證工具的準確性,以及測試時間的有效性。 如需如何宣告驅動程式所提供函式的詳細資訊,請參閱 使用函式角色類型宣告
  • 請使用 Level4(/W4) 警告選項來編譯你的程式碼。 修正編譯器偵測到的警告,能提升驅動程式程式碼的品質,並有助於在開發週期早期消除缺陷。
  • 使用 Microsoft 原始碼註解語言(SAL)2.0 來標註你的程式碼。 註解描述函數如何使用其參數——它對參數所做的假設,以及當它結束時所做的保證。 註釋還提高了代碼分析工具的準確性。 如需驅動程式特定批註的詳細資訊,請參閱 驅動程式的 SAL 2.0 批註
  • 在開發驅動程式時,使用 驗證驅動程式 的工具。 如需何時使用特定驗證工具的指導方針,請參閱 使用程式代碼分析和驗證工具分析驅動程式

測試你的驅動程式套件:

  • 在開發初期建立 INF 檔案和驅動程式套件,並在整個測試過程中使用它們。

  • 使用 InfVerif 工具來驗證 INF 檔案的結構與語法,並協助診斷 INF 檔案及其他安裝相關問題。

  • 使用 Inf2Cat 工具 (搭配 /nocat 選項) 來執行其他 INF 檔案驗證。 Inf2Cat 可以驗證 INF 參考的檔案是否存在,且是否依 INF 預期放置在套件目錄中。

  • 簽署驅動程式以協助安裝和測試驅動程式,如 在開發和測試期間簽署驅動程式中所述。

  • 執行 WDK 提供的裝置基本測試中包含的 DriverInstall 測試。 請參閱如何使用 Visual Studio 在執行階段測試驅動程式 ,以及如何 選取和設定裝置基本測試DriverInstall 測試可在驅動程式部署至測試電腦後執行。 您可以將 DriverInstall 測試新增至驅動程式測試群組。 DriverInstall 測試會出現在 [所有測試\基本\裝置基礎\DriverInstall] 底下的 [驅動程式測試類別] 中。

  • 針對裝置安裝問題進行疑難排解,方法是使用裝置管理員來檢視驅動程式和裝置的系統資訊,並查閱 SetupAPI 記錄。 SetupAPI 記錄包含安裝裝置或驅動程式期間所發生作業順序的相關資訊。

    透過使用 Visual Studio 和 WDK,你可以在將驅動程式部署到測試電腦時,測試並排除驅動程式套件安裝的問題。 欲了解更多資訊,請參閱「 將驅動程式部署至測試電腦」。 從驅動程式套件專案的部署屬性中選取 [安裝並驗證] 選項。 當您選取此選項並指定 預設驅動程式套件安裝工作 (可能重新開機)預設印表機驅動程式套件安裝工作 (可能重新開機) 時,測試會讀取驅動程式的 INF 檔案並安裝驅動程式。 然後,測試會驗證驅動程式是否已啟動並執行。 完成後,測試會提供有關安裝任務成功或失敗的詳細資訊。 結果會顯示在 [驅動程式測試群組總管] 的 [驅動程式測試群組 > 驅動程式安裝] 底下。 工作名稱為 預設驅動程式套件安裝工作

執行時測試你的驅動程式: