Introduction to Driver Test Manager

Driver Test Manager (DTM) is a collection of software components that provide a harness to run tests to obtain a “Designed for Windows” logo for your driver. DTM reduces the work-load on testers by automatically distributing tests to available computers.

DTM enables you to test your drivers on more computers and with greater ease than manually reconfiguring computers on which to run the logo tests. With DTM, whenever a computer becomes idle, it can be automatically scheduled to run further tests. Meanwhile, testers can monitor the progress of a test while the test is running. DTM increases testing coverage for your driver, reduces tester overhead, and speeds the process to obtain a Windows logo.

In addition, DTM provides a powerful feature that enables a tester to create custom tests to further exercise a driver to determine how it performs and the cause of driver failures.

Driver Test Manager Components

DTM is divided into the following components:

DTM clients are computers that run tests. You should have as many client computers with as many different configurations as possible so that your driver can be tested under the widest variety of real-world conditions. Clients should have different hardware and software configurations and different operating systems and service packs installed.

DTM controllers are computers that control what tests run on DTM clients and when those tests run. Controllers host a SQL database that stores tests to be run and the results of previous tests for review and future use.

DTM Studio is the application and user interface testers use to create and schedule tests and otherwise manipulate controllers and clients. DTM Studio enables you to organize the computers in your lab into the appropriate environment to test your driver.

General DTM Concepts

DTM operates on jobs. Jobs are comprised of groupings of individual tasks, such as open a file, save a file, then close the file.You use DTM Studio to schedule jobs for a controller to execute on an available client. The controller will schedule a client to execute a job only if the client meets the job’s requirements, such as a specific display adapter or minimum amount of system memory.

Controllers continually schedule jobs to execute on client computers. When a client executes a job (whether the job passes or fails), the results of the job are stored back to a controller. The controller can then schedule the client to run another test. You can then examine the job results in DTM Studio to determine the source of any failures.

Testers can leverage a greater number of clients and increase a driver’s testing coverage with DTM because multiple testers can use DTM Studio (from their respective computers) to create and schedule jobs. Controllers then handle distributing jobs from multiple testers automatically to clients as clients become available.


You can use DTM in a small lab environment, comprised of a minimum of two computers, or you can use DTM in large labs with dozens of computers.

When you set up and configure DTM, you will need to allocate at least one computer on which to install the DTM controller. You can allocate up to 100 clients per controller. However, for performance reasons, Microsoft recommends that you allocate no more than 30 clients per controller.

For example, in a small lab, each tester could be allocated 5 to 10 computers on which to test a driver. One of those computers becomes a controller, one of them the tester installs DTM studio on, and the others become clients. In larger labs, you can allocate dozens of clients to a controller. Each tester should install DTM Studio on his primary work computer. Then, testers can work together to create and schedule jobs for the drivers that they are responsible for testing by using all the clients available in the lab, and letting the controllers schedule what tests to run on which clients. Then, testers can share the task of reviewing job results from their primary work computers.