HLK学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、HLK概念和工作环境
Windows HLK是一个用于测试Windows 10技术预览版的硬件设备的测试框架。
有资格获得Windows徽标,产品必须经过测试使用Windows的HLK。
、HLK测试环境
Windows HLK包含两个组件:一个测试服务器和一或多个测试系统。
HLK测试服务器通常称为控制器,测试服务器包好两个部分:Windows HLK Controller 和 Windows HLK Studio。
侧首服务器是测试执行引擎,集中测试管理和计算机管理。
Controller和Studio是从Windows HLK 安装源安装。
一个控制器可以控制一系列客户端计算机。
HLK测试系统也被称为客户端计算机,每个测试系统可以有不同的配置,适合不同的测试场景,包括不同的硬件、操作系统、服务包和驱动程序。
每个测试系统可以只有一个测试服务器相关。
可以通过运行Windows客户端软件安装HLK 直接从共享网络配置每个测试系统。
、HLK部署方案
Windows HLK 有两种部署方案:
加入到域的环境:在加入到域的环境中,需要一个域控制器,为 Windows HLK 功能指定的所有计算机都需加入到该域控制器。
加入到域的环境部署 Windows HLK至少需要三台计算机:一台 Windows 域控制器、一台 Windows HLK测试服务器和一台 Windows HLK 测试计算机。
请确保在域控制器上已配置而且正在运行Microsoft Active Directory®。
工作组环境:工作组环境中没有域控制器。
在工作组中部署 Windows HLK至少需要两台计算机:一台测试服务器和一台测试计算机。
请勿使用默认的管理员帐户。
若要测试系统和过滤驱动程序,至少需要1台测试服务器和1台测试计算机。
若要测试外部设备,至少需要1台测试服务器、1台测试计算机以及要测试的外部设备。
若希望降低控制器和客户端的管理开销,则可以选择分配较少的控制器,并在每个控制器上连接多个客户端。
一个控制器上最多可以连接 150 个客户端。
或者可以分配较多的控制器,并在每个控制器上连接较少的客户端。
这样,与任何给定的控制器进行通信的客户端较少,该控制器的响应速度会更快。
下图显示了一个示例测试环境。
2、HLK测试工作流程
HLK测试之前必须先设置要认证的硬件所需要的测试环境,才能开始测试。
测试流程包括:
1)查看先决条件
2)在测试服务器上安装Controller和Studio软件
3)在测试计算机上安装Client如那件
4)创建项目
5)创建计算机池
6)选择要认证的功能
7)选择和运行测试
8)查看结果
9)创建提交程序包
HLK测试流简介图如下:
、在测试服务器上安装 Controller 和 Studio
将在指定的测试服务器上安装 Windows HLK 软件。
测试服务器应当随Windows Server 2008 R2 预先安装。
安装程序会安装Windows HLK Controller 和 Studio 和其他资源。
1. 从Windows 硬件开发人员中心下载 Windows HLK
2. 从下载位置,单击“下载”>“运行”。
3. 当“指定位置”屏幕出现时,选择相应的选项:
a.安装选项–选择“将 Windows HLK 安装到此计算机”,然后单击
“安装”。
b.下载选项–选择“下载 Windows HLK 以便在其他计算机上进行安装”,然后单击“下一步”。
4. 选择“Controller + Studio”选项。
如果要直接安装,则必须打开服务器上的端口。
选择“是”,打开端口。
5. 当“加入客户体验改善计划(CEIP)”屏幕出现时,选择“是”或“否”,然后单击“下一步”。
6. 查看许可协议,然后单击“接受”继续操作。
7. 如果选择安装选项,安装过程大概需要 45 分钟。
如果此计算机上尚未安装 Microsoft .NET Framework 4,请按照提示安装它。
在计算机重新启动后,必须从第 1 步开始重复安装过程以安装到此计算机。
如果选择下载选项,请将下载的文件复制到你的测试服务器。
运行并从第 3 步开始重复安装过程以安装到此计算机。
在测试计算机上安装 Client
在测试服务器上安装 Windows HLK 之后,就可以向环境中添加测试计算机了。
在每台测试计算机上安装 Client 软件。
Client 软件存储在测试服务器上。
如果你要对某个软件进行测试,请确保首先将该软件产品安装到测试计算机上,然后安装 Client 软件。
1. 在测试计算机上,打开 Windows 浏览器。
2. X86和X64系统,输入\\<ControllerName>\HLKInstall\Client\。
ARM 系统,键入\\<ControllerName>\HLKInstall\ARMClient\。
将<ControllerName>替换为测试服务器的名称。
如果以下所需的软件尚未安装,则会在此步骤中进行安装:.Net Framework 4(客户端配置文件和扩展)、应用程序验证程序、Windows 驱动程序测试框架 (WDTF) 和Windows 性能测试 (WPT)。
3. Windows HLK“硬件认证工具包客户端安装”向导会出现。
若要启动该向导,请单击“下一步”。
4. 在“Internet 连接防火墙协议”页面上,选择“是,我允许打开端口”,
然后单击“下一步”。
如果“Internet 连接防火墙协议”页面未出现,则说明该计算机上未安装Windows Software Firewall,而是安装了其他软件防火墙或硬件防火墙。
如果安装了
另一个防火墙,则必须手动打开 TCP 端口 1771 才能继续安装。
请参考防火墙产品随
附的说明来手动打开 TCP 端口。
否则,安装可能会识别,或者 Client 软件可能无法
正常运行。
5. 当“可以安装”页面出现时,选择“安装”。
6. 单击“完成”退出向导。
7. 当安装完成时,通过单击“开始”>“控制面板”>“卸载程序”来确认
安装是否成功。
确认程序列表中是否出现“Windows 硬件认证工具包客户端”。
8. 针对每台测试计算机重复步骤 1-5。
、创建计算机池
计算机池是由一台或多台测试计算机组成的逻辑组。
在测试计算机上安装Windows HLK Client 之后,该计算机会自动添加到默认池中。
你必须将所需的计算机移动到能够正常工作的计算机池中,才能对该计算机进行处理。
每个项目都需要一个计算机池。
一个计算机池可以用于多个项目,但是每个项目都可以与一个计算机池相关联。
下图显示了 Studio 的“配置”选项卡。
1. 在 Windows HLK Studio 中,单击Configuration。
2. 在Machine Pool下面,右键单击$ (Rool),然后单击Create Machine Pool。
默认情况下,新池命名为“New Pool 1”。
你可以通过键入其他名称并按 Enter 来更改默认名称。
3. 单击Default Pool,然后确认所有的测试计算机都出现在主页上。
如果你已
经在多台测试计算机上安装了 Client 软件,则可以将其中的任何计算机添加到池中。
(一台计算机不能同时位于多个池中)。
4. 选择测试计算机,然后将它拖动到新创建的池中。
5. 在Machines下面,右键单击测试计算机,单击Change Machine Status,然后单击Ready。
Status列会更改为Ready。
如果计算机状态不是Ready,则测试不会运行。
6. 对要包括到池中的每台测试计算机重复此过程。
7. 单击“后退”箭头,返回到 Windows HLK Studio 的主区域。
在将所有的测试计算机都分配到一个池中之后,可以针对这些计算机执行测试。
如果要测试外部设备(如打印机),则这些设备必须已经连接到测试计算机。
、创建项目
首先打开Windows HLK Studio。
下图显示了Studio的“Project”选项卡。
1. 在服务器计算机上,单击“开始”>“所有程序”>“Windows 工具包”>“硬件认证工具包”>“H L K Studio”。
2. 在“Project”选项卡上,单击“Create project”。
3. 将默认项目名称替换为你的项目的名称,然后按 Enter。
(重启HLK Studio 电脑后,点击“Load project”重新加载项目)。
、选择认证的目标
Windows HLK Studio 检测由设备实现的所有功能。
特定的可测试设备称为目标。
一个设备可以包含多个目标,目标由一个或多个硬件 ID 来表示。
使用Selection选项卡,可以通过使用以下视图来筛选要认证的内容:
System(系统)认证客户端或服务器计算机。
Devices and printers(设备和打印机)认证与测试计算机相连的外部设备。
此设备通常出现在测试计算机上的“开始”>“设备和打印机”中。
Device manager(设备管理器)认证测试计算机或外部设备(例如网卡)的组件。
这是最详细的视图。
Software devices(软件设备)认证测试计算机上已安装的过滤驱动程序、防火墙和防病毒软件。
我们所关注的主要是system。
下图显示了 Studio 的“选择”选项卡。
1. 单击Selection选项卡。
从主池列表(左上方的下拉列表)中,选择要认证的设备所在的池。
2. 从左侧窗格中,根据你要认证的设备选择视图:systems, device and printers, device manager, or software device。
中间的详细视图中会显示可用目标的列表。
如果你选择“设备管理器”,则可以选择将内置功能和隐藏功能显示出来。
3. 从中间的详细视图中,选中要测试的每个项目旁边的复选框。
备注
·你必须选择设备的所有功能才能得到认证。
·如果要测试 Web Services on Devices (WSD) 设备,则可能会在所需的 WSD功能自动选中之前出现延迟。
show selected选项显示你在其他视图中选择的目标。
此视图允许你只查看你要测试的区域。
你还可以使用category列表按类别筛选计算机池。
你可以使用搜索框搜索特定的目标/功能。
、选择和运行测试
Test选项卡显示的所有测试你的设备上找到相关的特性。
您可以过滤和排序列出测试在以下方式:
分阶段设计测试:
·Status状态。
·Type列指定测试是自动运行 (空白)、需要用户手动输入 (小人图标)、特
殊配置(公文包图标),多个机器(多连接图标)。
·Length列显示每个测试所需的预估时间。
·Target目标。
·Machine(s)计算机池。
由于手动测试会中断测试过程而等待用户输入,因此,我们建议你将手动测试与自动测试分开运行。
一些自动测试需要额外的参数才能运行。
下图显示了 Studio 的Test选项卡。
使用Playlist创建和分享多组测试
1.Playlist采用编写格式定义一组测试
~将Playlist加载到项目中以修改项目测试列表
2.为您的测试方案创建自定义Playlist
~专注于您关心的测试
~与他人分享
Windows硬件兼容计划Playlist
1.正式的Playlist
~Windows硬件兼容计划使用一个正式的Playlist来确定设备需要符合的Windows 10兼容计划要求
~一个统一的Playlist适用于所有Windows 10 Desktop系统和设备
2.用于SysDev门户网站提交
~当前,所有已经发布的Playlist都可以被门户网站接受(sysdev)
下载地址:你可以加载一个播放列表,选择Load Playlist。
下图显示了加载播放列表文件对话框。
按图中Load Playlist File弹框所示,勾选。
(需要加载一定的时间)
运行Test:
Note:如果是使用播放列表,以下步骤之前一定要加载它。
1.选中要运行的每个测试旁边的复选框。
Note:设备必须通过列表中所有的测试才能得到认证。
2.若要运行所选测试,请单击“Run Selected”。
如果需要任何额外的输入,Windows HLK工作室将提示您。
会出现一个进度条。
运行测试时出现轻微的延迟。
当测试完成时,“Status”列中会出现每个测试的结果。
绿色复选标记表示测试已通过,红色 X 表示测试失败。
右窗格中显示项目的汇总信息,其中包括所选目标、正测试的操作系统、你符合的产品类型以及所有测试的状态。
、查看测试结果和日志文件
Results选项卡显示有关每个测试的详细信息。
当每个测试完成时,状态列会用测试结果(通过或失败)进行更新。
下图显示了 Studio 的Results选项卡。
如果测试失败,你可以展开测试详细信息以查看相关的日志文件。
1. 从列表中,选择由红色 X 指示的失败的测试。
2. 展开“测试名称”节点,展开“日志”节点,然后双击该日志文件。
你可以查看以下日志文件:
·.log 文件:文本转储。
·.wtl 文件:打开该文件可查看错误报告。
·.xml 文件:将文件的扩展名更改为 .wtl 可查看错误报告。
右键单击任何测试可查看有关该测试的其他详细信息,其中包括:
·任务日志。
·其他文件。
·所应用的筛选器。
·错误。
·基础结构(收集和执行日志)。
、创建提交程序包
在设备通过所有必需的测试之后,可以创建要认证的提交程序包(.HLKx 文件。
Windows HLK Studio 支持创建程序包,因此你不必使用单独的提交工具。
它还支持添加完成认证所必需的资源文件(驱动程序、符号文件和勘误表)。
你还可以将多个程序包(.hlkx 文件)合并到一个程序包中。
下图显示了 Studio 的Package选项卡。
1.选择Package选项卡。
2.(可选)如果你针对某个设备用过特殊的驱动程序,请通过执行以下操作提交该驱动程序:
a.单击Add Driver Folder > Browse选择该文件夹,然后单击OK。
b.在“驱动程序属性”对话框中,选中相应的Products和Locales,然后单击OK。
3.(可选)若要添加符号文件,请右键单击驱动程序文件夹,单击Add Symbols > Browse选择该文件夹,然后单击OK。
4.(可选)若要添加补充文件夹(如自述文件、意外事件消息、勘误表或手动筛选器),请单击Add Supplemental Folder > Browse选择该文件夹,然后单击OK。
5.单击Create Package。
6. 从Signing Options对话框中,选择下列选项之一:
Note:所有的提交内容都必须进行数字签名。
·不签名 - 创建未签名的程序包,例如,发送给支持人员进行调试或者在以后将其他程序包合并到单个提交程序包中。
·使用证书存储 - 创建带有数字签名的程序包(这是最常见的方案)。
此选项要求在运行 Windows HLK Studio 的计算机上安装 X509 证书(例如 VeriSign 证书)。
从Windows Security对话框中,选择适当的代码签名证书。
·使用证书文件 - 使用便携安全文件创建带有数字签名的程序包。
此选项要求提供一个 X509 证书文件(.cer 文件)。
当提交程序包就绪时,对于该设备的端对端测试就完成了。
.hlkx包关系图:
Next step:
通过仪表板上的Windows开发中心的硬件上的硬件仪表板提交带有签名的程序包(.hxlx 文件)。
有关详细信息,请参阅 Windows 开发人员中心中的仪表板帮助。
3、测试失败疑难解答
、是否有测试日志
1)如果有--继续第二步
2)如果没有--存在安装问题或系统崩溃
~安装问题--请阅读测试文档
~系统崩溃--启用内核崩溃转储
、安装最新更新和筛选器
1)检查较新版本的HLK
2)从MSDN上的HLK下载页面下载最新筛选器
3)每天两次更新筛选器(不用频繁更新)
、确保测试正常进行
1)如有需要,验证特殊配置
2)验证用户交互
、确认失败类别
参考资料
Windows 硬件认证
、测试经验
1)合理安排测试顺序(手动、自动)
2)可选择4—6台状态好的测试机进行测试
3)优先测试 DE OOBE_EOW Sequence Tests 该项测试(某测试人员提供,未验证)
4)进行多台机器测试的时候,将另一台辅助计算机和测试机放入同一计算机池测试。
(辅助计算机配置要求不高)
5)在测试过程中,如果服务端和客户端之间的网络连接不小心断开,再次连接即可,但如果超过半个小时,则服务会停止。
6)不能变为ready状态
在studio中设置为reset后,却不能变为ready状态。
1、请查看网络连接,如果网络连接的类型为公共网络,改为家庭网络即可。
2、如果还不能解决问题,进入HLK manager,点击Explorers->Job monitor,在Machine Pool中选择正在测试的Machine,然后再点击Machines中出现的client,右键点击选择Change Status->Unsafe,然后再设置成Reset。
7)长时间没进行测试,再次测试发现无法进入ready状态
在运行中输入,进入services界面,查看与HLK测试相关的几个服务项:HLK Communication Service 以及HLK Infrastructure Service的status是否为started,如果不是右键点击start。
如果以上步骤后仍不能开启服务,在HLK Manager中将client端设置为unsafe,在client端卸载掉HLK client,并重新搭建环境。
8)不能选择测试项
在HLK Studio的Tests界面中,能看到之前选择的待测client端的测试项,但不能选择测试项进行测试,请确信待测client已被设置为ready状态。
9)取消测试
在测试的过程中,由于某些原因可能要取消某些正在测试或者等待测试的测试项,在studio中,进入Tests界面,右键要取消的测试项,选择Cancel Highlighted即可,对于正在测试的测试项,如果她本身测试过程中未出现error,则Cancel Highlighted不一定能及时取消,可以尝试在client端关闭正在运行的HLK进程,或关闭client端等,没有错误制造错误让她取消。
10)对测试失败项可进行多次测试
测试过程中,对于失败项多测几次。
一方面微软开发的HLK本身可能具有一些BUG,另外,某些测试具有一定的随机性,多测几次降低失败的概率。
这里说明,不管你测试success之前失败了多少次,只要驱动未更换,微软都承认测试通过。
(之前有个随机读的地方时过时不过,但多测几次总会通过)。
建议可在测试项通过大半的时候可进行此操作。
测试前期,由于任意一个错误可以影响很多个测试项,尽快迭代版本,减少由于某一个原因导致的多个测试项Failure。
(持续增加中……)。