Presentation is loading. Please wait.

Presentation is loading. Please wait.

Best Practices For Testing Windows Drivers

Similar presentations


Presentation on theme: "Best Practices For Testing Windows Drivers"— Presentation transcript:

1 Best Practices For Testing Windows Drivers
4/16/ :10 PM Best Practices For Testing Windows Drivers Dieter Achtelstetter Software Design Engineer Windows Device Experience Group Microsoft Corporation © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 About This Presentation
4/16/ :10 PM About This Presentation Fulfill a request from OEM and IHV For best practices on testing Suggestion for Ways to reduce support costs for you and your customers Increasing your customer satisfaction Finding more bugs earlier in the process, where they cost a lot less to fix This advice is based on the experience of many device testers at Microsoft While this session attempts to cover most drivers/devices, some points may not be applicable to your driver/device © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 Agenda Overview Tools Test configurations
4/16/ :10 PM Agenda Overview Tools Test configurations Testing specific driver aspects Types of testing Resources Call to action © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4 Overview Of Topics Static tools PREfast SDV Run-time tools
4/16/ :10 PM Overview Of Topics Static tools PREfast SDV Run-time tools Driver Verifier Test configurations System Settings Driver aspects Memory PO (Power Management) Penetration/Security I/O Cancel Test strategies Test early Plan for testing PnP Setup Concurrency Testing types Stress tests Manual testing Resources DTM kits Test Framework Long haul testing Scenario testing © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

5 Static Analysis Tools Tools that run against the source code
4/16/ :10 PM Static Analysis Tools Tools that run against the source code “PREfast for Drivers” “Static Driver Verifier” Find bugs fast Quick and inexpensive ways to find bugs Must pass these tests for driver signatures or logo Run early/run often Use these tests early in your development cycle Resolve issues found by the tools Run the tests for every new driver drop For details At WinHEC: “Static Analysis and Verification of Drivers” Tools and documentation: WDK © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

6 Driver Verifier Verifies different aspects of drivers at runtime
4/16/ :10 PM Driver Verifier Verifies different aspects of drivers at runtime Built into Windows Type verifier from the Run menu Valuable in your regular testing Use standard settings Does Special pool, IRP verification, IRQL checking, etc. Same settings are used for driver signature or logo testing Only enable settings for drivers under test To ensure proper testing of your driver Get high test coverage By running with a full test pass You must exercise the code; otherwise, it cannot verify the driver For details Tools and documentation: WDK Many new features for Windows Vista © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

7 Test Configuration Vary your test environment
4/16/ :10 PM Test Configuration Vary your test environment Don’t just test your device in a static environment – change things around System configuration System environments Device settings Make these part of your regular test pass © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

8 System Configuration Different platforms: x86, x64, Itanium
4/16/ :10 PM System Configuration Different platforms: x86, x64, Itanium System with S1 and S3 support (for PO testing) Ensure system has WDDM video drivers So you get hybrid sleep (S3 with Hiberfile) Multiprocessor/multi-core machines Only way to truly test concurrency Hyperthreading doesn't count for this testing Different chipsets Checked build Skews timing Has additional assertions See “Using the Checked Build” in the WDK © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

9 System Environments Low memory Large memory High CPU utilization
4/16/ :10 PM System Environments Low memory See “Boot Parameters to Manipulate Memory” in the WDK Large memory This is important for both for X86 and 64 bit See “Will I need special hardware for memory top-down testing?” in the WDK High CPU utilization From something other than testing the device Stress testing does this Skews timing Can uncover race conditions in your driver © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

10 Device Settings Test your device with all of its settings
4/16/ :10 PM Device Settings Test your device with all of its settings Not just the default settings Only you know what these settings do If your device uses hardware resources (IRQ, I/O Port...), change them WDK tool “PnP Driver Test” does rebalancing Manually in Device Manager © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

11 Device Configuration Test several of the same device in a system
4/16/ :10 PM Device Configuration Test several of the same device in a system Topologies Behind a PCI-PCI bridge Connected to a large tree of devices For USB or 1394 device, for example © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

12 Testing Specific Driver Aspects
4/16/ :10 PM Testing Specific Driver Aspects Aspects of driver testing that may not usually be your focus But tend to have high failure counts Driver aspects Memory PO Penetration/Security I/O Cancel PnP Setup Concurrency © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

13 Memory Still a problem area with drivers Corruption – testing methods
4/16/ :10 PM Memory Still a problem area with drivers Corruption – testing methods Driver Verifier with special pool setting Static analysis tools Code review Stress testing Leaks – testing methods Manual testing Use “PoolMon” In the WDK to monitor pool allocations Generally, do repetitive operations, and look for continued pool usage increases © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

14 Plug And Play – PnP WDK tests Long haul testing
4/16/ :10 PM Plug And Play – PnP WDK tests “Disable/Enable with IO” “PnP Driver test” Long haul testing Set up system that tests PnP for several days Test the driver/device in docking stations Test undock/dock Manual testing Physically unplug and replug The device The bus/media: USB cable, net cables... Use your device Then disable/enable it © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

15 Power Management Windows Vista = more aggressive PO management
4/16/ :10 PM Power Management Windows Vista = more aggressive PO management Not just for laptops anymore WDK tests “Sleep Stress with IO” – cycles through sleep states and does device I/O before and afterward “Pwrtest” – Logs power events Long haul testing Set up system that tests PO for several days Manual testing Use the device, and then Put the system to sleep Hibernate the system © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

16 PnP And Power Management
4/16/ :10 PM PnP And Power Management Test both together Don’t just test each in isolation This is a real-world scenario For example, often when you close the lid on a laptop, you also unplug devices WDK tests Common Scenario Stress with IO Manual testing Combine existing automated tests Or do these manually © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

17 4/16/ :10 PM Fault Injection Test driver code paths that are hard to hit under normal use Error handling Corner cases Hard to test You may need to add test code to the driver during testing Write a test filter driver Driver Verifier has a Fault Injection setting For USB, try Device Simulation Framework © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

18 Concurrency Do different things to the driver at the same time
4/16/ :10 PM Concurrency Do different things to the driver at the same time Analysis of our tests show they do not give very good coverage in this area System configuration Use multiprocessor machines Testing Use your device in multiple processes Use your device and Disable it Shut down the system Put the system to sleep Change the configuration Get data from it (WMI/IOCTL) © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

19 Penetration/Security
4/16/ :10 PM Penetration/Security Be resilient against mischief Don’t assume that only your user-mode code will be calling your device Code review the IOCTL and WMI code path Who should have access to your devices: Test for it See “Creating Reliable Kernel-Mode Drivers” in WDK Errors in buffered I/O, etc. Test and code review for these pitfalls Device path exerciser in WDK test – limited but useful Run with Driver Verifier on target driver enabled For bugs found with this tool, do a code review Look for similar bugs in other code paths Where bug was found, look for other types of bugs Don’t expect this tool to find other bugs in this area for you Use static analysis and verification tools © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

20 I/O Cancellation Still a problem area with drivers Hard to test
4/16/ :10 PM I/O Cancellation Still a problem area with drivers Hard to test I/O must be currently active in the driver Testing Use your device, and then kill the process using it Doesn’t guarantee you tested I/O cancellation Set a break point or add tracing on cancellation code Make sure it gets hit during your testing May need to add test code to your driver Experiment © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

21 Setup Packages Test for all scenarios Test with multiple packages
4/16/ :10 PM Setup Packages Test for all scenarios OEM preinstall During OS installation (for boot drivers) After OS installation OS Migration Install your driver on Windows XP, then upgrade to Windows Vista and ensure drivers and applets work Same for Windows Vista to Windows Vista upgrades For example, Home Basic to Home Premium SKUs Test with multiple packages Create 2 packages with 2 different versions of your driver Install version 1 Upgrade to version 2 Rollback to version 1 Un-install Tools: ChkInf © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

22 Testing Types Testing types Stress tests Scenario testing
4/16/ :10 PM Testing Types Testing types Stress tests Scenario testing © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

23 Stress Testing Combines tests to simulate a heavy load Stress tests
4/16/ :10 PM Stress Testing Combines tests to simulate a heavy load Tests your driver under different system conditions Can find bugs that can be missed in feature testing Stress tests WDK has a stress test Allows you to add your device-specific test Build your own Testing – time and configuration Run for at least 24 hours at a time Run on different system configuration Run with different device settings © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

24 Scenario Testing Test your devices the way customers will use them
4/16/ :10 PM Scenario Testing Test your devices the way customers will use them Don’t just rely on synthetic tests/automation Focus on corner cases scenarios Mainstream scenarios tend to not be a problem Customers always find new ways to use your devices © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

25 Resources Driver Test Manager kits – DTM Test frameworks
4/16/ :10 PM Resources Driver Test Manager kits – DTM Test frameworks Windows Device Testing Framework – WDTF Device Simulation Framework – DSF Driver Frameworks Kernel-mode Driver Framework – KMDF User-mode Driver Framework – UMDF Windows Error Reporting © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

26 DTM Test Kits Run early Many useful DTM tests for your regular testing
4/16/ :10 PM DTM Test Kits Run early When software, firmware, and hardware changes are still possible Use these tools on a daily basis in your testing Keep in mind that driving issues to a resolution takes time: Plan for 2-4 weeks Many useful DTM tests for your regular testing Use DTM automation features in your lab Add your own tests At WinHEC: WDK and DTM presentations “How to Use the WDK to Develop, Sign and Test Drivers” “Using the WDK for Windows Logo and Signature Testing” Sign up for the WDK Beta: See WHDC Web site: “Index of Windows Driver Kit Tools” in the WDK © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

27 WDTF – Windows Device Testing Framework
4/16/ :10 PM WDTF – Windows Device Testing Framework Framework for building driver/device tests Some DTM tests are built using WDTF PnP and Power Management tests Write your own tests For details At WinHEC: “Using the Windows Device Testing Framework” Tools and documentation: WDK © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

28 DSF – Device Simulation Test Framework
4/16/ :10 PM DSF – Device Simulation Test Framework Simulate hardware through software Currently only for USB For details At WinHEC: “Using the Device Simulation Framework for Software Simulation of USB Devices” session WDK DSF USB Loop Back Device Simulation © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

29 Windows Driver Frameworks (WDF)
4/16/ :10 PM Windows Driver Frameworks (WDF) Generally, testing is same as for other drivers Some features that might help Features UMDF KMDF In Flight recorder X Integrated Verifier Normal Verifier App Verifier Driver Verifier Skew execution Object live-time tracking Flags leaks on unload Fault injections Via registry key settings Debugger extension © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

30 Windows Error Reporting
4/16/ :10 PM Windows Error Reporting Database of Windows crashes Improve experience/reduce costs Improve your customers’ experience Reduce your support costs – and your partners’ Engage through Winqual Sign up to see crash data for your drivers Provide solutions through Windows Update Check data regularly For just-released products, check daily For products on the market for a while, check monthly For details Winqual Web site: © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

31 4/16/ :10 PM Call To Action Incorporate the testing points from this presentation into your regular test pass Test early Start in the design and prototyping phase Take advantage of the resources listed here Engage with Windows Error Reporting Engage with driver testers at Microsoft microsoft.com © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

32 Additional Resources WDK: http://www.microsoft.com/whdc/wdk
4/16/ :10 PM Additional Resources WDK: Testing tools on WHDC: Driver aspects PO: Memory: /mem-alloc_tst.mspx Setup: “Using Driver Install Frameworks (DIFx)” – WDK Microsoft Symbol Server All OS symbols for all releases and patches: Send Windows Driver testing alias microsoft.com © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

33 Questions Tomorrow’s “Ask the expert” session 4/16/2017 11:10 PM
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

34 4/16/ :10 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

35 4/16/ :10 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Best Practices For Testing Windows Drivers"

Similar presentations


Ads by Google