320 likes | 569 Views
面向研发经理和产品规划人员的 WDK 介绍. 张伟伟 微软中国技术中心. 主题. Windows Driver Kit (WDK) 简介 WDK 中新增的特色功能 驱动测试管理器( Driver Test Manager ) 迎接 WDK. WDK 简介. WDK 的目标. WDK 的愿景 : Windows 驱动程序永不崩溃 WDK 的任务 : 提供完整的 Windows 驱动程序集成开发系统 , 保证高质量的驱动程序开发 WDK 的出发点 改善驱动程序质量 => 改善 Windows 用户体验 减少复杂性 降低产品的开发成本
E N D
面向研发经理和产品规划人员的 WDK介绍 张伟伟 微软中国技术中心
主题 • Windows Driver Kit (WDK)简介 • WDK 中新增的特色功能 • 驱动测试管理器(Driver Test Manager) • 迎接 WDK
WDK 的目标 • WDK 的愿景: Windows驱动程序永不崩溃 • WDK 的任务: 提供完整的Windows驱动程序集成开发系统,保证高质量的驱动程序开发 • WDK 的出发点 • 改善驱动程序质量 => 改善Windows用户体验 • 减少复杂性 • 降低产品的开发成本 • 降低产品的支持成本
WDK –具体描述 • 单一工具包 • 不仅是DDK, IFS Kit和HCT的简单组合 • 集成驱动程序的文档, 测试,工具和开发环境为一体 • 驱动程序测试管理器(DTM)将替代传统的硬件兼容测试工具集(HCT) • WDK的关键目标 • Windows 2000直到Windows Vista下的驱动程序的编译、测试及调试环境 • 支持所有的签名和徽标程序 • 包括Windows徽标测试程序和驱动程序质量签名(DQS)程序 • HCT将在Windows Vista发布时被彻底取代 • 将Windows开发中使用的测试及工具分享给驱动开发厂商以改进第三方驱动程序的质量 • 比徽标测试更丰富的质量计划 • 测试与分析工具 • 压力测试, 性能测试, 和功能测试
用于驱动程序开发的集成开发环境 Build Environment 操作系统和开发 工具的帮助文档 驱动程序测试管理器 WinQual 集成 Windows Driver Foundation 编译环境 4 3 1 2 开发工具 (PREfast) 徽标测试 质量测试 范例 驱动程序模版 LDK Test Harness (WTT) 核心模式 调试器 开发 测试 质量 维护 设计 WDK 生命周期构成 关键使用场景 开发驱动程序 Win2KVista 调试驱动程序 代码实例和模板 驱动程序测试 Pillars of LDK 徽标测试
测试实验室 第三方测试集 徽标测试集 微软质量测试集 驱动测试管理器 静态分析 WDK –部署方案 WDK 测试结果共享 OEMs 因特网 帮助文档 代码实例 Microsoft 调试工具 编译环境
功能特性: 设计和开发 • 兼容Windows 2000暨以后版本的编译环境 • 版本化头文件–头文件的集合!!! • Windows Driver Foundation • 新版本的: • 调试器 • PREfast for Drivers • Call Usage Verifier • 新工具: • Static Driver Verifier • Deprecated Function Checking • 重新设计的文档浏览与搜索方式
头文件继承 • 核心头文件采用超集/子集 模型 • 更高级别的头文件“#include”低级别的头文件 • 结果: • 定义(Definitions)被移动到更低的共用头文件中 • 更高级别的头文件仅包含自身相关的定义(Definitions) • 使头文件版本化 NTIFS.H #include NTDDK.H #include WDM.H
版本化头文件 • 目标: 用一个头文件集支持Windows 2000及以后的Windows驱动程序开发 • 使用单一头文件集为多个版本的Windows生成二进制代码 • 为不同版本的操作系统生成不同的二进制代码, 或者… • 单一二进制代码支持多个版本的操作系统 • 同时支持核心模式和用户模式 • 计划Windows Vista Beta 1时推出 • 优点 • 简单的开发环境管理 • 更容易地使用新版本操作系统的上层内容
开发文档的改善 • 目标: 更容易地找到要找的内容 • 基于2004年收集的用户数据 • 改善 • 集成IFS 包的内容 • 目录–更好的分级,改善分组 • 索引–加强关键词的作用 • 代码范例和工具的 Readme 也包括在目录和搜索中 • 按不同驱动技术分类过滤 • 一些改善已应用于 Windows Server 2003 SP1 DDK • 优点 • 不需要单独再获取IFS包 • 查找内容不需要知道标题名 • 代码范例的信息可读性更好
帮助目录的改善 • 旧的目录组织
Improve TOC • 新的目录组织
驱动程序测试管理器 (DTM) • 以前的名字是“LDK Test Harness” • 和微软Windows测试组使用的工具相同 • 许多具体测试也来自于Windows 测试组 • 不仅仅是徽标测试 • 压力测试, 性能测试和功能测试 • 目标环境 • 仅用于测试 Windows 驱动程序及相关应用 • 不宜用于非测试环境 • OEMs, ODMs, IHVs, ISVs应有限使用
DTM: 满足所有驱动程序的测试需求的扩展能力 • 可扩展至: • 用于大型质量控制实验室 • 每个控制器可连接100个测试客户机 • 当需要多个控制器时: • 每个数据库有一个控制器 • 没有控制器间交互处理 • 也可用于: • 开发者单元测试 • 一个控制器, 一个测试客户机
工作站界面 驱动程序测试流水线 计划与监控 控制器 服务和后台程序 配置数据库 存储测试队列 测试客户机 被测试的系统 包括一个小的测试代理程序 ∞ 1 自动数据库 DTM 控制器 1 100 DTM: 部署
DTM Job Configuation Tests Dumps Results DTM: 关键概念 • 任务(Jobs) • 已经确定的测试计划 • 1个或更多测试动作的集合 • 可执行的动作, 如“LogoTest.exe” • 可设定测试动作的相互依赖性 • 安装, 运行, 卸载 • 可共享性 • 约束性 • 维度 • 参数化 • DTM 提供一个的通用的测试任务集 • 用户可自定义任务 • 配置收集器 • 获得测试客户机的配置数据 • 包含硬件和软件信息 • 在控制器中用于测试的调度
DTM: 关键概念 • 调度 • 自动化任务分发 • 并行地执行 • 映射任务到对应资源上 • 打包程序 • 测试环境信息收集 • 测试项目, 配置, 测试日志, 最终结果 • 协作 • 复制 • 自动部署 • 自动化系统安装程序 ASI(Automated System Installer) • 所有版本Windows的无人参与安装 • 简洁的集成化安装 • 不需要管理大量的操作系统磁盘镜像 • 系统镜像工具 • 任何磁盘镜像的自动化安装
打包程序场景调查一个失败项 察看数据 输入 工作站 运行的任务, 测试项目, 测试结果, 系统配置数据,崩溃转储数据 DTM 控制器 DTM 控制器 测试客户机 测试客户机
任务 配置 DTM 控制器 设备 0 Device 0 Device 0 测试可以被打包存储以便于日后测试的再次执行 DTM 场景 任务 Job 0 “调度”将测试任务安排到适当的测试硬件上 调度 在查看测试结果后,测试工程师可以打包所有的测试信息和结果 自动数据库 OEMs …分享给客户, OEMs, 或者提交到 Microsoft 设备 x 任务管理 收集程序被发送到测试目标机上收集每台测试机的配置数据 任务和测试配置被发送到测试目标机上 Microsoft 日志 x 日志 1 测试完成后,测试结果被发送到控制器中。 测试机可以被自动配置,包括自动安装操作系统 日志0 DTM 工作站 测试工程师在工作站上创建和管理测试任务 测试系统池 任务在测试机可以并行执行,也可以依照调度依次执行。结果被收集到测试日志中。
DTM: 优点 • 单一的自动测试架构 • 徽标测试 • 非徽标测试 • 自己的测试–保护你已有的投资 • 就是Microsoft内部的测试架构 • 改善测试的执行效率–并行处理 • 自动在测试系统上安装操作系统镜像 • 使用“打包程序”进行协作 • 在不同的地点,分享相同的数据, 包括你的合作厂商也包括 Microsoft • 共享测试环境–驱动程序, 任务和测试项目, 测试结果(包括徽标), 崩溃转储文件
WDK 的时间计划 • 依赖于Windows Vista的时间表 • WDK 最终将与 Windows Vista 同时发布 • WDK Betas 将伴随 Windows Vista Betas 同期发布 • Beta 1 – DTM, 操作系统镜像, 版本化头文件, CUV, PFD, 代码实例 • Beta 2 – DTM 协作测试 • RC0 – DFW徽标内容与测试 • RC1 –使用WDK用于徽标测试提交
合作伙伴的参与 • 促进早期试用 • DDK 和 HCT betas 历来没有试用计划 • WDK 为获得早期的反馈,目前有这些试用状态 • Master 技术试用程序 • 35 参加厂商, 国内3家 • 关注于Beta阶段的试用效果, 签署正式合作协议 • Select 技术试用程序 • 超过100 参加厂商, 国内7家 • 调查表反馈, 有限的电话访问,中期的产品应用 • Beta 程序 • 数百家参与厂商 • 通过统计取样反馈测试效果
行动起来 • 现在开始准备 • WDK是Windows Vista徽标测试要求的必要工具 • 制定好采用这一新软件工具的规划 • 在你的实验室中试用Driver Test Manager • 考虑到实验室拓扑的改变 • 员工培训 (必要的课程, 书籍) • 国内的WDK技术试用计划: • 微软第一次在国内开展驱动程序技术方面的早期试用 • 由微软中国技术中心负(CTC)责执行 • 联系方法:ctcwdk@microsoft.com • 联系微软(全球): WDKFB @ microsoft.com • 国内WDK工联系:ctcwdk @ microsoft.com
Community Resources • Windows 硬件与驱动程序中心 (WHDC) • www.microsoft.com/whdc/default.mspx • 技术社区 • www.microsoft.com/communities/products/default.mspx • 非微软社区站点 • www.microsoft.com/communities/related/default.mspx • Microsoft 公众新闻组 • www.microsoft.com/communities/newsgroups • 技术论坛与网络广播 • www.microsoft.com/communities/chats/default.mspx • www.microsoft.com/webcasts • Microsoft 网络日志 • www.microsoft.com/communities/blogs
问答 • 什么是WDK? • 微软新的驱动测试工具是什么?什么时候取代现在的HCT测试? • 如何获得WDK的试用版本?