wdk driver test manager. outline hct and the history of driver testing problems to solve goals of...
TRANSCRIPT
WDK Driver Test Manager
OutlineOutline
HCT and the history of driver testing
Problems to solve
Goals of the WDK Driver Test Manager (DTM)
Automated Deployment Tools
Packager
Changes to the Windows Logo Program
The HCT TodayThe HCT Today
Hardware Compatibility Test (HCT)Can only run logo tests provided by Microsoft
Used for DFW/logo program
Content~1600 Test Cases (400+ binaries)
Test Manager (shell)
Logo Docs and Test Specs
Testing for Driver qualitySome partners develop their own tests and infrastructure
Some partners use only the logo tests for quality testing
What You Told UsWhat You Told Us
HCT is not scalableAdding new technologies is problematic
Can’t run non-logo tests
Can’t run on more than one machine
Can’t run partner tests
Partners must maintain Logo-only infrastructureDedicated hardware
Dedicated headcount
Goals of Driver Test Manager (DTM)Goals of Driver Test Manager (DTM)
Improve the end user Windows experienceReduce blue-screens
Increase performance
Improve driver quality
Improve the partner experience Provide MS quality tests
Allow partner tests
Provide infrastructure to push testing earlier in development cycle
Reduce submission complexity
Key ConceptsKey Concepts
Test ManagementStudio
Device Selection and Scheduling
ControllerJobs database
Client
PackagerCollaboration tool
Tests and content delivery
Automated Software Installer (ASI)
AutomationAutomationDatastoreDatastore
DTM ScenarioDTM Scenario
DTM ControllerDTM Controller
Job 0
Log 1
Log 0
Log
SchedulerScheduler
DTM StudioDTM Studio
Test System Test System PoolPool
Job
Man
agem
ent
Device 0Device 0Device 0
My Job
My JobConfig Device x
The gatherers are sent to the test targets to gather information about their devices
The test engineer creates and manages jobs from the studio
The scheduler matches the jobs to the test targets with the appropriate hardware
The jobs and test configuration are sent to the test targets
The tests execute in parallel or in sequence, collecting results in logs
When the tests are complete, the results are sent to the controller where they can be reviewed
After reviewing the results, the test engineer packages all test information and results
The test targets are configured automatically, including a clean install of the OS
The package can be saved so the tests can be duplicated at a later date…
…and shared with customers, OEMs, or submitted to Microsoft
OEMsOEMs
MicrosoftMicrosoft
Driver Test Manager (DTM)Driver Test Manager (DTM)
JobsA collection of 1 or more tasks
Tasks are executables, like “LogoTest.exe”Task dependencies can be created
Setup, Regular, Cleanup
Created, edited and scheduled in StudioSharableConstrainable
DimensionsParameters
Driver Test Manager (DTM)Driver Test Manager (DTM)
SchedulerMatches constraints and test machines (clients)Manages job distribution to Machine pool
Job MonitorPresents status of machines in machine pool (clients)Presents status of jobs in schedulerPresents status of tasks in jobs
Results Explorer Results roll-up viewResults collectionLog viewer
Device SelectionProvides for “Device Based Job Selection” paradigmAdds HCT functionality to the DTMNecessary for Logo Programs
Automated Deployment Tools
Ximage and ASI
Ximage and ASIXimage and ASI
XimageA command line interface to the imaging technology used by Windows codenamed “Longhorn” setup
Will create file based image and restore it
Automated Software Installer (ASI)Automate the install of any Windows OS
From disk images
From Windows CDs
Optimized for testing environments
BenefitsIncreased productivity
Eliminate multi-boot and disk-swapping scenarios
Manage images and builds for the entire organization in one location
Ximage
System Imaging Tool
Ximage ArchitectureXimage Architecture
Ximage.exe
Wimgapi.dll
File DataImage
MetadataMetadata
Header
Tail
Wimfltr.sys
Automated Software Installer
Windows Deployment Tool
ASI FunctionalityASI Functionality
Windows Media or images
ASI Client
ASI Tools
File Share
ASI Database
ASI Client ConfigurationASI Client Configuration
1. PXE Boot1. PXE Boot
3. Safe partition3. Safe partition
2. Bootable media2. Bootable media
Using ASI in the Driver Test ManagerUsing ASI in the Driver Test Manager
Partition 1
“Safe” OS
ASI client
DTM client
Partition 2
Test OS
DTM client
My Job
Config
Log 1
ASI Server DeploymentASI Server Deployment
ASI ClientASI Client
ASI ServerASI Server
Image Cache
Image Cache
ASI ServerASI Server
File ShareASI Database
Ximage and ASI: Which One Should I Use?Ximage and ASI: Which One Should I Use?
Ximage
A disk imaging tool
Use if you want to restore a test system to exactly the same state multiple times
Use if the bits don’t change regularly
ASI
A software deployment solution optimized for testing environments
Use to automate Windows setup
Use if the bits change regularly; testing daily builds for example
What About Ghost?What About Ghost?
The DTM will automate any tool with a command line interface
Virtually everyone is using Ghost images in their testing
Keep using your existing images
Consider moving to Ximage and ASI over time
Realize the benefits of tools optimized for a test environment
Ximage and ASI are included in the WDK
Some jobs Microsoft provides may require these tools
Packager
Packager ArchitecturePackager Architecture
DTM Studio
DTM Object Model
SQL Datastore
Package A Package B
Benefits of PackagerBenefits of Packager
Move jobs or test data between controllers
Share jobs with another organization
Share test results with other organizations
Make a logo submission
Simplified reproduction of failures
Update mechanism for the WDK
PackagePackage
DTM ControllerDTM Controller
Packager FunctionalityPackager Functionality
DTM DatastoreCopyCopy
CopyCopy
Package DB
BinariesBinaries BinariesBinaries
Packager Scenarios
ScenarioScenarioCreate Logo PackageCreate Logo Package
Driver Share
Logs, results, machine Logs, results, machine configuration dataconfiguration data
Submit to Submit to MicrosoftMicrosoft
DriversDrivers
DTM ControllerDTM Controller
ScenarioScenarioInvestigate a FailureInvestigate a Failure
Test ClientsTest Clients
Jobs, tests, results, Jobs, tests, results, system configuration data,system configuration data,
crash dumpscrash dumps
Test ClientsTest Clients
StudioStudio
View DataView Data
ImportImport
DTM ControllerDTM Controller DTM ControllerDTM Controller
ScenarioScenarioExport TestsExport Tests
Jobs and testsJobs and tests
Test ClientsTest Clients
ImportImport
DTM ControllerDTM Controller DTM ControllerDTM Controller
ScenarioScenarioPackage logs and resultsPackage logs and results
Results Results and Logsand Logs
Test ClientsTest Clients
StudioStudio
View DataView Data
ImportImport
DTM ControllerDTM Controller
DTM ControllerDTM Controller
Windows XP and Windows Server 2003 Logo Program Support
Windows XP and Windows Server 2003 Windows XP and Windows Server 2003 Logo Program SupportLogo Program Support
Program simplificationReduce the number of HCT tests to about 30
One “kit” for all Windows XP and Windows Server 2003 devices
One “kit” for all Windows XP and Windows Server 2003 systems, excluding datacenter and cluster
Windows XP and Windows Server 2003 kits will be in the DTM
HCT and DCT will reach end-of-life when the DTM ships
Call To ActionCall To Action
Start preparing for the WDK now
Sign up for the WDK Beta and actively participate
Visit the Windows Driver Kit Page – http://www.microsoft.com/whdc/driver/wdk/default.mspx
Engage with the WDK Team - provide feedback through Microsoft aliases
Additional ResourcesAdditional Resources
Web Resources:Windows Driver and Hardware Central – http://www.microsoft.com/whdc/default.mspx
Windows Driver Kit Page – http://www.microsoft.com/whdc/driver/wdk/default.mspx
Email: WDKFB @ microsoft.com for feedback and questions on the WDK
© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.