Test Drivers


Tips for Testing Drivers

The following are some suggestions for testing your driver package:
• Create the INF file early in the development process and use it throughout testing.
• Use the ChkINF tool to verify the structure and syntax of the INF file, and to help you diagnose INF file and other installation related issues.
• On Windows Vista, sign drivers to facilitate the installation and testing of drivers, as described in Signing Drivers During Development and Test.
• Use the tools for verifying drivers while you are developing your driver. For guidelines about when to use specific verification tools, see Survey of Verification Tools.
• Add annotations to the driver-supplied functions. This helps to improve the accuracy of the verification tools and the effectiveness of your test time. For information about how to use annotations in function definitions and declarations, see PREfast for Drivers Annotations.
• Use the tools for testing drivers, especially Device Path Exerciser, to test your completed driver.
• Run the "Designed for Windows" logo program tests for your device type, even if you do not intend to submit your device and driver for the "Designed for Windows" logo. For current information, test kits, and download instructions, see the Windows Hardware Quality Labs Web site.
• Test your driver and device on as many different hardware configurations as you possibly can. Varying the hardware can help you find conflicts between devices and other errors in device interactions.
• Test your driver and device on multiprocessor systems. Race conditions and other timing problems appear on multiprocessor systems that would not otherwise be found.
• Test your driver and device for specific system and hardware conditions, particularly edge conditions. For example, these conditions might include "D3 hot" and "D3 cold." Make sure your driver and device can return correctly from device power state "D3 hot" (without losing power) and "D3 cold" (when power is removed from the device).
• Troubleshoot device installation problems by using Device Manager to view system information about drivers and devices and by consulting the SetupAPI log. The SetupAPI log contains information about the sequence of operations that occurred during the installation of a device or driver.
• Install test builds of inbox drivers on Windows Vista using the mechanisms described in the whitepaper Installing Test Builds of Inbox Drivers on Windows Vista. This whitepaper describes how to rank Microsoft-signed and third party-signed drivers equally, so that a driver developer can install private builds of inbox drivers for testing purposes.
Microsoft's Hardware Test group regularly sponsors testing events ("plugfests") that are open to industry participants. System OEMs and independent hardware vendors (IHVs) who attend these plugfests can test their products with a variety of configurations. For details on upcoming plugfests, see the Windows Hardware Quality Labs Web site.
Special Interest Groups (SIGs) in the hardware industry might sponsor similar events for those working with devices of specific types. For links to device-class-specific SIGs, see the Windows Hardware Developer Central (WHDC) Web site.