指纹读取器测试先决条件

本部分介绍在使用 Windows Hardware Lab Kit (Windows HLK) 测试指纹读取器之前必须完成的任务:

硬件要求

测试指纹读取器需要以下硬件。 如果测试设备提供其他功能,则可能需要其他硬件。 要确定其他硬件要求是否适用,请参阅 Windows HLK Studio 中为设备显示的每个测试的测试说明。

  • 一台测试计算机。 测试计算机必须满足 Windows HLK 先决条件。 有关详细信息,请参阅 Windows HLK 先决条件

  • 要测试的指纹读取器。

  • 一个经认证的 USB 2.0 集线器(如果指纹读取器是基于 USB 的设备)。

注意

要认证产品可在服务器上使用,测试计算机必须支持四个处理器且具有至少 1 GB RAM。 测试设备和驱动程序的再平衡、D3 状态和多处理器组功能需要这些系统功能。 不需要使用实际具有超过 64 个处理器的计算机来测试设备。 此外,在测试之前,用于设备或驱动器测试的服务器系统必须已安装服务器核心。 有关详细信息,请参阅 Windows Server 安装选项

如果使用测试计算机池来测试设备,则池中至少一台计算机必须包含四个处理器且具有至少 1 GB RAM。 此外,该计算机必须包含要测试的设备和驱动程序。 如果驱动程序在池中的所有计算机上都相同,则系统会创建一个计划,以针对所有测试计算机运行。

对于不包含要测试的驱动程序的测试(例如硬盘驱动器测试),Windows HLK 计划程序会将用于验证设备和驱动程序的再平衡、D3 状态和多处理器组功能的测试限制为在默认测试计算机上运行。 必须手动将这台计算机配置为具有多个处理器组。 默认计算机是列表中的第一台测试计算机。 测试人员必须确保列表中的第一台测试计算机满足最低硬件要求。

注意

测试物理设备及其关联的驱动程序以进行服务器认证或签名时,不得使用任意形式的虚拟化,但半虚拟化驱动程序(如 WHCP 策略和进程文档所定义)除外。 所有虚拟化产品都不支持需要通过与多处理器组、设备电源管理、设备 PCI 功能相关的测试及其他测试的基础功能。

注意

  多处理器组设置。必须为用于认证的 Windows Server 2008 R2 及更高版本设备驱动程序的 Hardware Lab Kit 测试设置处理器组大小的值。 这可通过使用 /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

注意

代码完整性设置

必须先使用服务器管理器启用 Windows Server 2016 的基于虚拟化的安全性 (VBS) 功能。

启用该功能后,必须创建并设置以下注册表项:

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. 编辑“sensorAdapterLib”、“engineAdapterLib”和“storageAdapterLib”配置标记,以指向之前复制的正确适配器 DLL。

  12. 编辑“supportedModes”和“supportedPurposes”配置标记,以匹配设备功能。

  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,则表明指纹传感器不支持硬件中的模板存储。 模板存储在磁盘上。 这通常表明传感器为基本传感器。