Printer Friendly Version      Send     
Click to Rate and Give Feedback
MSDN
MSDN Library
DirectX
SDK Documentation
Technical Articles
 Games for Windows Test Requirements
Games for Windows Test Requirements

Games for Windows Test Requirements

Microsoft Corporation

Version 1.3.0008

March 2008

The information presented in these guidelines reflects Microsoft Corporation's views as of the date of publication. These views can and probably will change in response to changing market conditions. Microsoft makes no warranties or guarantees, implicit or explicit, in or by virtue of this document. Unless otherwise permitted by law, no part of this document may be copied without Microsoft's prior written permission.

How to Use This Document

There are three main sections to this document:

Test Requirements

Each test requirement in this document has four main sections: a title and a table with three notable sections (left column, right top, right bottom).

Title
Name of the test case.
Box, far left column
Names of the operating systems to which the test case applies.
Box, right top
Brief summary of the test case.
Box, right bottom
Details of the actual test case.

Sample Test Script

This section is a sample of the sequence that a typical test pass would follow if using the test requirements as a guide.

Test Tool Notes

This section contains detailed notes on each of the test tools used to verify pass or fail conditions in the test requirements.

Test Requirements

1. Game Requirements

1.1 Windows Vista Games Explorer

Windows Vista

The game must be visible within the Games Explorer on Windows Vista. When selected, the game must also display correct metadata. The installation must not create a shortcut to launch the game on the desktop, in the Start menu, or in any other location. Tasks and shortcuts for removal must not be created.

  1. After installing the game, open Games Explorer.
  2. Verify that the game icon displays in Games Explorer.
  3. Right-click the icon and test each application-defined play & support task.
  4. Click the icon and verify that the metadata (publisher, developer, genre, release date, version) at the bottom displays and is correct.
  5. Verify that the game icon displays Windows Experience Index (WEI) information in Games Explorer.
  6. Verify that game hyperlinks for metadata work correctly in Games Explorer. (If hyperlinks don't show up, then this is a possible sign that the exe isn't signed; see section 2.3.)
  7. Verify that the game displays accurate parental control rating in Games Explorer. (If it says unrated, then verify that this is an unrated game; otherwise, this is an indicator that the exe isn't signed; see section 2.3.)
  8. Verify that the game does not place launch shortcuts on user desktop.
  9. Click Start -> All Programs.
  10. Verify that the game does not place launch shortcuts in the Start Menu.
  11. Verify that the game does not place uninstall shortcuts in Start Menu outside of Control Panel.

1.2 Windows Vista Parental Controls

Windows Vista

Game must execute within the context of a "Standard User". Parental Controls must be able to block the game. Verify that the GDF has EXE names.

  1. Create a Standard User account in Windows Vista called Toby. Start -> Control Panel -> Add or Remove User Accounts -> Create New Account
  2. As Jane, from Administrator account set up Parental Controls for the game. Start -> Control Panel -> Set Up Parental Controls for Any User -> Toby

    1. Verify that the game launches from the Games Explorer icon.
    2. Verify that the game displays accurate Parental Control Rating below the game title in the Parental Controls Control Panel.
    3. Before applying Parental Controls, verify that the game does not prompt for Administrator Credentials on launch.
    4. Set Parental Controls to "On".
    5. In the Windows Settings section, click Games.
    6. Click OK (setting should now be "AO / all games").
    7. Verify that the game runs with these settings as User Jane.
    8. Log off as Jane and log on as Toby.
    9. Verify that the game runs with these settings as User Toby.
    10. Log off as Toby and log on as Jane.
    11. Go back to the previous screen and select "Set Game Ratings".
    12. Select a rating lower than the game's ESRB Rating.

      Note    If the game is not rated, then skip this step and move onto the next part of this test.

    13. Log off as Jane and log on as Toby.
    14. Verify that the game does not launch for User Toby when ESRB is blocked by User Jane.
    15. Log off as Toby and log on as Jane.
    16. If changed previously, restore the ESRB settings.
    17. If there are no ESRB settings, then select "Block or Allow Specific Games" and select the game by name.
    18. Log off as Jane and log on as Toby.
    19. Verify that the game does not launch for User Toby when EXE/Name is blocked by User Jane.
    20. Log off as Toby and back on as Jane.
    21. As Jane, open User Controls -> Application Restrictions.
    22. Click "Toby can only use the programs I allow" and click OK (i.e. allow no exes).
    23. Go to User Controls | Games Controls and allow the specific game using the ESRB rating.
    24. Log off as Jane, and log on as Toby and try to play the game.
    25. Verify that the game is NOT blocked and that Toby can play it when "allow no exes" is set.

1.3 Windows Vista Rich Saved Games

This requirement has been retired.

1.4 Xbox 360 Common Controller for Windows

Windows Vista

Windows XP

Games that support gamepad controllers must support the Xbox 360 Controller for Windows using the XInput API. All references to common controller triggers and buttons must use the Xbox 360 names.

  1. Launch the game.
  2. Go into the controller options. **
  3. Verify that the game recognizes Xbox 360 Controller for Windows as an input device.
  4. Play the game and verify that the game and menu system are controllable with Xbox 360 Controller for Windows.
  5. Verify that the Xbox 360 Controller for Windows behaves according to accepted standards. (B for back, A for accept, Start for in game menu/pause or accept, etc.)
  6. Verify that the game refers to the controller buttons and triggers using Xbox 360 names.

Note    If the game does not support a game controller and/or only supports keyboard/mouse, then skip this test case.

** Settings for the controller might be located outside of the game.

1.5 Multiple Aspect Ratios and Resolutions

Windows Vista

Windows XP

The game must support at least the following aspect ratios and associated screen resolutions:

  • 4:3 "normal" (800×600 or or 1024×768)
  • 16:9 "widescreen" (1280×720)
  • 16:10 "widescreen" (1152×720, 1680×1050, or 800×480)
  • Locate the Video Options for the game (this may be in our out of game).

    Note    The following tests must be done on a widescreen monitor.

    1. In the video resolution section, select 800×600 or 1024×768.
    2. Verify that the game runs at a 4:3 Aspect Ratio resolution.
    3. In the video resolution section, select 1280×720.
    4. Verify that the game runs at a 16:9 Aspect Ratio resolution.
    5. In the video resolution section, select 1680×1050, 800×480, or 1152×720.
    6. Verify that the game runs at a 16:10 Aspect Ratio resolution.
    7. Verify that the game does not stretch the picture and in turn presents a wider area of view.
    8. Verify that the game prompts the user when a change is made to the resolution.
    9. If the user does not accept within 15 seconds, verify that the display reverts to the previous setting.
    10. Verify that the game does not add black bars to the left and right of the game play area. (In this case, you will see the game area still in a 4:3 ratio in the middle of the screen.)

1.6 Windows Media Center

This requirement has been retired.

1.7 Direct 3D

Windows Vista

Windows XP

If the game uses Direct3D, then the minimum version supported must be Direct3D 9, and Direct3D must be the default for any display configuration option.

Manual

  • Launch the game. In the video options, check to see if there are render options, D3D and/or OpenGL. If there are, verify that the game render options default to Direct3D. If you are unable to verify that D3D9 is the version of DirectX that is being used, then proceed to Automated Test.

Automated Test

  • Use tool: Depends.exe

2. Security and Compatibility

2.1 Follow User Account Control Guidelines

Windows Vista

Every executable file (.EXE extension) included with an application must have an embedded manifest that defines its execution level:

<requestedExecutionLevel level="asInvoker|highestAvailable|requireAdministrator" 
              uiAccess="true|false"/>
  1. Verify game executable files contain manifests.
  2. Verify game executable file manifest requestedExecutionLevel is "AsInvoker".

Use tool: Mt.exe

2.2 Support x64 Versions of Windows Vista

Windows Vista

To maintain compatibility with x64 versions of Windows:

  • Titles and title installers must not contain any 16-bit code or rely on any 16-bit component
  • If the game is dependent on kernel-mode drivers for operation, x64 versions of these drivers must be available. The game setup must detect and install the proper drivers and components for 64-bit versions of Windows.

Manual Test

  1. Run the game on 64-bit Windows. Verify that the game install process runs normally on Windows Vista x64.
  2. Verify that the game does not encounter an error as a result of 16-bit executables on Windows Vista x64. The error will mention the 16-bit application in the error window.
  3. If the game has a native 64-bit exe, then use that as well.

2.3 Sign Files

Windows Vista

Windows XP

All executable code files (e.g., .exe and .dll extensions) must be signed with an Authenticode certificate.

If you are using Windows Installer, the installer's package files (.msi files) must be signed.

Manual Test

  1. Navigate to the game directory.
  2. Locate all of the .exe and .dll files.
  3. Right-click Properties on each file.
  4. Verify that the game executable files contain a digital signature.

2.4 Sign Drivers

Windows Vista

Windows XP

Any kernel-mode driver that is installed by the game must be signed with a publicly valid Authenticode certificate.

Any kernel-mode hardware device driver that is installed by the game must have a Microsoft signature obtained through the Windows Hardware Quality Labs (WHQL) or Driver Reliability Signature (DRS) program.

Manual Test

  1. Install the game.
  2. Verify that the game install process does not display unsigned driver dialog(s).

2.5 Perform Version Checking Properly

Windows Vista

Windows XP

Games must not fail to run on future operating systems as indicated by changes in the Windows version number, unless the End User License Agreement prohibits use on future operating systems. If the game is supposed to fail, it must do so gracefully by displaying a message to the user.

Manual Test

  1. Install the game on Windows XP, Windows Vista x32, and Windows Vista x64.
  2. Verify that the game install process does not encounter an error regarding OS Version.

Automated Test

  • Use tool: AppVerifier

    1. Launch AppVerifier.
    2. Enable Version-Lie.
    3. Install the game.
    4. Run the game.
    5. View the log file (View -> Logs -> Select .exe -> View).
    6. Ensure that there are no failures.

2.6 Support Concurrent User Sessions

Windows Vista

Windows XP

Games must support standard Windows multitasking scenarios.

Create a Standard User account in Windows Vista called Toby. Start -> Control Panel -> Add or Remove User Accounts -> Create New Account

  1. Launch the game as User Jane.
  2. ALT+TAB back to the desktop.
  3. Verify that the game properly ALT+TABs to the Windows desktop.
  4. Click Start -> [arrow to the right of Lock] -> Switch User.
  5. Log on as User Toby.
  6. Verify that the game launches as User Toby while still running as User Jane.
  7. Verify that the game does not encounter errors for User Toby or User Jane during User Switch process.
  8. If you can launch another game session, verify that you cannot hear audio from the original game session.
  9. Close the game and switch back to the original user and game.

2.7 Support Long Names

Windows Vista

Windows XP

If a game supports saving files, it must be able to save files that have long names and paths. The game must properly handle special file system characters, such as \ / : * ? " < or > in any user input fields used to create file names or paths.

  1. Launch the game.
  2. Start a new game.
  3. Save the game. During the save process, verify that the game saves using the save name: My First Save Game.
  4. Exit back to the main menu.
  5. Attempt to load the newly saved game.
  6. Verify that the game does not encounter errors when handling unsupported file system characters, such as \ / : * ? " < or > If the game allows you, name the saved game.
  7. If the user is allowed to name their profile and/or character or save games, verify that the game does not encounter errors when using long file names here as well.

3. Installation

3.1 Easy Install

Windows Vista

Windows XP

Games with a traditional installation must provide a simplified path in their setup user interface.

  1. Insert the game disc.
  2. Verify that the game does not display more than one End-User License Agreement (EULA).
  3. Verify that the game displays Default/Easy and Custom/Advanced install options.
  4. Verify that the Default/Easy install option bypasses all user input selections for the install process (install folder, components selection, etc.).
  5. Verify that the game install process does not prompt for OS component setup. (DirectX setup, Visual C Runtimes, etc.).
  6. Verify that the game install process does not prompt for firewall interaction.
  7. Verify that the game automatically runs or that a launcher menu is present at the end of the install process.
  8. Verify that the game uninstall process removes all installed, non-redistributed OS component files and clears all settings (such as save games, etc.).

3.2 Support User Account Control for Installation

Windows Vista

The game installer must not assume it is running in the same context as the user. Games must therefore perform per-user tasks on first-run separately from the install.

  1. Verify that you can install the game as User Jane. (This will require elevated rights during the setup/install process.)
  2. Verify that the game install process prompts User Jane to elevate via Administrator Credentials. (The prompt to elevate will come up when the user attempts to install.)
  3. Opt to Autorun the game at the end of install if it does not already do so, or launch it from the menu that appears.
  4. Once in-game, create a new profile, play and save a game.
  5. Exit the game.
  6. Restart the game and verify that User Profiles and Save Games can be accessed by the User Jane account.

3.3 Install to Correct Folders

Windows Vista

Windows XP

Games must be installed to the Program Files folder by default. User data must be written at first run and not during the install.

  1. Install the game using the Default install type.
  2. Verify that the game was installed to Program Files.

Note    If this test fails, verify that the game is intended to install for All Users. If so, this is a failure.

3.4 Install Windows Resources Properly

Windows Vista

Applications must not attempt to install files or registry keys that are protected by Windows Resource Protection (WRP).

  • Verify that no Windows Resource Protection WRP dialog boxes appear during the install process.

3.5 Avoid Reboots During Installation

Windows Vista

Windows XP

The game installer should not assume that installation of Windows components from redistribution packages requires a reboot, unless the reboot is indicated by a return result or by Microsoft documentation.

  1. Install the game.
  2. Verify that the game does not require the system to be rebooted after installation.

3.6 Use File Versioning Correctly

Windows Vista

The game installation program must properly check to ensure that the latest file versions are installed. Installing a game must never regress any files that you do not produce or that are shared by applications that you do not produce.

  1. Prior to installing the game, create a pre-install snapshot of System32.

    1. Make a directory called G4Wtest.
    2. Bring up a command Window (Start -> Run -> cmd).
    3. Navigate to c:\windows\system32.
    4. Type dir /o:-g /o:-d >> c:\G4Wtest\pregame.txt.
  2. Create a post-install snapshot of System32.

    1. Bring up a command Window (Start -> Run -> cmd).
    2. Navigate to c:\windows\system32.
    3. Type dir /o:-g /o:-d >> c:\G4Wtest\postgame.txt.
    4. Verify that the game does not regress any file versions of files that the game did not produce (...of the files listed in the two documents by comparing pregame.txt to postgame.txt).

3.7 Support Autorun

Windows Vista

Windows XP

For games distributed on CD, DVD, or other removable media that support Autorun, when the disc is inserted for the first time, the application must automatically run or prompt the user to install the game.

  1. Insert the game disc or media.
  2. Verify that the install / run dialog box comes up automatically.
  3. Windows Vista: Verify that the game Autorun program itself does not prompt User Jane to elevate via Administrator Credentials.
  4. If the game uses multiple discs, verify that the multi-disc game install does not prompt for additional user input when additional CDs/DVDs are inserted.
  5. Verify that re-inserting the disc in the drive after install does not cause installation to automatically begin again.

4. Reliability

4.1 Eliminate Unnecessary Reboots

Windows Vista

All application installers must take advantage of the Restart Manager APIs to avoid system reboots (see requirement 3.5)

4.2 Eliminate Application Verifier Failures

Windows Vista

The game must generate no failures running under Microsoft Application Verifier (AppVerifier), version 3.3 or later, in the following tests:

  • Basics: Handles, Heaps, Locks, Memory, TLS
  • Miscellaneous: DangerousAPIs, DirtyStacks

Use Tool: AppVerifier 3.3 (or later)

  1. Install AppVerifier.
  2. Launch AppVerifier and select File -> Add Application.
  3. Locate the game executable, select it, and click the "Open" button.
  4. In the "Applications" section, select the game executable.
  5. In the "Tests" section, select the tests listed above under the categories "Basics" and "Miscellaneous" (uncheck ThreadPool and TimeRollOver), and ensure all other tests are not selected.
  6. Launch the game.
  7. Verify that the game does not generate failures when run under Application Verifier.

Note    Some tests require a debugger to be fully run. This may require an unprotected release version of the game executable, since anti-cheat/anti-piracy technology may interfere with AppVerifer.

4.3 Support Windows Error Reporting

Windows Vista / Windows XP

Games must handle only exceptions that are known and expected, and Windows Error Reporting must not be disabled. If a fault (such as an Access Violation) is injected into a game, it must allow Windows Error Reporting to report the crash.

Use Tool: Thread Hijacker

  • If the application crashes while testing, verify that the game displays Windows Error Reporting properly and collects crash data.
Windows Vista / Windows XP

All executable (e.g. .exe or .dll) files must contain an accurate Product Name, Company Name, and File Version.

  1. Right-click the game's executable file(s) on both the install media and those installed to the computer hard drive.
  2. Select Properties.
  3. Windows XP: Click the Version tab. Verify that the Product Name, Company Name, and File Version fields are properly populated.
  4. Windows Vista: Click the Details tab. Verify that the Product name and File Version fields are properly populated. Company Name is not visible in the Windows Vista properties page.
Windows Vista / Windows XP

Normal exit of the game must not result in an unknown exception fault.

  • After playing the game for a normal gaming session, verify that the game does not generate errors on exit.

5. Sample Test Script

This is an example of a typical test pass using the above test requirements as a guide.

5.1 Tools

  • x86 Version of Windows Vista SP1 on an AMD CPU
  • x86 Version of Windows Vista SP1 on an Intel CPU
  • x64 Version of Windows Vista SP1 on an AMD CPU
  • x64 Version of Windows Vista SP1 on an Intel CPU
  • x86 Version of Windows XP SP2 on an AMD CPU
  • x86 Version of Windows XP SP2 on an Intel CPU
  • Wide Screen Monitor that supports 1680×1050
  • Xbox 360 Controller for Windows

5.2 Pre-Install

  1. Windows Vista: Create two Standard Users: Jane and Toby
  2. Windows Vista: Ensure User Account Control is enabled
  3. Create a pre-install snapshot of System32

    1. Make a directory called G4Wtest
    2. Bring up a command Window (Start -> Run -> cmd)
    3. Navigate to c:\windows\system32
    4. Type dir /o:-g /o:-d >> c:\G4Wtest\pregame.txt
  4. Proceed to Install

5.3 Install

  1. Log on as User Jane
  2. Insert the game disc into the CD/DVD drive, verify that the install / run dialog box comes up automatically [3.7]
  3. Verify that the game install process prompts User Jane to elevate via Administrator Credentials [3.2]
  4. Verify that the game Autorun program itself does not prompt User Jane to elevate via Administrator Credentials [3.7]
  5. Verify that the game does not display more than one End-User License Agreement (EULA) [3.1]
  6. Verify that the game displays Default/Easy and Custom/Advanced install options [3.1]
  7. Verify that the Default/Easy install option bypasses all user input selections for the install process (install folder, components selection, etc.) [3.1]
  8. Verify that the game install process does not prompt for OS component setup (DirectX setup, Visual C Runtimes, etc.) [3.1]
  9. Verify that the game install process does not prompt for firewall interaction [3.1]
  10. Verify that the game install process does not encounter an error regarding OS Version [2.5] [4.2]
  11. Verify that the game install process does not display unsigned driver dialog(s) [2.4]
  12. Verify that no Windows Resource Protection (WRP) dialogs appear during the install process [3.4]
  13. Verify that re-inserting the disc in the drive after install does not cause installation to automatically begin again
  14. Verify that the game does not require the system to be rebooted after installation [3.5]
  15. Verify that you can install the game as User Jane [3.2]
  16. Verify that the game automatically runs or that a launcher menu is present at the end of the install process [3.1]
  17. Game may auto-launch after install, if so skip to Runtime
  18. Proceed to Post-Install

5.4 Post-Install

  1. Verify that the game does not place launch shortcuts on user desktop [1.1]
  2. Verify that the game does not place launch shortcuts in the Start Menu [1.1]
  3. Verify that the game icon displays in Windows Game Explorer [1.1]
  4. Verify that the metadata (publisher, developer, genre, release date, version) at the bottom displays and is correct [1.1]
  5. Verify that the game icon displays Windows Experience Index (WEI) information in Windows Game Explorer [1.1]
  6. Verify that game hyperlinks for metadata work correctly in Windows Game Explorer [1.1]
  7. Verify that the game displays accurate parental control rating in Windows Game Explorer [1.1]
  8. Create a post-install snapshot of System32

    1. Bring up a command Window (Start -> Run -> cmd)
    2. Navigate to c:\windows\system32
    3. Type dir /o:-g /o:-d >> c:\G4Wtest\postgame.txt
    4. Verify that the game does not regress any file versions of files listed in the two documents by comparing pregame.txt to postgame.txt [3.6]
  9. Proceed to Runtime

5.5 Runtime

  1. RUNTIME 1: If the launch menu is present, launch the game from there. If the game auto-ran or was launched from the game launcher menu after install, perform the following; if not, skip to RUNTIME 2:

    1. Create a profile (if the game allows)
    2. Start a new game
    3. Save the game
    4. Exit the game
    5. Launch the game from Games Explorer
    6. Verify that the game launches from the Games Explorer icon [1.2]
    7. Verify that the game does not prompt for Administrator Credentials on launch [1.2]
    8. Verify that User Profiles and Save Games can be accessed by User Jane account [3.2]
    9. Proceed to RUNTIME 3
  2. RUNTIME 2: If the game did not auto-run or display a launch from the game launcher menu, this is a failure of [3.1]; however, testing can continue normally:

    1. Launch the game from Game Explorer
    2. Verify that the game launches from the Games Explorer icon [1.2]
    3. Verify that the game does not prompt for Administrator Credentials on launch [1.2]
    4. Proceed to RUNTIME 3
  3. RUNTIME 3: If the game supports a game pad, verify that the game recognizes Xbox 360 Controller for Windows as an input device [1.4]

    1. If needed, enable the controller via the options menu
    2. Verify that the game refers to the controller buttons and triggers using Xbox 360 names
    3. Verify that the game and menu system are controllable with the Xbox 360 Controller for Windows
    4. Verify that the Xbox 360 Controller for Windows behaves according to accepted standards
  4. Set the video to [1.5]:

    1. Verify that the game runs at a 4:3 Aspect Ratio resolution (800×600 or 1024×768)
    2. Verify that the game runs at a 16:9 Aspect Ratio resolution (1280×720)
    3. Verify that the game runs at a 16:10 Aspect Ratio resolution (1680×1050, 800×480, or 1152×720)
    4. Verify that the game prompts the user when a change is made to the resolution
    5. Verify that the display reverts to the previous setting if you do not accept within 15 seconds
    6. Verify that the game does not stretch the picture and in turn presents a wider area of view
    7. Verify that the game does not add black bars to the left and right of the game play area
  5. If available in the video settings, verify that the game render options default to Direct3D [1.7]; otherwise, proceed to Automated Tests
  6. If prompted or if the option is available, create a user profile. Verify that the game does not encounter errors when using long file names [2.7]
  7. Start a new game, create a game save, and verify that the game does not encounter errors when handling unsupported file system characters [2.7]
  8. Verify that the game properly ALT+TABs to the Windows desktop [2.6]

    1. Switch users with the game running by clicking Start -> Switch User
    2. Log on as Toby
    3. Verify that the game launches as User Toby while still running as User Jane [2.6]
    4. Verify that the game does not encounter errors for User Toby or User Jane during User Switch process [2.6]
    5. Verify that you cannot hear audio from the original game session [2.6]
    6. Exit the game
    7. Log off Toby
    8. Switch back to the original user where the game is running
    9. ALT+TAB back into the game
  9. Exit the game
  10. Proceed to Post-Runtime

5.6 Post-Runtime

  • Verify that the game does not generate errors on exit [4.3]
  • Verify that the game installed to Program Files [3.3]
  • Proceed to Parental Controls

5.7 Parental Controls

  • Open Parental Controls in Control Panel
  • Verify that the game displays accurate Parental Control Rating below the game title in Parental Controls Control Panel [1.2]
  • See Test Case [1.2] for the following tests:

    1. After setting Parental Controls to "On", verify that the game runs with these settings as User Jane [1.2]
    2. Log off and log on as Toby
    3. Verify that the game runs with these settings as User Toby [1.2]
    4. Log off and log on as Jane
    5. In the Parental Control section, block User Toby from seeing games one ESRB level up and higher from the game that you just installed

      Example: If the game is rated E, set it so Toby can only play games that are rated C

    6. Verify that the game runs with these settings as User Jane [1.2]
    7. Log off and log on as user Toby
    8. Verify that the game does not launch on User Toby when ESRB is blocked by User Jane [1.2]
    9. Log off as user Toby and back on as user Jane
    10. If changed previously, restore the ESRB settings
    11. If there are no ESRB settings, then select "Block or Allow Specific Games" and select the game by name
    12. Log off as Jane and on as Toby
    13. Verify that the game does not launch on User Toby when EXE/Name is blocked by User Jane [1.2]
    14. Log off as Toby and back on as Jane
    15. As Jane, open User Controls -> Application Restrictions
    16. Click "Toby can only use the programs I allow", and then click OK (i.e. allow no exes)
    17. Click the Uncheck All box, and then click OK
    18. Go to User Controls | Games Controls and allow the specific game using the ESRB rating
    19. Log off as Jane and log on as Toby and try to play the game
    20. Verify that the game is NOT blocked and that Toby can play it when "allow no exes" is set [1.2]
    21. Log off as user Toby and back on as user Jane
    22. Go to Parental Controls in Control Panel and remove the restrictions
    23. Verify that both users can now play the game
  • Proceed to Automated Tests

5.8 Automated Tests

  1. Verify that the game does not generate failures when run under Application Verifier - See Branding Test Tool Documentation [4.2]
  2. Verify that the game executable files contain manifests - see Branding Test Tool Documentation [2.1]
  3. Verify that the game executable file manifest requestedExecutionLevel is "AsInvoker" - see Branding Test Tool Documentation [2.1]
  4. Proceed to Other Tests

5.9 Other Tests

  1. Verify that the game executable files contain a digital signature [2.3]
  2. Verify that the game install process runs normally on Windows Vista x64 [2.3]
  3. Verify that the game does not encounter an error as a result of 16-bit executables on Windows Vista x64 [2.3]
  4. Force the application to crash while testing, and verify that the game displays Windows Error Reporting properly and collects crash data [4.3]
  5. Ensure proper file summaries [4.3]

    1. Click Start -> Computer
    2. Navigate to the game directory
    3. In the search window, type *.dll
    4. For each file: Right-click the file and click Properties

      • In Windows XP: Click the Version tab. Verify that the Product Name, Company Name, and File Version fields are properly populated. [4.3]
      • In Windows Vista: Click the Details tab. Verify that the Product name and File Version fields are properly populated. Company Name is not visible in the Windows Vista properties page [4.3]
    5. Repeat this check for .exe files
  6. Launch the game.

    1. Press CTRL+ALT+DEL
    2. Click the "Shutdown Options" arrow
    3. Click Restart
    4. Verify game does not block shutdown [3.1]
  7. Proceed to Uninstall

5.10 Uninstall

  • Verify that the game uninstall process removes all installed, non-redistributed operating system component files and clears all settings [3.1]

    • Verify in Windows Vista that Control Panel is the only way to remove the program [1.1]

6. Test Tool Notes

These are notes for each of the test tools listed in the above test requirements.

6.1 Appverifier 3.3 (or higher)

Test Case: 2.5, 4.2

Note    Some applications fail to run with AppVerifier running, because of copy protection. This can be resolved by running with an unprotected release version of the game executable.

  1. Install AppVerifier 3.2 (or higher) on a Windows XP computer
  2. Launch AppVerifier and click File -> Add Application
  3. Locate the game executable, select it and click Open
  4. In the "Applications" section, select the game executable
  5. Select the following tests in the "Basics" section:

    • Handles
    • Heaps
    • Locks
    • Memory
    • TLS
  6. Select the following tests in the "Miscellaneous" section:

    • DangerousAPIs
    • DirtyStacks
  7. Ensure all other tests are not selected
  8. Launch the game
  9. Play the game
  10. Close the game
  11. In AppVerifier select View -> Logs
  12. In the "Applications" section select the app .exe file
  13. In the "Logs" section, select the log file and observe the error count. If there are no errors, then end AppVerifier tests. If there are errors, click the View button
  14. Search the document (CTRL+F) for Severity="Error
  15. Create bugs based on the LayerName= portion of the failure

6.2 Manifest Test - mt.exe

Test Case: 2.1

This tool is run from a command prompt where MT.exe is located.

Example:

mt.exe -inputresource:"c:\yourdir\YourGame.exe";#1 -out:yourgame.manifest
  1. Click Start -> Run -> type cmd and click the OK button
  2. Run the mt.exe tool to generate a .manifest file for each .exe file that installs with the game
  3. Open the generated .manifest file
  4. Ensure that each .exe file contains the following:

    <description>Example Game Name</description>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
      <security>
        <requestedPrivileges>
          <requestedExecutionLevel level="asInvoker"></requestedExecutionLevel>
        </requestedPrivileges>
      </security>
    </trustInfo>

6.3 Thread Hijacker - threadhijacker.exe

This tool is run from a command prompt where threadhijacker.exe is located.

Example:

threadhijacker.exe /process:str

Where str is the name_of_program.exe

  1. Bring up Task Manager, click the Processes tab, and locate the name of the game executable.
  2. Open a command prompt in Admin mode
  3. Navigate to the directory where threadhijacker.exe is
  4. Type: threadhijacker.exe /process:str, where str is the name of the executable that you want to hit

Resources

Games for Windows: Technical Requirements
Games for Windows: Technical Requirements
Windows Vista SDK
MSDN Library
User Account Control Guidelines
Guidelines for Applications in a Least Privileged Environment
Windows Installer Information
http://go.microsoft.com/fwlink/?LinkId=3985
WinQual Developer Portal
https://winqual.microsoft.com/member/wer/user/default.aspx
DirectX Developer Portal
Directx Developer Center
Additional DirectX SDK Articles
http://msdn2.microsoft.com/en-us/library/bb173039.aspx
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker