共用方式為


指紋辨識器測試必要條件

本節說明使用 Windows 硬體實驗室套件 (Windows HLK) 測試指紋辨識器之前必須完成的工作:

硬體需求

需要下列硬體才能測試指紋辨識器。 如果測試裝置提供其他功能,您可能需要額外的硬體。 若要判斷是否適用其他硬體需求,請參閱 Windows HLK Studio 中針對裝置所顯示之每個測試的測試描述。

  • 一部測試電腦。 測試電腦必須符合 Windows HLK 必要條件。 如需詳細資訊,請參閱 Windows HLK 必要條件

  • 要測試的指紋辨識器。

  • 如果指紋辨識器是 USB 型裝置,則為一個經認證的 USB 2.0 中樞。

注意

若要認證您的產品在伺服器上使用,測試電腦必須支援四個處理器,以及至少 1 GB 的 RAM。 需要這些系統功能,才能測試裝置和驅動程式的 Rebalance、D3 狀態和多個處理器群組功能。 您不需要實際擁有超過 64 個處理器的電腦來測試您的裝置。 此外,伺服器系統 (用於裝置或驅動程式測試的伺服器系統) 必須先安裝 Server Core,才能進行測試。 如需詳細資訊,請參閱 Windows Server 安裝選項

如果您使用測試電腦的集區來測試裝置,集區中至少有一部電腦必須包含四個處理器,且至少 1 GB 的 RAM。 此外,該電腦必須包含您要測試的裝置和驅動程式。 只要驅動程式在集區中的所有電腦上都相同,系統就會建立排程,以對所有測試電腦執行。

對於不包含要測試驅動程式的測試,例如硬碟測試,Windows HLK 排程器會限制測試,這些測試會驗證裝置和驅動程式的 Rebalance、D3 狀態和多個處理器群組功能,以在預設測試電腦上執行。 您必須手動將此電腦設定為有多個處理器群組。 預設電腦是清單中的第一部測試電腦。 測試人員必須確定清單中的第一部測試電腦符合最低硬體需求。

注意

除了如 WHCP 原則和程式 檔所定義 (的 para-virtualization 驅動程式之外,) ,當您測試實體裝置及其相關聯的驅動程式以進行伺服器認證或簽章時,您可能無法使用任何形式的虛擬化。 所有虛擬化產品都不支援通過與多個處理器群組、裝置電源管理、裝置 PCI 功能及其他測試相關的測試所需的基礎功能。

注意

  多個處理器群組設定 您必須為 Windows Server 2008 R2 和更新版本的設備磁碟機測試的硬體實驗室套件測試設定處理器群組大小的值,才能進行認證。 這是藉由使用 /set 選項,在提升許可權的命令提示字元視窗中執行 bcdedit 來完成。

新增群組設定和重新開機的命令如下所示:

bcdedit.exe /set groupsize 2
bcdedit.exe /set groupaware on
shutdown.exe -r -t 0 -f

移除群組設定和重新開機的命令如下所示:

bcdedit.exe /deletevalue groupsize
bcdedit.exe /deletevalue groupaware
shutdown.exe -r -t 0 -f

注意

程式碼完整性設定

必須先使用 伺服器管理員 啟用 VBS) Windows Server 2016 (虛擬化安全性功能。

發生之後,必須建立並設定下列登錄機碼:

HKLM\System\CurrentControlSet\Control\DeviceGuard
HypervisorEnforcedCodeIntegrity:REG_DWORD
0 or 1 (disabled, enabled)

軟體需求

測試指紋辨識器需要下列軟體:

  • 測試裝置的驅動程式。

  • 最新的 Windows HLK 篩選或更新。

測試電腦設定

若要設定測試裝置的測試電腦,請遵循下列步驟:

  1. 在測試電腦上安裝適當的 Windows 作業系統,然後在包含 Windows HLK Studio 和 Windows HLK 控制器的網路 (設定測試網路的電腦。

  2. 如果測試裝置是透過 USB 埠連線,請將 USB 2.0 控制器連接到高速 USB 2.0 中樞,然後將測試裝置連接到高速 USB 2.0 中樞的下游埠。

    注意

    請勿將 USB 測試裝置直接連線到 USB 2.0 控制器的根中樞。

  3. 將指紋辨識器附加至測試電腦。

  4. 如果您必須在測試電腦上安裝製造商提供的裝置驅動程式,請立即執行此動作。

  5. 檢查指紋辨識器在測試電腦上是否正常運作。

  6. 在測試電腦上安裝 Windows HLK 用戶端應用程式。

  7. 使用 Windows HLK Studio 建立電腦集區,然後將測試電腦移至該集區。

  8. 建立測試目錄 [SYSTEMDRIVE]\FingerprintReaderTest。

  9. 從感應器、儲存和引擎介面卡的 [SYSTEMDRIVE]\Windows\System32\WinBioPlugins 複製介面卡 DLL。

  10. 使用下列範本建立感應器、儲存體和引擎介面卡的組態檔。

  11. 編輯sensorAdapterLibengineAdapterLib 和 storageAdapterLib組態標籤,以指向先前複製的介面卡 DLL。

  12. 編輯 supportedModessupportedPurposes 組態標籤,以符合裝置功能。

  13. runOptional屬性預設為 false。 將它變更為 true ,以執行額外的測試。

  14. 針對儲存體測試,如果裝置有上線儲存體,請將 deviceRequired 屬性變更為 true

開始測試之前,請確定測試電腦處於就緒狀態。 如果測試需要在執行之前設定參數,則會顯示該測試的對話方塊。 如需詳細資訊,請檢閱特定的測試主題。

某些 Windows HLK 測試需要使用者介入。 執行提交的測試時,最佳做法是在區塊中執行自動化測試,與手動測試分開執行。 這可防止手動測試中斷自動化測試的完成。

在執行任何指紋辨識器驅動程式或介面卡測試之前,請先停止並停用 Windows 生物特徵辨識服務。 如果在指紋辨識器 HLK 測試執行時執行生物特徵辨識服務,則兩者之間可能會發生衝突,而測試結果將無法正確。

撰寫測試組態檔

在執行任何指紋辨識器配接器測試之前,您需要為感應器、儲存體和引擎配接器建立 XML 組態檔。 這些檔案的名稱必須SensorTestConfig.XML、EngineTestConfig.XML和StorageTestConfig.XML。 使用下列範本作為起點,並修改特定裝置的範本。

感應器配接器組態檔

<?xml version="1.0" encoding="utf-8"?>
<bioTestConfiguration version="0" runOptional="false" runInteractive="true" abortOnFailure="false" manualStep="false" logType="WTT">
  <testSuites>
    <testSuite deviceRequired="true" id="SensorAdapterTestSuite">
      <library>sensortest.dll</library>
      <description>Sensor Adapter Test Suite</description>
    </testSuite>
  </testSuites>
  <deviceInfo>
    <sensorAdapterLib>winbiosensoradapter.dll</sensorAdapterLib>
    <engineAdapterLib>engineadapter.dll</engineAdapterLib>
    <storageAdapterLib>winbiostorageadapter.dll</storageAdapterLib>
    <indicatorSupported>0</indicatorSupported>
    <supportedModes>
      <supportedMode>0x01</supportedMode>
      <supportedMode>0x02</supportedMode>
    </supportedModes>
    <supportedPurposes>
      <supportedPurpose>0x01</supportedPurpose>
      <supportedPurpose>0x02</supportedPurpose>
      <supportedPurpose>0x04</supportedPurpose>
      <supportedPurpose>0x08</supportedPurpose>
      <supportedPurpose>0x10</supportedPurpose>
      <supportedPurpose>0x80</supportedPurpose>
    </supportedPurposes>
  </deviceInfo>
</bioTestConfiguration>

引擎配接器組態檔

<?xml version="1.0" encoding="utf-8"?>
<bioTestConfiguration version="0" runOptional="false" runInteractive="true" abortOnFailure="false" manualStep="false" logType="WTT">
  <testSuites>
    <testSuite deviceRequired="true" id="EngineAdapterTestSuite">
      <library>enginetest.dll</library>
      <description>Engine Adapter Test Suite</description>
    </testSuite>
  </testSuites>
  <deviceInfo>
    <sensorAdapterLib>winbiosensoradapter.dll</sensorAdapterLib> 
    <engineAdapterLib>engineadapter.dll</engineAdapterLib> 
    <storageAdapterLib>winbiostorageadapter.dll</storageAdapterLib> 
    <indicatorSupported>0</indicatorSupported>
    <engineOnDevice>FALSE</engineOnDevice>
    <supportedModes>
      <supportedMode>0x01</supportedMode>
      <supportedMode>0x02</supportedMode>
    </supportedModes>
    <supportedPurposes>
      <supportedPurpose>0x01</supportedPurpose>
      <supportedPurpose>0x02</supportedPurpose>
      <supportedPurpose>0x04</supportedPurpose>
      <supportedPurpose>0x08</supportedPurpose>
      <supportedPurpose>0x10</supportedPurpose>
      <supportedPurpose>0x80</supportedPurpose>
    </supportedPurposes>
  </deviceInfo>
</bioTestConfiguration>

儲存體配接器組態檔

<?xml version="1.0" encoding="utf-8"?>
<bioTestConfiguration version="0" runOptional="false" runInteractive="true" abortOnFailure="false" manualStep="false" logType="WTT">
  <testSuites>
    <testSuite deviceRequired="false" id="StorageAdapter">
      <library>storagetest.dll</library>
      <description>Storage Adapter Test Suite</description>
    </testSuite>
  </testSuites>
  <deviceInfo>
    <sensorAdapterLib>winbiosensoradapter.dll</sensorAdapterLib>
    <engineAdapterLib>engineadapter.dll</engineAdapterLib>
    <storageAdapterLib>winbiostorageadapter.dll</storageAdapterLib>
    <indicatorSupported>0</indicatorSupported>
    <storageOnDevice>FALSE</storageOnDevice>
    <supportedModes>
      <supportedMode>0x01</supportedMode>
      <supportedMode>0x02</supportedMode>
    </supportedModes>
    <supportedPurposes>
      <supportedPurpose>0x01</supportedPurpose>
      <supportedPurpose>0x02</supportedPurpose>
      <supportedPurpose>0x04</supportedPurpose>
      <supportedPurpose>0x08</supportedPurpose>
      <supportedPurpose>0x10</supportedPurpose>
      <supportedPurpose>0x80</supportedPurpose>
    </supportedPurposes>
  </deviceInfo>
</bioTestConfiguration>

其他組態標籤

在組態檔的 [裝置資訊] 區段下,還有三個額外的標籤:

<deviceInfo>

    <badSwipeDetectionPoint> VALUE </badSwipeDetectionPoint>
    <privateConnectionSensorToEngine>BOOLEAN</privateConnectionSensorToEngine>
    <privateConnectionEngineToStorage>BOOLEAN</privateConnectionEngineToStorage>

</deviceInfo>

badSwipeDetectionPoint

  • SensorFinishCapture

  • EngineAcceptData

  • EngineProcessData

注意

一個 badSwipeDetectionPoint 標籤最多可以出現在單一測試組態檔中。

privateConnectionSensorToEngine

  • 如果為 TRUE,表示感應器與 WinBio Framework 未管理的引擎元件之間有內部連線。

  • 如果為 FALSE,感應器與引擎之間的連線會使用標準 WinBio 配接器介面。

privateConnectionEngineToStorage

  • 如果為 TRUE,表示引擎與不是由 WinBio Framework 管理的儲存體元件之間有內部連線。

  • 如果為 FALSE,引擎與儲存體之間的連線會使用標準 WinBio 配接器介面。

注意

針對複合裝置,可以同時設定 privateConnectionSensorToEngine 和 privateConnectionEngineToStorage。

engineOnDevice

  • 如果為 TRUE,表示指紋感應器支援硬體中的引擎功能。 這通常表示感應器是進階感應器。

  • 如果為 FALSE,表示指紋感應器支援軟體中的引擎功能。 這通常表示感應器是基本感應器。

storageOnDevice

  • 如果為 TRUE,表示指紋感應器支援硬體中的範本儲存體。 這通常表示感應器是進階感應器。

  • 如果為 FALSE,表示指紋感應器不支援硬體中的範本儲存體。 範本會儲存在磁片上。 這通常表示感應器是基本感應器。