适用于 Windows 测试用例的游戏:Windows XP、Windows Vista、Windows 7 和 Windows 8 上的游戏的最佳做法

本文提供适用于 Windows 的游戏的测试用例。

如何使用本文

本文有三个main部分:

测试要求

本文档中的每个测试要求都有四个main部分:一个标题和一个表,其中包含左列、右上、右下) (三个显著部分。

Title

测试用例的名称。

框,最左侧列

应用测试用例的操作系统的名称。

框,右上

测试用例的简要摘要。

框,右下角

实际测试用例的详细信息。

示例测试脚本

本部分是使用测试要求作为指南时,典型测试通过将遵循的顺序示例。

测试工具说明

本部分包含有关用于验证测试要求中通过或失败条件的每个测试工具的详细说明。

测试要求

1. 游戏要求

1.1 Windows 游戏资源管理器

Windows 7
Windows Vista
该游戏必须在 Windows Vista 和 Windows 7 上的游戏资源管理器中可见。 选中后,游戏还必须显示正确的元数据。 安装不得创建在桌面、“开始”菜单或任何其他位置启动游戏的快捷方式。 不得创建用于删除的任务和快捷方式。
  1. 安装游戏后,打开“游戏资源管理器”。
  2. 验证游戏图标是否显示在游戏资源管理器中。
  3. 右键单击该图标并测试每个应用程序定义的播放 & 支持任务。
  4. 单击图标并验证底部 (发布者、开发人员、流派、发布日期、版本) 的元数据是否显示正确。
  5. 验证游戏图标是否在游戏资源管理器中显示 Windows 体验索引 (WEI) 信息。
  6. 验证元数据的游戏超链接在游戏资源管理器中是否正常工作。 (如果未显示超链接,则表明 exe 未签名可能表示:请参阅 第 2.3.) 节
  7. 验证游戏是否在游戏资源管理器中显示准确的家长控制分级。 (如果它说未分级,则验证这是一个未分级的游戏;否则,这是一个指示 exe 未签名的指示器;请参阅 第 2.3.) 节
  8. 验证游戏是否未在用户桌面上放置启动快捷方式。
  9. 单击“开始”->“所有程序”。
  10. 验证游戏是否未在“开始”菜单中放置启动快捷方式。
  11. 验证游戏是否未将卸载快捷方式放置在控制面板之外的“开始”菜单中。
  12. 如果游戏以数字方式分发,请验证服务提供商是否显示在 Windows 游戏资源管理器中。

1.2 Windows 家庭安全/家长控制

Windows 7
Windows Vista
游戏必须在“标准用户”的上下文中执行。 家长控制必须能够阻止游戏。 验证 GDF 是否具有 EXE 名称。
  1. 在 Windows Vista 或 Windows 7 中创建名为 Toby 的标准用户帐户。 启动 -> 控制面板 -> 添加或删除用户帐户 -> 创建新帐户
  2. 作为 Jane,从管理员帐户为游戏设置家长控制。 Start -> 控制面板 -> 为所有用户设置家长控制 -> Toby
    1. 验证游戏是否从“游戏资源管理器”图标启动。
    2. 验证游戏是否在家长控制控制面板的游戏标题下方显示准确的家长控制分级。
    3. 在应用家长控制之前,请验证游戏在启动时是否未提示输入管理员凭据。
    4. 将“家长控制”设置为“打开”。
    5. 在“Windows 设置”部分中,单击“游戏”。
    6. 单击“确定” (设置现在应为“AO /所有游戏”) 。
    7. 验证游戏是否以用户简身份使用这些设置运行。
    8. 以 Jane 身份注销,以 Toby 身份登录。
    9. 验证游戏是否以用户 Toby 身份使用这些设置运行。
    10. 以 Toby 身份注销,以 Jane 身份登录。
    11. 返回上一个屏幕,然后选择“设置游戏分级”。
    12. 选择低于游戏 ESRB 分级的分级。

      注意:
      如果游戏未分级,请跳过此步骤并转到此测试的下一部分。 可能需要选择不同的分级系统来查找游戏分级,具体取决于要测试的 SKU 的语言区域设置。


    13. 以 Jane 身份注销,以 Toby 身份登录。
    14. 验证当用户简阻止 ESRB 时,游戏是否未针对用户 Toby 启动。
    15. 以 Toby 身份注销,以 Jane 身份登录。
    16. 如果之前已更改,请还原 ESRB 设置。
    17. 如果没有 ESRB 设置,请选择“阻止或允许特定游戏”,然后按名称选择游戏。
    18. 以 Jane 身份注销,以 Toby 身份登录。
    19. 验证当 EXE/Name 被用户简阻止时,游戏是否未为用户 Toby 启动。
    20. 以托比身份注销,以简身份重新登录。
    21. 以 Jane 身份打开用户控件 -> 应用程序限制。
    22. 单击“Toby 只能使用我允许的程序”,然后单击“确定” (即,不允许 exes) 。
    23. 转到用户控件 |游戏使用 ESRB 分级控制并允许特定游戏。
    24. 以 Jane 身份注销,以 Toby 身份登录并尝试玩游戏。
    25. 验证游戏是否未阻止,并且当设置了“不允许 exes”时,Toby 是否可以玩它。

1.3 Windows Vista 丰富已保存游戏

此要求已停用。

1.4 适用于 Windows 的 Xbox 360 通用控制器 [条件要求]

Windows 7
Windows Vista
Windows XP
支持游戏板控制器的游戏必须使用 XInput API 支持可用于 Windows 的 Xbox 360 控制器。 对常见控制器触发器和按钮的所有引用都必须使用 Xbox 360 名称。
  1. 启动游戏。
  2. 转到控制器选项。 **
  3. 验证游戏是否将可用于 Windows 的 Xbox 360 控制器识别为输入设备。
  4. 玩游戏并验证游戏和菜单系统是否可通过可用于 Windows 的 Xbox 360 控制器进行控制。
  5. 验证可用于 Windows 的 Xbox 360 控制器的行为是否符合接受的标准。 (B 为后退、A 表示接受、开始为游戏菜单/暂停或接受等 )
  6. 使用 Xbox 360 名称验证游戏是否引用了控制器按钮和触发器。

注意:
如果游戏不支持游戏控制器和/或仅支持键盘/鼠标,请跳过此测试用例。


** 控制器的设置可能位于游戏外部。

1.5 多纵横比和分辨率

Windows 7
Windows Vista
Windows XP
游戏必须至少支持以下纵横比和关联的屏幕分辨率:
  • 4:3 “正常” (800 600 或 1024 768)
  • 16:9 “宽屏” (1280 720)
  • 16:10 “宽屏” (1152 720、1680 1050 或 800 480)
找到游戏的视频选项, (这可能在我们的游戏) 。

注意:
必须在宽屏显示器上完成以下测试。


  1. 在视频分辨率部分,选择 800 600 或 1024 768。
  2. 验证游戏是否以 4:3 纵横比分辨率运行。
  3. 在“视频分辨率”部分中,选择“1280 720”。
  4. 验证游戏是否以 16:9 纵横比分辨率运行。
  5. 在视频分辨率部分中,选择 1680 1050、800 480 或 1152 720。
  6. 验证游戏是否以 16:10 纵横比分辨率运行。
  7. 验证游戏是否不拉伸图片,进而呈现更广阔的视野区域。
  8. 验证更改分辨率时游戏是否提示用户。
  9. 如果用户在 15 秒内未接受,请验证显示是否还原到以前的设置。
  10. 验证游戏是否未在游戏区域的左侧和右侧添加黑条。 (在这种情况下,你将看到游戏区域在屏幕中间仍然以 4:3 的比例显示。)

1.6 Windows Media Center

此要求已停用。

1.7 Direct3D [条件要求]

(OS) 要求
Windows 7
Windows Vista
Windows XP
如果游戏使用 Direct3D,则支持的最低版本必须为 Direct3D 9,而 Direct3D 必须是任何显示配置选项的默认值。
手动
启动游戏。 在视频选项中,检查以查看是否存在呈现选项 D3D 和/或 OpenGL。 如果有,请验证游戏呈现选项是否默认为 Direct3D。 如果无法验证 D3D9 是否为正在使用的 DirectX 版本,请继续执行自动测试。
自动测试
使用工具:Depends.exe

1.8 启用高 DPI 感知

Windows 7
Windows Vista
启用 DPI 缩放后,游戏及其安装程序必须正确运行,不会出现视觉问题。
手动
  1. 将系统设置为 DPI 150%:
    Windows Vista:控制面板:个性化、调整字体大小 (DPI) 、自定义 DPI。 设置为 150%。
    Windows 7:控制面板:显示,设置为较大 - 150%。
  2. 运行安装过程和游戏,验证剪裁的屏幕或对话框没有问题。
自动测试
验证元素 <dpiAware>true 是否包含在嵌入清单中。
使用工具:Mt.exe

2. 安全性和兼容性

2.1 遵循用户帐户控制准则

Windows 7
Windows Vista
应用程序附带的每个可执行文件 (.EXE 扩展名) 都必须具有定义其执行级别的嵌入式清单:
<requestedExecutionLevel level=&quot;asInvoker|highestAvailable|requireAdministrator&quot; 
              uiAccess=&quot;true|false&quot;/></code></pre>

注意:
对于游戏和游戏安装程序,uiAccess 应始终设置为“false”。


  1. 验证游戏可执行文件是否包含清单。
  2. 验证游戏可执行文件清单 requestedExecutionLevel 是否为“AsInvoker”。
使用工具:Mt.exe

2.2 支持 x64 版本的 Windows

Windows 7
Windows Vista
若要保持与 x64 版本的 Windows 的兼容性,
  • 游戏和游戏安装程序不得包含任何 16 位代码或依赖于任何 16 位组件。
  • 如果游戏依赖于内核模式驱动程序进行操作,则这些驱动程序的 x64 版本必须可用。 游戏安装程序必须检测并安装适用于 64 位版本的 Windows 的正确驱动程序和组件。

注意:
对 64 位版本的 Windows XP Professional 的支持是可选的。


手动测试
  1. 在 64 位版本的 Windows 上运行游戏。 验证游戏安装过程是否在 64 位版本的 Windows Vista 或 Windows 7 上正常运行。
  2. 验证游戏是否未因 64 位版本的 Windows Vista 或 Windows 7 上的 16 位可执行文件而遇到错误。 错误将在错误窗口中提及 16 位应用程序。
  3. 如果游戏具有本机 64 位可执行文件,则也使用该可执行文件。

2.3 对文件进行签名

Windows 7
Windows Vista
Windows XP
所有可执行代码文件 (例如,.exe 和 .dll 扩展) 都必须使用 Authenticode 证书进行签名。
如果使用 Windows Installer,则必须对安装程序的程序包文件 (.msi 文件) 进行签名。
手动测试
  1. 导航到游戏目录。
  2. 找到所有 .exe 和 .dll 文件。
  3. 右键单击每个文件上的“属性”。
  4. 验证游戏可执行文件是否包含数字签名。

2.4 对驱动程序进行签名

Windows 7
Windows Vista
Windows XP
游戏安装的任何内核模式驱动程序都必须使用公开有效的 Authenticode 证书进行签名。
游戏安装的任何内核模式硬件设备驱动程序都必须具有通过 Windows 硬件质量实验室 (WHQL) 或驱动程序可靠性签名 (DRS) 程序获取的 Microsoft 签名。
手动测试
  1. 安装游戏。
  2. 验证游戏安装过程 () 未显示未签名的驱动程序对话框。

2.5 正确执行版本检查

Windows 7
Windows Vista
Windows XP
除非最终用户许可协议禁止在将来的操作系统上使用,否则游戏不得在 Windows 版本号更改中指示的情况下运行。 如果游戏应该失败,它必须通过向用户显示消息来优雅地执行此操作。
手动
  1. 在 Windows XP、32 位版本的 Windows Vista 和 Windows 7 以及 64 位版本的 Windows Vista 和 Windows 7 上安装游戏。
  2. 验证游戏安装过程是否未遇到有关 OS 版本的错误。
自动测试
使用工具:应用程序验证程序
  1. 启动应用程序验证程序。
  2. 选择 INSTALL.EXE 后启用 Compatibility:HighVersionLie 测试。
  3. 安装游戏并确保它不会阻止基于 OS 版本的安装。
  4. 选择 GAME.EXE 后启用 Compatibility:HighVersionLie 测试。
  5. 运行游戏并确保它不会基于 OS 版本阻止执行。

2.6 支持并发用户会话

Windows 7
Windows Vista
Windows XP
游戏必须支持标准 Windows 多任务方案。
在 Windows Vista 或 Windows 7 中创建名为 Toby 的标准用户帐户。 Start -> 控制面板 -> 添加或删除用户帐户 -> 创建新帐户
  1. 以用户 Jane 身份启动游戏。
  2. Alt+Tab 返回到桌面。
  3. 验证游戏是否在 Windows 桌面上正确使用 ALT+TAB。
  4. 单击“开始”-> [Lock 右侧的箭头] -> 切换用户。
  5. 以用户 Toby 身份登录。
  6. 验证游戏是否以用户 Toby 身份启动,同时仍以用户 Jane 身份运行。
  7. 验证游戏在用户切换过程中没有遇到 User Toby 或 User Jane 错误。
  8. 如果可以启动另一个游戏会话,请验证你是否无法听到来自原始游戏会话的音频。
  9. 关闭游戏并切换回原始用户和游戏。

2.7 支持长名称

Windows 7
Windows Vista
Windows XP
如果游戏支持保存文件,则必须能够保存具有长名称和路径的文件。 游戏必须正确处理特殊的文件系统字符,如 \ / : * ? “在用于创建文件名或路径的任何用户输入字段中 < 或 >。
  1. 启动游戏。
  2. 启动新游戏。
  3. 保存游戏。 在保存过程中,验证游戏是否使用保存名称保存:我的第一个保存游戏。
  4. 退出回main菜单。
  5. 尝试加载新保存的游戏。
  6. 验证游戏在处理不受支持的文件系统字符时没有遇到错误,例如 \ / : * ? “< 或 > 如果游戏允许,请命名保存的游戏。
  7. 如果允许用户命名其个人资料和/或角色或保存游戏,请验证游戏在在此处使用长文件名时是否也未遇到错误。

3. 安装

3.1 轻松安装

Windows 7
Windows Vista
Windows XP
具有传统安装的游戏必须在其设置用户界面中提供简化的路径。
  1. 插入游戏光盘。
  2. 验证游戏是否未显示多个 End-User 许可协议 (EULA) 。
  3. 如果游戏支持自定义或高级安装选项,请验证在安装过程中是否可访问此选项。
  4. 验证“默认安装”选项是否绕过了安装过程的所有用户输入选择, (选择安装文件夹、组件选择等) 。
  5. 验证游戏安装过程不会提示 (DirectX 设置、Visual C 运行时等) 操作系统组件设置。
  6. 验证游戏安装过程是否未提示防火墙交互。
  7. 验证游戏是否自动运行,或者安装过程结束时是否存在启动器菜单。
  8. 验证游戏卸载过程是否删除所有已安装的、未重新分发的 OS 组件文件并清除所有设置。 不需要清理所有用户设置和数据 (,例如保存的游戏) 。

3.2 支持安装用户帐户控制

Windows 7
Windows Vista
游戏安装程序不得假定它在与用户相同的上下文中运行。 因此,游戏必须在首次运行时与安装分开执行每用户任务。
  1. 验证是否可以将游戏安装为用户 Jane。 (这需要在安装/安装过程中提升的权限。)
  2. 验证游戏安装过程是否提示用户 Jane 通过管理员凭据进行提升。 (当用户尝试 install 时,会出现提升提示。)
  3. 选择在安装结束时自动运行游戏(如果尚未这样做),或者从出现的菜单中启动游戏。
  4. 进入游戏后,创建新个人资料,玩并保存游戏。
  5. 退出游戏。
  6. 重启游戏,并验证用户简帐户是否可以访问用户配置文件和保存的游戏。

3.3 安装以更正文件夹

Windows 7
Windows Vista
Windows XP
默认情况下,游戏必须安装到 Program Files 文件夹。 用户数据必须在首次运行时写入,而不是在安装期间写入。
  1. 使用默认安装类型安装游戏。
  2. 验证游戏是否已安装到 Program Files。

注意:
如果此测试失败,请验证游戏是否要为所有用户安装。 如果是,则表示失败。


3.4 正确安装 Windows 资源

Windows 7
Windows Vista
Windows XP
应用程序不得尝试安装受 Windows 资源保护 (WRP) 保护的文件或注册表项。
  • 验证在安装过程中是否未显示 Windows 资源保护 WRP 对话框。

3.5 避免在安装过程中重新启动

Windows 7
Windows Vista
Windows XP
除非返回结果或 Microsoft 文档指示重新启动,否则游戏安装程序不应假定从重新分发包安装 Windows 组件需要重新启动。
  1. 安装游戏。
  2. 验证游戏是否不需要在安装后重新启动系统。

注意:
如果 Microsoft 系统更新 REDIST 需要重新启动,请执行以下操作:完成游戏安装,卸载游戏,然后再次重新安装游戏。 第二次安装时,游戏安装过程不应要求重新启动。


3.6 正确使用文件版本控制

Windows 7
Windows Vista
Windows XP
游戏安装程序必须正确检查,以确保安装最新的文件版本。 安装游戏时不得倒退您不生成或由您不生成的应用程序共享的任何文件。
  1. 在安装游戏之前,请创建 System32 的预安装快照。
    1. 创建名为 G4Wtest 的目录。
    2. 打开命令 Window (Start -> Run -> cmd) 。
    3. 导航到 c:\windows\system32。
    4. 键入 dir /o:-g /o:-d >> c:\G4Wtest\pregame.txt。
  2. 创建 System32 的安装后快照。
    1. 打开命令 Window (Start -> Run -> cmd) 。
    2. 导航到 c:\windows\system32。
    3. 键入 dir /o:-g /o:-d >> c:\G4Wtest\postgame.txt。
    4. 验证游戏是否不会倒退游戏未生成的任何文件版本 (...通过将 pregame.txt 与 postgame.txt) 进行比较,将两个文档中列出的文件。

3.7 支持自动运行 [条件要求]

Windows 7
Windows Vista
Windows XP
对于在 CD、DVD 或其他支持自动运行的可移动媒体上分发的游戏,首次插入光盘时,应用程序必须自动运行或提示用户安装游戏。

注意:
为在 Windows Vista 之前的 Windows 版本上使用而编写的自动运行程序不应使用 .NET 运行时,因为此技术不包括在 Windows XP 或较旧版本的 Windows 中。


有关进一步指导,请参阅 适用于 Windows 技术要求 3.7 的游戏支持自动运行。

  1. 插入游戏光盘或媒体。
  2. 验证“安装/运行”对话框是否自动出现。
  3. Windows Vista 或 Windows 7:验证游戏自动运行程序本身不会提示用户简通过管理员凭据进行提升。
  4. 验证 Autorun 可执行文件是否不需要现成的 REDIST 组件,例如 .NET 3.5、C Run-Time 库等。
  5. 验证安装后重新插入驱动器中的光盘是否不会导致安装自动重新开始。

4. 可靠性

4.1 消除不必要的重启

(OS) 要求
Windows 7
Windows Vista
所有应用程序安装程序都必须利用 Restart Manager API 来避免系统重启, (请参阅 要求 3.5) 。

4.2 消除应用程序验证程序故障

Windows 7
Windows Vista
Windows XP
在以下测试中,游戏不得生成在 Microsoft 应用程序验证程序 (AppVerifier) 版本 4.0 或更高版本下运行的故障:
  • 基础知识:句柄、堆、锁、内存、TLS
  • 杂项:DangerousAPIs、DirtyStacks
使用工具:AppVerifier 4.0 (或更高版本)
  1. 安装 AppVerifier。
  2. 启动 AppVerifier 并选择“文件”->“添加应用程序”。
  3. 找到游戏可执行文件,将其选中,然后单击“打开”按钮。
  4. 在“应用程序”部分中,选择游戏可执行文件。
  5. 在“测试”部分中,选择上面“基本”和“杂项”类别下列出的测试, (取消选中 ThreadPool 和 TimeRollOver) ,并确保未选择所有其他测试。
  6. 启动游戏。
  7. 验证在应用程序验证程序下运行时游戏不会生成失败。

注意:
某些测试需要调试器完全运行。 这可能需要游戏可执行文件的不受保护的发布版本,因为反作弊/反盗版技术可能会干扰 AppVerifer。


4.3 支持Windows 错误报告

Windows 7
Windows Vista
Windows XP
游戏必须仅处理已知和预期的异常,并且不得禁用Windows 错误报告。 如果错误 ((如访问冲突) )注入到游戏中,则必须允许Windows 错误报告报告崩溃。
使用工具:线程劫持者
  • 如果应用程序在测试时崩溃,请验证游戏是否正确显示Windows 错误报告并收集崩溃数据。
Windows 7
Windows Vista
Windows XP
例如,) (.exe 或 .dll 文件的所有可执行文件都必须包含准确的产品名称、公司名称和文件版本。
手动测试:
  1. 右键单击游戏的可执行文件, (安装介质和安装到计算机硬盘驱动器上的) 。
  2. 选择“属性”。
  3. Windows XP:单击“ 版本 ”选项卡。验证“产品名称”、“公司名称”和“文件版本”字段是否已正确填充。
  4. Windows Vista 或 Windows 7:单击“ 详细信息 ”选项卡。验证“产品名称”和“文件版本”字段是否已正确填充。 公司名称在 Windows Vista 或 Windows 7 属性页中不可见。
自动测试:
  • 使用 Microsoft Games for Windows 测试工具;请参阅 第 6.4 节
Windows 7
Windows Vista
Windows XP
游戏的正常退出不得导致未知异常错误。
  • 在正常游戏会话中玩游戏后,请验证游戏是否在退出时不会生成错误。

5. 示例测试脚本

这是使用上述测试要求作为指导的典型测试通过的示例。

5.1 工具

  • AMD CPU 上的 32 位版本的 Windows Vista SP1 和/或 Windows 7
  • Intel CPU 上的 32 位 Windows Vista SP1 和/或 Windows 7 版本
  • AMD CPU 上的 64 位 Windows Vista SP1 和/或 Windows 7 版本
  • Intel CPU 上的 64 位 Windows Vista SP1 和/或 Windows 7 版本
  • AMD CPU 上的 32 位版本 Windows XP SP2
  • Intel CPU 上的 32 位版本 Windows XP SP2
  • 支持 1680 1050 的宽屏监视器
  • 可用于 Windows 的 Xbox 360 控制器

5.2 预安装

  1. Windows Vista 和 Windows 7:创建两个标准用户:Jane 和 Toby

  2. Windows Vista 和 Windows 7:确保已启用用户帐户控制

  3. 创建 System32 的预安装快照

    1. 创建名为 G4Wtest 的目录
    2. 打开命令 窗口 (开始 -> 运行 -> cmd)
    3. 导航到 c:\windows\system32
    4. 键入 dir /o:-g /o:-d >> c:\G4Wtest\pregame.txt
  4. Windows Vista 和 Windows 7:设置为 150% DPI [1.8]

  5. 继续 安装

5.3 安装

  1. 以用户简身份登录
  2. 将游戏光盘插入 CD/DVD 驱动器,验证“安装/运行”对话框是否自动启动 [3.7]
  3. 验证游戏安装过程是否提示用户 Jane 提升管理员凭据 [3.2]
  4. 验证游戏自动运行程序本身是否未提示用户 Jane 通过管理员凭据提升 [3.7]
  5. 验证游戏是否未显示 EULA) [3.1] (多个 End-User 许可协议
  6. 验证游戏是否显示“默认/轻松”和“自定义/高级”安装选项 [3.1]
  7. 验证“默认/轻松安装”选项是否绕过安装过程的所有用户输入选择, (选择安装文件夹、组件选择等。) [3.1]
  8. 验证游戏安装过程是否未提示进行 OS 组件设置 (DirectX 设置、C Run-Time 库等。) [3.1]
  9. 验证游戏安装过程是否未提示防火墙交互 [3.1]
  10. 验证游戏安装过程是否未遇到有关 OS 版本 [2.5] [4.2] 的错误
  11. 验证游戏安装过程是否未显示未签名的驱动程序对话框 () [2.4]
  12. 验证在安装过程中是否未显示 Windows 资源保护 (WRP) 对话框 [3.4]
  13. 验证安装后重新插入驱动器中的光盘是否不会导致安装再次自动开始
  14. 验证游戏是否不需要在安装后重新启动系统 [3.5]
  15. 验证是否可以将游戏安装为用户 Jane [3.2]
  16. 验证游戏是否自动运行,或者安装过程结束时是否存在启动器菜单 [3.1]
  17. 如果游戏在安装后自动运行,请跳到 运行时
  18. 如果游戏离开启动菜单,或未能卸载,请参阅安装后部分

5.4 安装后

  1. 验证游戏是否未在用户桌面上放置启动快捷方式 [1.1]

  2. 验证游戏是否未在“开始”菜单中放置启动快捷方式 [1.1]

  3. 验证游戏图标是否显示在 Windows 游戏资源管理器 [1.1] 中

  4. 验证底部的元数据 (发布者、开发人员、流派、发布日期、版本) 显示是否正确[1.1]

  5. 验证游戏图标是否在 Windows 游戏资源管理器中显示 Windows 体验索引 (WEI) 信息 [1.1]

  6. 验证 Windows 游戏资源管理器 [1.1] 中元数据的游戏超链接是否正常工作

  7. 验证游戏是否在 Windows 游戏资源管理器中显示准确的家长控制分级 [1.1]

  8. 创建 System32 的安装后快照

    1. 打开命令 Window (Start -> Run -> cmd)
    2. 导航到 c:\windows\system32
    3. 键入 dir /o:-g /o:-d >> c:\G4Wtest\postgame.txt
    4. 通过将 pregame.txt 与 postgame.txt 进行比较,验证游戏不会回归两个文档中列出的文件的任何文件版本 [3.6]
  9. 继续执行 运行时

5.5 运行时

  1. 运行时 1:如果存在启动菜单,请从那里启动游戏。 如果游戏在安装后自动运行或已从游戏启动器菜单启动,请执行以下操作:如果没有,请跳到 RUNTIME 2:

    1. 如果游戏允许) , (创建配置文件
    2. 启动新游戏
    3. 保存游戏
    4. 退出游戏
    5. 从游戏资源管理器启动游戏
    6. 验证游戏是否从游戏资源管理器图标 [1.2] 启动
    7. 验证游戏在启动时是否未提示输入管理员凭据 [1.2]
    8. 验证用户简帐户 [3.2] 是否可以访问用户配置文件和保存游戏
    9. 继续执行 RUNTIME 3
  2. 运行时 2:如果游戏未从游戏启动器菜单自动运行或显示启动,则为 [3.1] 失败;但是,测试可以正常继续:

    1. 从游戏资源管理器启动游戏
    2. 验证游戏是否从游戏资源管理器图标 [1.2] 启动
    3. 验证游戏在启动时是否未提示输入管理员凭据 [1.2]
    4. 继续执行 RUNTIME 3
  3. 运行时 3:如果游戏支持游戏板,请验证游戏是否将可用于 Windows 的 Xbox 360 控制器识别为输入设备 [1.4]

    1. 如果需要,请通过选项菜单启用控制器
    2. 使用 Xbox 360 名称验证游戏是否引用控制器按钮和触发器
    3. 验证游戏和菜单系统是否可通过可用于 Windows 的 Xbox 360 控制器
    4. 验证可用于 Windows 的 Xbox 360 控制器的行为是否符合接受的标准
  4. 将视频设置为 [1.5]:

    1. 验证游戏是否以 4:3 纵横比分辨率 (800 600 或 1024 768)
    2. 验证游戏是否以 16:9 纵横比分辨率 (1280 720)
    3. 验证游戏是否以 16:10 纵横比分辨率 (1680 1050、800 480 或 1152 720 运行)
    4. 验证更改分辨率时游戏是否提示用户
    5. 验证如果未在 15 秒内接受,则显示是否还原为上一设置
    6. 验证游戏是否不拉伸图片,进而呈现更广阔的视野区域
    7. 验证游戏是否未在游戏区域的左侧和右侧添加黑条
  5. 如果视频设置中可用,请验证游戏呈现选项是否默认为 Direct3D [1.7];否则,请继续执行 自动测试

  6. 如果出现提示或选项可用,请创建用户配置文件。 验证使用长文件名时游戏是否未遇到错误 [2.7]

  7. 启动新游戏,创建游戏保存,并验证在处理不受支持的文件系统字符时游戏是否未遇到错误 [2.7]

  8. 验证游戏是否在 Windows 桌面上正确使用 ALT+TAB [2.6]

    1. 通过单击“开始”-> “切换用户”来切换运行游戏的用户
    2. 以 Toby 身份登录
    3. 验证游戏是否以用户 Toby 的身份启动,同时仍以用户简身份运行 [2.6]
    4. 验证游戏在用户切换过程中没有遇到 User Toby 或 User Jane 错误 [2.6]
    5. 验证你是否无法听到来自原始游戏会话的音频 [2.6]
    6. 退出游戏
    7. 注销 Toby
    8. 切换回运行游戏的原始用户
    9. Alt+Tab 回到游戏中
  9. 退出游戏

  10. 继续执行 后期运行时

5.6 后期运行时

  1. 验证游戏是否在退出时不生成错误 [4.3]
  2. 验证游戏是否已安装到 Program Files [3.3]
  3. 继续执行 家长控制

5.7 家长控制

  1. 在 控制面板 中打开家长控制

  2. 验证游戏是否在家长控制控制面板 [1.2] 中的游戏标题下方显示准确的家长控制分级

  3. 有关以下测试,请参阅测试用例 [1.2] :

    1. 将“家长控制”设置为“开”后,验证游戏是否以用户简 [1.2] 的身份使用这些设置运行

    2. 注销并作为 Toby 登录

    3. 验证游戏是否以用户 Toby [1.2] 的身份使用这些设置运行

    4. 以 Jane 身份注销并登录

    5. 在“家长控制”部分中,阻止用户 Toby 从刚刚安装的游戏中查看 ESRB 级别和更高级别的游戏

      示例:如果游戏评级为 E,请将其设置为 Toby 只能玩分级为 C 的游戏

    6. 验证游戏是否以用户简 [1.2] 的身份使用这些设置运行

    7. 注销并以用户 Toby 身份登录

    8. 验证当用户 Jane [1.2] 阻止 ESRB 时,游戏是否未在用户 Toby 上启动

    9. 以用户 Toby 身份注销,以用户 Jane 的身份重新登录

    10. 如果之前已更改,请还原 ESRB 设置

    11. 如果没有 ESRB 设置,请选择“阻止或允许特定游戏”,然后按名称选择游戏

    12. 以 Jane 的身份注销,以 Toby 的身份登录

    13. 验证当 EXE/Name 被用户 Jane [1.2] 阻止时,游戏是否未在用户 Toby 上启动

    14. 以 Toby 的身份注销,以 Jane 的身份重新登录

    15. 以 Jane 身份打开用户控件 -> 应用程序限制

    16. 单击“Toby 只能使用我允许的程序”,然后单击“确定” (即不允许 exes)

    17. 单击“全部取消选中”框,然后单击“确定”

    18. 转到用户控件 |游戏控制并允许使用 ESRB 分级的特定游戏

    19. 以简身份注销,以托比身份登录并尝试玩游戏

    20. 验证游戏是否未阻止,并且当设置了“不允许 exes”时,Toby 是否可以玩它 [1.2]

    21. 以用户 Toby 身份注销,以用户 Jane 身份重新登录

    22. 转到 控制面板 中的“家长控制”并删除限制

    23. 验证两个用户现在是否都可以玩游戏

  4. 继续执行 自动测试

5.8 自动测试

  1. 验证游戏在应用程序验证程序下运行时是否不生成失败 - 请参阅品牌测试工具文档 [4.2]
  2. 验证游戏可执行文件是否包含清单 - 请参阅品牌测试工具文档 [2.1]
  3. 验证游戏可执行文件清单 requestedExecutionLevel 是否为“AsInvoker” - 请参阅品牌测试工具文档 [2.1]
  4. 继续执行 其他测试

5.9 其他测试

  1. 验证游戏可执行文件是否包含数字签名 [2.3]

  2. 验证游戏安装过程是否在 64 位版本的 Windows Vista 和/或 Windows 7 上正常运行 [2.3]

  3. 验证游戏是否在 64 位版本的 Windows Vista 和/或 Windows 7 上遇到 16 位可执行文件错误 [2.3]

  4. 在测试时强制应用程序崩溃,并验证游戏是否正确显示Windows 错误报告并收集崩溃数据 [4.3]

  5. 确保正确的文件摘要 [4.3]

    1. 单击“开始 -> 计算机”

    2. 导航到游戏目录

    3. 在搜索窗口中,键入 *.dll

    4. 对于每个文件:右键单击文件,然后单击“属性”

      • 在 Windows XP 中:单击“版本”选项卡。验证“产品名称”、“公司名称”和“文件版本”字段是否已正确填充。 [4.3]
      • 在 Windows Vista 和 Windows 7 中:单击“详细信息”选项卡。验证“产品名称”和“文件版本”字段是否已正确填充。 公司名称在 Windows Vista 或 Windows 7 属性页中不可见 [4.3]
    5. 对 .exe 文件重复此检查

  6. 启动游戏。

    1. 按 CTRL+ALT+DEL
    2. 单击“关闭选项”箭头
    3. 单击“重启”
    4. 验证游戏是否阻止关闭 [3.1]
  7. 转到 “卸载”

5.10 卸载

  • 验证游戏卸载过程是否删除所有已安装的、未重新分发的操作系统组件文件并清除所有设置 [3.1]

    • 在 Windows Vista 或 Windows 7 中验证控制面板是删除程序的唯一方法 [1.1]

测试工具说明

这些是上述测试要求中列出的每个测试工具的说明。

6.1 Appverifier 4.0 (或更高版本)

测试用例:2.5、4.2

注意

由于复制保护,某些应用程序无法在运行 AppVerifier 的情况下运行。 可以通过使用游戏可执行文件的未受保护的发布版本运行来解决此问题。

  1. 在运行 Windows XP 的计算机上安装 AppVerifier 4.0 (或更高版本)

  2. 启动 AppVerifier 并单击“文件 -> 添加应用程序”

  3. 找到游戏可执行文件,将其选中,然后单击“打开”

  4. 在“应用程序”部分中,选择游戏可执行文件

  5. 在“基本信息”部分选择以下测试:

    • 句柄数
    • 锁定
    • 内存
    • TLS
  6. 在“杂项”部分选择以下测试:

    • DangerousAPIs
    • DirtyStacks
  7. 确保未选择所有其他测试

  8. 启动游戏

  9. 玩游戏

  10. 关闭游戏

  11. 在 AppVerifier 中,选择“视图 -> 日志”

  12. 在“应用程序”部分中,选择应用 .exe 文件

  13. 在“日志”部分中,选择日志文件并观察错误计数。 如果没有错误,则结束 AppVerifier 测试。 如果存在错误,请单击“视图”按钮

  14. (CTRL+F) 搜索文档严重性=“错误

  15. 基于故障的 LayerName= 部分创建 bug

6.2 清单测试 - mt.exe

测试用例:1.8、2.1

此工具从 MT.exe 所在的命令提示符运行。

示例:

mt.exe -inputresource:"c:\yourdir\YourGame.exe";#1 -out:yourgame.manifest
  1. 单击“开始” -> “运行” -> 键入 cmd 并单击“确定”按钮

  2. 运行 mt.exe 工具,为随游戏一起安装的每个 .exe 文件生成 .manifest 文件

  3. 打开生成的 .manifest 文件

  4. 确保每个 .exe 文件包含以下请求 (:

    <description>Example Game Name</description>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
      <security>
        <requestedPrivileges>
          <requestedExecutionLevel level="asInvoker"></requestedExecutionLevel>
        </requestedPrivileges>
      </security>
    </trustInfo>
      <asmv3:windowsSettings xmlns=http://schemas.microsoft.com/SMI/2005/WindowsSettings>
        <dpiAware>true<dpiAware>
      </asmv3:windowsSettings>
    </asmv3:application>
    

注意

每个文件都应存在请求的执行级别,并且至少游戏可执行文件应存在 dpiAware。

6.3 线程劫持者 - threadhijacker.exe

此工具从 threadhijacker.exe 所在的命令提示符运行。

示例:

threadhijacker.exe /process:str

其中 str 是 name_of_program.exe

  1. 打开任务管理器,单击“进程”选项卡,然后找到游戏可执行文件的名称。
  2. 在管理员模式下打开命令提示符
  3. 导航到 threadhijacker.exe 所在的目录
  4. Type: **threadhijacker.exe /process:**str,其中 str 是要命中的可执行文件的名称

6.4 Microsoft Games for Windows 测试工具

此工具位于 DirectX SDK 中。 在计算机上安装 SDK 后,游戏 Windows 测试工具的安装程序可以放在测试计算机上并安装。

在安装了 DirectX SDK 的开发计算机上找到 Microsoft Games for Windows 测试工具安装程序。 默认情况下,它放置在以下位置:

%SystemDrive%\Program Files (x86)\Microsoft DirectX SDK (Date)\Utilities\bin\x86\Microsoft Games for Windows Test Tools\
  1. 将安装程序 (MicrosoftGFWTestTool.msi /setup.exe) 复制到测试计算机。

  2. 运行安装程序。

  3. 启动 Microsoft Games for Windows 测试工具。

  4. “项目列表” 字段中,将 “创建新项目 ”替换为标题名称,然后单击“ 新建”。

    等待基线完成。

  5. 填写“ 游戏信息 ”部分中可能拥有的任何信息,然后单击“ 更新游戏信息”。

  6. 单击“ 测试用例 ”选项卡。

  7. 从顶部开始,继续完成测试用例,根据需要单击“ 通过 ”或“ 失败 ”。

    有关在报表中包含 bug 的详细信息,请参阅本节后面的“编写 Bug”。

  8. 查看报表 (后,通过选中“报告”和“Bug 编辑”选项卡) 返回到“项目”选项卡。

  9. 单击“ 编译报表”。

    完成报表编译后,将打开一个窗口。 可在此处找到名为 ProjectName_report.zip 的 .ZIP 文件。 此文件包含测试通过期间收集的所有日志和结果。

编写 Bug

有两种方法可以编写 bug 报告:可以浏览测试用例,并在游戏未通过测试用例时单击“ 失败 ”,或者单击“ Bug 编辑 ”选项卡并手动添加 bug 报告。

在测试用例上单击“失败”

  1. 在测试用例上单击“ 失败 ”时,“ 问题类型 ”下拉列表将自动设置为测试用例类型。
  2. 向“ 标题” 字段添加简短说明,以简要描述问题。
  3. 将问题的详细说明添加到“ 观察到的行为” 字段。
  4. 根据需要,将预期 (内容添加到“ 预期行为 ”字段,而不是) 问题的说明。
  5. 在“ 重现步骤 ”字段中添加有关如何重现问题的详细说明。
  6. 完成后,单击“ 保存” 按钮。

手动添加 Bug

此过程与单击“ 失败”相同,但自动填充的下拉列表除外。 在这种情况下,请为超出 TR 范围但仍应报告的 bug 选择适当的 TCR 故障类型,或选择 “非 TR 问题”

资源

Windows 游戏:技术要求

Windows 游戏技术要求:Windows XP、Windows Vista 和 Windows 7 上游戏的最佳做法

Windows SDK

Windows SDK

用户帐户控制指南

用户帐户控制兼容性的 Windows Vista 应用程序开发要求

Windows Installer 信息

Windows Installer

DirectX 开发人员门户

DirectX 开发人员中心

适用于 Windows 和 DirectX SDK 的游戏博客

Windows 游戏和 DirectX SDK

其他 DirectX 文章

DirectX 技术文章