Driver Test Manager

I’ve been reading the reports from the first set of conference calls with our TAP partners and a point of recurring confusion seems to be around the Driver Test Manager (DTM).  First, let’s be clear, the DTM is a feature of the WDK.  It is in build 5086.  The DTM is the test automation framework which will be used to test drivers to qualify for the Windows logo.  It is also a general purpose test automation engine which we’re making available to our customer for use in any other driver testing they wish to do.


The DTM has three major components, the controller, client and Studio.  The clients are the systems you want to run tests on.  The client software, also called the Execution Agent or EA is a service which executes a set of instructions delivered to it by the controller in the form of an XML blob.  The client software is also reporting configuration information about the client and test results back to the controller.


The controller has a database which contains all of the configuration data about the clients and all of your jobs.  Jobs are essentially scripts to run tests and parameters and constraints which describe the systems you want each job to run on.  The controller matches your jobs with a system that meets those parameters and constraints and pushes the job down to your clients.  The controller also receives results and logs from your clients when jobs complete.


The Studio is the user interface for the person using DTM.  It enables user to create jobs, schedule jobs, deploy software to you clients (called gatherers) which will add specific points of data describing your client to the database, view results of your jobs and view the logs generated by the tests you’ve run.


When you run WDK setup DTM is the very last item on the list which you can select.  It is not selected by default.  WDK setup installs the controller.  Once the controller is installed, you install the client and studio software on the appropriate systems by running the appropriate setup from the share which is created on the controller for you.