Testing And Tools For Print And Imaging Drivers

Slides:



Advertisements
Similar presentations
Introduction to Visual Studio.Net 2005 By Sam Nasr September 27,
Advertisements

.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Working with Disks and Devices
Optimizing Device Drivers For Terminal Servers Plug And Play Device Redirection Framework Gaurav Daga Program Manager Windows Terminal Server Microsoft.
Dynamic Analysis of Windows Phone 7 apps Behrang Fouladi, SensePost.
Overview and Demonstration of declarative workflows in SharePoint using Microsoft SharePoint Designer 2007 Kevin Hughes MCT, MCITP, MCSA, MCTS, MCP, Network+,
Manage projects effectively with Microsoft ® Office Project 2003 Claire Reilly Solutions Specialist Microsoft Corporation.
MSDN Connection Get personalised information on the topics and technologies you want Profile yourself today and get updates via RSS Get personalised information.
Windows Server Terminal Services Easy Print
4/6/ :35 AM © 2004 Microsoft Corporation. All rights reserved.
This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
IS4401 Project Technology Issues. Introduction This seminar covers Databases When to use a Database What Database to use Development Tools Visual Studio.
Print Driver Testing Tools Ashwin Needamangala Senior Test Development Lead Documents and Printing Team
WDK Driver Test Manager. Outline HCT and the history of driver testing Problems to solve Goals of the WDK Driver Test Manager (DTM) Automated Deployment.
Rob Williams Program Manager Microsoft Corporation.
Rob Hwacinski Sr. Program Manager Lead Microsoft Corporation WEM206 Ashwin Kulkarni Sr. Product Manager Microsoft Corporation.
Filter-based Print Drivers: Overview. Outline MetroDrv Architecture and Data Flow Filter Pipeline Implementation MetroDrv Filter Development Discussion.
Best Practices for Developing Printer Drivers Justin Hutchings Program Manager Microsoft Corporation Shawn Maloney Program Manager Microsoft Corporation.
Print Verifier Ashwin Needamangala Senior Test Development Lead Documents and Printing Team
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
XPSDrv Best practices using Print Verifier
Using The WDK For Windows Logo And Signature Testing Craig Rowland Program Manager Windows Driver Kits Microsoft Corporation.
New Document Lifecycle Opportunities N. Gregg Brown Lead Program Manager Digital Documents microsoft.com Microsoft Corporation.
WEB329 ASP.NET: A Lap Around the New Enhancements for Web Developers in Microsoft Visual Studio 2005 Omar Khan Lead Program Manager Web Platform and Tools.
Windows Debugging Demystified
Debugging Print And Imaging Drivers. Print driver team philosophy on driver quality There are tools to detect violations Wrongful development assumptions.
David Harding Software Design Engineer Network Devices Platform Microsoft Corporation SoftAP-Based Test Infrastructure For Obtaining The Logo For WLAN.
®® Microsoft Windows 7 for Power Users Tutorial 8 Troubleshooting Windows 7.
Hands-On Microsoft Windows Server 2008
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. 1 Third Edition Chapter 6 Today’s Windows Windows Vista and Windows 7 McGraw-Hill.
Created by the Community for the Community BizTalk & Build.
Using the WDK for Windows Logo and Signature Testing Craig Rowland Program Manager Windows Driver Kits Microsoft Corporation.
Advances in Windows Printing Daniel Emerson Program Manager Digital Documents Platform and Solutions Microsoft Corporation.
Windows Image Acquisition Enhancements In Windows Vista
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. 1 Third Edition Chapter 5 Windows XP Professional McGraw-Hill.
Exploiting Windows 2000 Kyle Marsh Software Design Engineer Windows Evangelism Microsoft Corporation
DEV339 Best Practices for Debugging Visual Studio.NET Applications Keith Pleas Architect, Guided Design
Core Printer Driver Improvements
Compatibility and Interoperability Requirements
Visual Studio 2005 Team System Winning the testing space with advanced testing tools Eric Adams Program Manager Visual Studio 2005 Team System Microsoft.
Designing a Scalable Enterprise Project Management Architecture Ken Toole Platform Test Manager MS Project Microsoft Corporation.
Name Microsoft Student Partner Overview of the Visual Studio 2005 Express Products.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
Building More Reliable And Better Performing Web Applications With Visual Studio 2005 Team System Gabriel Marius TLN312 Program Manager Microsoft Corporation.
Microsoft® Desktop Deployment Assistance Program 5: USMT Drill Down Thomas Lee Chief Technologist QA plc
Msdevcon.ru#msdevcon. ИЗ ПЕРВЫХ РУК: ДИАГНОСТИКА ПРИЛОЖЕНИЙ С ПОМОЩЮ ИНСТРУМЕНТОВ VISUAL STUDIO 2012 MAXIM GOLDIN Senior Developer, Microsoft.
Customer and Partner Connections Design and Develop Assess and Certify.
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. 1 Third Edition Chapter 6 Today’s Windows Windows Vista and Windows 7 McGraw-Hill.
IE Developer Tools Jonathan Seitel Program Manager.
Neil Kidd Developer Tools Technical Specialist Microsoft UK.
Windows Small Business Server 2003 R2 Powering Small Businesses.
Internet Information Server 6.0 & new management features.
Application Migration Fritz Ohman Alphageek
Tips and Tricks for Debugging ASP.NET Web Applications and Services Habib Heydarian TLNL05 Program Manager Microsoft Corporation.
John Samuels October, Why Now?  Vista Problems  New Features  >4GB Memory Support  Experience.
ITMT 1371 – Window 7 Configuration 1 ITMT Windows 7 Configuration Chapter 8 – Managing and Monitoring Windows 7 Performance.
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Network and Server Basics. Learning Objectives After viewing this presentation, you will be able to: Understand the benefits of a client/server network.
Rade Trimceski Program Manager Microsoft Corporation Mitesh Desai Software Design Engineer Microsoft Corporation.
Developing Drivers in Visual Studio
Migration Strategies – Business Desktop Deployment (BDD) Overview
Certifying graphics experiences on Windows 8
1/14/2019 3:57 AM © 2004 Microsoft Corporation. All rights reserved.
DEV354 Visual Studio 2005: New Enhancements For Debugging Applications
Delivering great hardware solutions for Windows
Forum on Application Compatibility for Windows “Longhorn”
Mark Quirk Head of Technology Developer & Platform Group
Jamie Cool Program Manager Microsoft
Presentation transcript:

Testing And Tools For Print And Imaging Drivers

Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do Microsoft provided test tools Importance of Debugging Summary

Basic Print and Imaging Testing Philosophy

Test Device Drivers Right amount of QA before you ship Fewer bugs for users to find Lower support costs Quality not just the responsibility of QA team Need good tools for developers Enable developers to run unit tests

Microsoft Investment Microsoft is interested in the test environment to improve the overall driver ecosystem Microsoft QA approach Inbox driver program Logo Program Provide tools for drivers we never see Driver education on tools and methods

Where Microsoft Finds Bugs and How They’re Triaged

Bug Buckets Main areas bugs are found (highest to lowest) Through code analysis (PREfast) Printable regions Basic printing features Stress testing Font handling Advanced features Setup Communications and I/O Microsoft supplies tools that target each bucket

What Happens if Microsoft Finds a Bug? Reporting the bug What did you see? What were you expecting? Exact steps to reproduce Triage Is it in Microsoft code? Assign to a developer for investigation Fix Developer builds private for test to verify Ship team decides whether to accept the change to the product Check in Resolve Fix is verified against live build by test Tester who opened original bug is the only person allowed close the issue

Microsoft Provided Test Tools

Microsoft Testing of Printing and Imaging Device Drivers Tool Distributions Winparty 2005 Used for device and driver testing today Used for inbox driver check in Included in upcoming Windows Driver Kit (WDK) WDK Uses WTT Test Shell Makes it very simple for anyone to run tests and collect results

What Architectures Are Supported? Tools work on a variety of architectures x86 x64 Itanium Inbox check-in requires testing on all three architectures by the IHV and Microsoft To test a 64bit operating system (OS) Run 64-bit tools Run 32-bit tools Get 64-bit machines today Required for WOW64 testing

Microsoft Provided Imaging Test Tools Data transfer tool Error Handler test tool Filters test tool Properties and Item Tree test tool Imaging Driver Robustness tool Twain Spec Compliance tool Power Management Stress test tool Twain Datasource Reliability/Robustness tool WIA Navigation and Property tool WIA Trace Viewer

Microsoft Provided Print Test Tools Print Device Capabilities Print Area Photo Print test Print Gremlin Office Tests Inbox App tests DevMode Corruptor Print Driver Stress Font Test

Importance of Debugging

How Does a Debugging Environment Help? Increases stability of product Increases customer satisfaction Increases tester output Increases developer output Lowers cost of development Lowers cost of testing Lowers support costs

Invest in Your QA Process Example of testing without debugging: Tester notices applet crashes every few minutes, disregards break Example with debugging Tester notices applet crashes, creates debugger break Passed on to developer, developer finds heap corruption ( developer finds code bug ) Fixed before driver is released Avoids support costs Increases stability of product Avoids customer dissatisfaction Every single debugger break is a bug to investigate

Kernel vs. Local Debugging Easy to set up:Two approaches User mode debugging Easy to set up Lots of cmd windows on screen Can’t catch kernel-mode bugs Kernel mode debugger Harder to set up (separate computer needed) No visible testing machine effects Catches kernel-mode bugs Debugging user mode drivers can be a problem e.g. Spooler context and loading symbols

Debugging Tools PREfast for drivers Performed mostly by developers You need to have the commitment to fix all the errors Zero bug count required for inbox check-in Configurable through filters Application Verifier, Driver Verifier, clean test systems, Pageheap, NTSD etc. Expands scope of testing Performed by developers and testers Very important for quality testing

AppVerif vs. Verifier Application Verifier = appverif.exe Driver Verifier = verifier.exe Verifier is a kernel-mode driver debugging tool Verifer was and continues to be widely adopted to find and fix kernel mode problems IHVs have found and fixed lots of bugs because of Verifer since Windows 2000 AppVerif is a user-mode driver and application debugging tool Used when testing user mode components

Good Test Debug Setup Development resources to debug a break User mode or kernel mode debugger “Clean” test machine Make use of imaging software Latest debug tools on debugger and test machine We have a new tool to make debugging set-up easier! Winparty 2005

Good Test Debug Setup (con’t) Application Verifier (user mode debugger) Spooler Explorer WIA IHV spawned process All test tools Driver Verifier All installed kernel-mode components NTSD is the Microsoft standard user-mode debugger Enable NTSD on spooler Enable NTSD on WIA service Enable NTSD on all IHV-spawned processes Debugging is for test and development

PREfast Overview Static code analysis tool Run against source code Automated tool to find code defects Not limited by test cases Identify location of bug (easy to fix) Run on source code, not binaries Analyzes code for bugs before expensive testing begins

PREfast Overview (con’t) Checks for common coding bugs Bounds (array bounds violations) Precedence & stack hogs HRESULT (abuses of HRESULT type) Divide by zero errors Null pointers/invalid pointers It’s just a tool, not a magic bullet Complements other tools such as Application Verifier, Pageheap, etc. Does this tool find all the defects? No!

PREfast Buffer Over-run Example extern TCHAR g_szName[MAX_PATH + 1]; static TCHAR c_szServerName[] = "SERVER_NAME"; DWORD dwSize = sizeof(g_szName); TCHAR szAnsiName[MAX_NAME_LENGTH + 1]; pECB->GetVariable (pECB->ConnID, c_szServerName, szAnsiName, &dwSize); Security bulletin (and patch) MS01-023 Detected by PREfast 4.0: Fixed in Windows XP

Summary Microsoft provides many printing and imaging test tools Proper debugging saves time and money and increases customer satisfaction Testing is not just for testers Invest in your QA org

Call to Action Use Microsoft tools and methods to improve the efficiency of your QA org Setup proper debugging to find bugs Work with Microsoft to improve the stability of your device drivers

Additional Resources Community Sites Web resources http://www.microsoft.com/communities/default.mspx MSDN Developer Community Chats: Windows Printer Driver Development http://msdn.microsoft.com/chats/transcripts/windows/windows_092104.aspx Windows Drivers: Printer Drivers http://msdn.microsoft.com/chats/windows/windows_101602.asp Windows Drivers Printing and Networking http://msdn.microsoft.com/chats/windows/windows_022002.asp Web resources WinFX http://msdn.microsoft.com/downloads/ WS-Devices Profile http://msdn.microsoft.com/webservices/understanding/specs/default.aspx?pull=/library/en-us/dnglobspec/html/devprof.asp Printer Working Group http://www.pwg.org WHDC Printing home page: http://www.microsoft.com/whdc/device/print/default.mspx WHDC Still Imaging / WIA home page: http://www.microsoft.com/whdc/device/stillimage/default.mspx

Additional Resources E-mail For developer print questions: prninfo @ microsoft.com For developer scan questions: wiainfo @ microsoft.com For developer color questions: mscolor @ microsoft.com

© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.