2
Country of Country of origin origin of the TEACHERS of the TEACHERS The results relevant to the number of teachers and their provenience for each course are reported in the Tables The results relevant to the number of teachers and their provenience for each course are reported in the Tables below. The highlighted boxes in the Tables denote the number of teachers belonging to the country that host the below. The highlighted boxes in the Tables denote the number of teachers belonging to the country that host the course. The average number of teachers (including assistants and lecturers) was 9 per course in 2005 and 2006. course. The average number of teachers (including assistants and lecturers) was 9 per course in 2005 and 2006. In order to reduce the expenses, it was decided by the Board to reduce this number. In 2007 the average number In order to reduce the expenses, it was decided by the Board to reduce this number. In 2007 the average number of teachers decreased to an average of 6 per course. The histograms presents the percentage of teachers over the of teachers decreased to an average of 6 per course. The histograms presents the percentage of teachers over the total number that come from a certain country. total number that come from a certain country. 2005 2005 HIGH FREQUENCY METHODS AND TRAVELING WAVE ANTENNAS HIGH FREQUENCY METHODS AND TRAVELING WAVE ANTENNAS UNISI/SAPIENZA – Siena/Roma, February 21-26, 2005 UNISI/SAPIENZA – Siena/Roma, February 21-26, 2005 Coordinators: S.Maci (UNISI), F.Frezza (Sapienza) Coordinators: S.Maci (UNISI), F.Frezza (Sapienza) PHASED ARRAYS AND REFLECTARRAYS PHASED ARRAYS AND REFLECTARRAYS TNO – Den Haag, April 11-15, 2005 TNO – Den Haag, April 11-15, 2005 Coordinator: G. Gerini Coordinator: G. Gerini ARTIFICIAL EBG SURFACES AND METAMATERIALS ARTIFICIAL EBG SURFACES AND METAMATERIALS CHALMERS – Goteborg, April 18-22, 2005 CHALMERS – Goteborg, April 18-22, 2005 Coordinator: Coordinator: P-S Kildal P-S Kildal DESIGN AND ANALYSIS OF LARGE REFLECTOR ANTENNAS AND LENS ANTENNAS DESIGN AND ANALYSIS OF LARGE REFLECTOR ANTENNAS AND LENS ANTENNAS TICRA – Copenhagen, May 9-13, 2005 TICRA – Copenhagen, May 9-13, 2005 Coordinator: H.H. Visskum Coordinator: H.H. Visskum MICROWAVE AND MILLIMETER WAVE ANTENNA DESIGN MICROWAVE AND MILLIMETER WAVE ANTENNA DESIGN IETR – Rennes, May 16-20, 2005 IETR – Rennes, May 16-20, 2005 Coordinator: K. Mahdjoubi Coordinator: K. Mahdjoubi ANTENNA MEASUREMENTS AT MILLIMETER AND SUBMILLIMITER WAVELENGTHS ANTENNA MEASUREMENTS AT MILLIMETER AND SUBMILLIMITER WAVELENGTHS HUT – Helsinki, May 23-27, 2005 HUT – Helsinki, May 23-27, 2005 Coordinator: Coordinator: Coordinator: A. Coordinator: A. Räisänen Räisänen COMPACT ANTENNAS COMPACT ANTENNAS UPC – Barcelona, June 6-10, 2005 UPC – Barcelona, June 6-10, 2005 Coordinator: L. Joffre Coordinator: L. Joffre ANTENNA MEASUREMENTS ANTENNA MEASUREMENTS UPM – Madrid, June 20-24, 2005 UPM – Madrid, June 20-24, 2005 Coordinator: M. Sierra-Perez Coordinator: M. Sierra-Perez MULTI-USER REAL TIME MIMO MULTI-USER REAL TIME MIMO KTH – Stockholm, September 5-9, 2005 KTH – Stockholm, September 5-9, 2005 Coordinator: B. Lindmark Coordinator: B. Lindmark NEW SYSTEMS OF MOBILE COMMUNICATION NEW SYSTEMS OF MOBILE COMMUNICATION UPV – Valencia, September 12-16, 2005 UPV – Valencia, September 12-16, 2005 Coordinator: M.Ferrando Coordinator: M.Ferrando COMPUTATIONAL EM FOR ANTENNA ANALYSIS COMPUTATIONAL EM FOR ANTENNA ANALYSIS POLITO – Torino, September 19-23 POLITO – Torino, September 19-23 Coordinator: G.Vecchi Coordinator: G.Vecchi 2006 2006 ANALYSIS OF PLANAR AND CONFORMAL ANTENNAS ANALYSIS OF PLANAR AND CONFORMAL ANTENNAS EPFL -Lausanne , Feb. 27- March 3, 2006 EPFL -Lausanne , Feb. 27- March 3, 2006 Coordinators: J.Mosig P-S Kildal Coordinators: J.Mosig P-S Kildal ANTENNAS FOR SPACE APPLICATIONS ANTENNAS FOR SPACE APPLICATIONS ESTEC - Noordwijk, ESTEC - Noordwijk, March March 27-31, 2006 27-31, 2006 Coordinator: C. Mangenot Coordinator: C. Mangenot ULTRAWIDEBAND ANTENNAS ULTRAWIDEBAND ANTENNAS UKARL - Karlsruhe April 3-7, 2006 UKARL - Karlsruhe April 3-7, 2006 Coordinator: W. Wiesbeck Coordinator: W. Wiesbeck ADVANCED MATHEMATICS FOR ANTENNA ANALYSIS ADVANCED MATHEMATICS FOR ANTENNA ANALYSIS UniZag –Dubrovnik, May 8-12, 2006 UniZag –Dubrovnik, May 8-12, 2006 Coordinator: Z. Sipus Coordinator: Z. Sipus PROPAGATION IN MOBILE COMMUNICATIONS PROPAGATION IN MOBILE COMMUNICATIONS UNISI- UKARL Siena June 5-9, 2006 UNISI- UKARL Siena June 5-9, 2006 Coordinators: W. Wiesbeck, S. Maci Coordinators: W. Wiesbeck, S. Maci ANTENNAS FOR MOBILE COMMUNICATIONS ANTENNAS FOR MOBILE COMMUNICATIONS CTU - Prague, June 19-23, 2006 CTU - Prague, June 19-23, 2006 Coordinators Coordinators : M. Ferrando, M. : M. Ferrando, M. Mazanek Mazanek ANTENNA MEASUREMENTS ANTENNA MEASUREMENTS UPM – Madrid, June 26-30, 2006 UPM – Madrid, June 26-30, 2006 Coordinator Coordinator : M. : M. Sierra-Pérez Sierra-Pérez ACTIVE ANTENNAS ACTIVE ANTENNAS UBHAM - Birmingham, Sept. 18-22, 2006 Coordinator: P. Hall UBHAM - Birmingham, Sept. 18-22, 2006 Coordinator: P. Hall FREQUENCY DOMAIN TECHNIQUES FOR ANTENNA ANALYSIS FREQUENCY DOMAIN TECHNIQUES FOR ANTENNA ANALYSIS UNIFi –Firenze, October 2-6, 2006 UNIFi –Firenze, October 2-6, 2006 Coordinator: A. Freni Coordinator: A. Freni COOPERATIVE COMMUNICATIONS AND DISTRIBUTED ANTENNAS COOPERATIVE COMMUNICATIONS AND DISTRIBUTED ANTENNAS CTTC – Barcelona , October 16-20, 2006 CTTC – Barcelona , October 16-20, 2006 Coordinator: C. Coordinator: C. Ibars Ibars TIME DOMAIN TECHNIQUES FOR ANTENNA ANALYSIS TIME DOMAIN TECHNIQUES FOR ANTENNA ANALYSIS LEAT –Nice, November 20-24,2006 LEAT –Nice, November 20-24,2006 Coordinator Coordinator : : J.L. J.L. Dubard Dubard 2007 2007 ANTENNA SYNTHESIS ANTENNA SYNTHESIS UNINA – Napoli, March 26-30, 2007 UNINA – Napoli, March 26-30, 2007 Coordinator Coordinator : O. M. : O. M. Bucci Bucci INDUSTRIAL ANTENNA DESIGN INDUSTRIAL ANTENNA DESIGN IMST – IMST – Düsseldorf Düsseldorf , , April April 23-27, 2007 23-27, 2007 Coordinator: D. Manteuffel Coordinator: D. Manteuffel PHASED ARRAYS AND REFLECTARRAYS PHASED ARRAYS AND REFLECTARRAYS TNO - Den Haag, May 7-11, 2007 TNO - Den Haag, May 7-11, 2007 Coordinator: G. Gerini Coordinator: G. Gerini ANTENNA MEASUREMENTS FOR MILLIMETER AND SUB-MILLIMETER WAVELENGTHS ANTENNA MEASUREMENTS FOR MILLIMETER AND SUB-MILLIMETER WAVELENGTHS TKK – Helsinki, May 21-25, 2007 TKK – Helsinki, May 21-25, 2007 Coordinator: A. Coordinator: A. Räisänen Räisänen COMPACT ANTENNAS COMPACT ANTENNAS UPC Barcelona , June 4-8, 2007 UPC Barcelona , June 4-8, 2007 Coordinator Coordinator : : L. L. Jofre Jofre MICROWAVE AND MILLIMETER WAVE MICROWAVE AND MILLIMETER WAVE ANTENNA DESIGN ANTENNA DESIGN IETR-Rennes, June 18-22, 2007 IETR-Rennes, June 18-22, 2007 Coordinator: K. Mahdjoubi, J-M Laheurte Coordinator: K. Mahdjoubi, J-M Laheurte ADVANCED SPHERICAL WAVE NEAR-FIELD ANTENNA MEASUREMENTS TECHNIQUES ADVANCED SPHERICAL WAVE NEAR-FIELD ANTENNA MEASUREMENTS TECHNIQUES DTU– Copenhagen, July 2-6, 2007 DTU– Copenhagen, July 2-6, 2007 Coordinator: O. Breinbjerg Coordinator: O. Breinbjerg MIMO COMMUNICATION SYSTEMS AND ANTENNAS MIMO COMMUNICATION SYSTEMS AND ANTENNAS KTH – Stockholm, August 27-31, 2007 KTH – Stockholm, August 27-31, 2007 Coordinator: B. Lindmark Coordinator: B. Lindmark ADVANCED COMPUTATIONAL EM FOR ANTENNA ANALYSIS ADVANCED COMPUTATIONAL EM FOR ANTENNA ANALYSIS POLITO - Torino, POLITO - Torino, September 10-14, 2007 September 10-14, 2007 Coordinator: G. Vecchi Coordinator: G. Vecchi ARTIFICIAL EBG SURFACES AND METAMATERIALS FOR ANTENNAS ARTIFICIAL EBG SURFACES AND METAMATERIALS FOR ANTENNAS CHALMERS Gothenburg, CHALMERS Gothenburg, October October 29-November 2, 2007 29-November 2, 2007 Coordinator Coordinator : : P-S. P-S. Kildal Kildal 2005 (244 2005 (244 students, 11 courses, average: 22 students per students, 11 courses, average: 22 students per course) course) 2005 (100 2005 (100 teachers teachers , , average average : 9 per : 9 per course course ) ) 2006 (97 2006 (97 teachers teachers , , average average : 9 per : 9 per course course ) ) 2007 ( 67 2007 ( 67 teachers teachers , , average average : 6,7 per : 6,7 per course course ) ) The Tables below summarize the course participation of students in 2005-2007. The highlighted boxes in the The Tables below summarize the course participation of students in 2005-2007. The highlighted boxes in the Tables denote the number of students belonging to the country that hosts the course. In 2005, 244 students Tables denote the number of students belonging to the country that hosts the course. In 2005, 244 students have participated to ESoA (average of 22 student per course); in 2006 the total number of students was 243 have participated to ESoA (average of 22 student per course); in 2006 the total number of students was 243 (average: 22). In 2007 the total number of students was 192 students with 10 courses done (average: 19). Some (average: 22). In 2007 the total number of students was 192 students with 10 courses done (average: 19). Some courses (due to high content of experiments and lab) have set a limit to 12 or 15 students. The country of courses (due to high content of experiments and lab) have set a limit to 12 or 15 students. The country of origin (i.e. of residence) of the student is summarized in the histograms in terms of percentage of the total origin (i.e. of residence) of the student is summarized in the histograms in terms of percentage of the total number of students. number of students. C ourse Provenience Spain / B arce UK / Birm in C roatia / D ubrov. N ether./ N oordw . G erm a./ K arlsruh Spain / M adrid C zech / Prague Italy / Siena Italy / Floren. Sw itzer./ Lausa. France / Nice TOTAL Spain 3 2 10 4 1 20 Italy 3 2 3 2 2 12 G erm any 1 5 1 3 2 12 N etherlands 9 1 10 Sw eden 2 2 3 1 8 UK 5 2 7 C roatia 1 2 1 1 5 France 1 1 2 1 5 10 C zech R ep. 3 3 D enm ark 1 1 1 3 Sw itzerland 2 1 3 B elgium 1 1 2 Finland 1 1 Serbia 1 1 TO TAL (AVE 9) 6 7 5 13 8 16 11 5 9 7 10 97 IM I% (A VE 55% ) 50% 28% 60% 31% 37% 60% 72% 60% 77% 85% 50% C ourse Provenience Spain / B arce UK / Birm in C roatia / D ubrov. N ether./ N oordw . G erm a./ K arlsruh Spain / M adrid C zech / Prague Italy / Siena Italy / Floren. Sw itzer./ Lausa. France / Nice Total Spain 4 2 1 2 5 16 4 5 6 1 46 Italy 7 11 3 1 1 5 11 4 5 48 UK 14 2 2 1 19 Sw eden 2 4 1 2 3 3 2 1 18 N etherlands 1 9 2 3 15 France 4 1 1 1 2 3 2 3 17 C zech R epu. 11 11 G erm any 1 1 4 1 2 1 2 12 Finland 5 2 2 9 Sw itzerland 2 7 9 C roatia 1 5 1 2 9 G reece 4 1 1 6 B elgium 3 1 4 USA 1 1 1 1 4 Portugal 3 2 5 Serbia 1 1 1 3 Poland 1 1 2 A rgentina 1 1 SaudiA rabia 1 1 R ussia 1 1 India 1 1 U kraine 1 1 D enm ark 1 1 TO TAL (AVE 22) 24 23 20 26 22 26 16 22 23 27 14 243 C ourse Provenience Italy / N aples G erm a./ D usser. N ether./D en H aag Finland./ H elsinky Spain / B arce. France / R ennes D enm ark /C openha. Sw eden/ Stock Italy/ Torino Sw eden/ G oteborg TO T Spain 1 1 1 3 Italy 5 1 3 1 10 Sw eden 1 3 3 7 N etherlands 1 1 1 3 France 1 1 1 6 1 1 11 G erm any 2 2 Finland 8 4 1 13 USA 1 1 C roatia 1 1 D enm ark 1 1 4 6 TO TAL (AVE 6 ) 8 4 5 9 1 6 4 8 5 7 57 FO R EIG N % C ourse Provenience Italy / Siena- R om e N ether./ D enH aag Sw eden/ G othebor Denm ark /C open. France / R ennes Finland / H elsinky Spain / B arcelon Spain / M adrid Sw eden/ Stockhol Spain / Valencia Italy / Torino Total Spain 1 1 3 6 1 8 20 Italy 14 4 1 1 6 26 G erm any 2 1 3 N etherlands 2 2 Sw eden 2 3 1 1 7 14 France 3 1 1 6 1 1 13 D enm ark 4 1 5 Sw itzerland 1 1 Finland 1 8 1 4 14 USA 1 1 2 TO TAL (AVE 9) 15 12 7 7 6 8 6 10 12 9 8 100 Sw eden/ Stock Italy/ Torino Sw eden/ G oteborg Total Spain 4 3 6 5 7 2 4 6 7 2 46 Italy 12 1 6 1 4 1 3 2 10 1 41 UK 2 1 3 Sw eden 2 3 1 7 7 20 N etherlands 2 2 1 5 France 1 4 2 4 1 1 2 15 C zech R epu. 1 1 3 5 G erm any 3 4 1 2 10 Finland 1 2 1 4 1 2 2 13 Sw itzerland 1 1 2 C roatia 1 1 2 4 G reece 1 1 1 1 4 Serbia 1 1 2 B elgium 1 1 1 3 USA 2 2 Portugal 1 3 4 Poland 1 1 A rgentina 1 1 R ussia 1 1 C hina 1 1 Turkey 1 1 2 Iraq 1 1 2 C anada 1 1 South A frica 1 1 N orw ay 1 1 D enm ark 2 2 TO TAL (AVE 19 ) 22 22 14 16 27 11 12 21 25 22 192 Finland./ H elsinky Spain / B arce. France / R ennes D enm ar/C openha. C ourse Provenience Italy / N aples G erm a./ D usser. N ether./ D en H aag C ourse Provenience Italy / Siena- N ether./ D en H aag Sw eden/ G othebor Denm ark /C open. France / R ennes Finland / H elsinky Spain / B arcelon Spain / M adrid Sw eden/ Stockhol Spain / Valencia Italy / Torino Total Spain 1 1 2 14 12 5 16 1 52 Italy 29 9 8 5 3 2 1 3 15 75 UK 3 1 4 1 1 10 Sw eden 1 4 3 4 2 8 1 3 26 N etherlands 2 12 2 1 1 18 France 1 1 1 7 4 3 1 18 C zech R epu. 1 1 G erm any 3 1 1 2 1 8 Finland 1 1 11 4 2 19 Sw itzerland 1 1 2 C roatia 1 1 1 3 G reece 1 1 2 B elgium 1 1 2 1 5 D enm ark 1 1 2 1 5 TO TAL (AVE 22) 34 27 22 11 13 14 33 24 19 24 23 244 Country of Country of origin origin of the STUDENTS of the STUDENTS 2007 (192 2007 (192 students students , 10 , 10 courses courses , , average average : 19 : 19 students students per per course course ) ) Courses Courses 2005-2007 2005-2007 2006 (243 2006 (243 students, 11 courses, average: 22 students per students, 11 courses, average: 22 students per course) course) Prepared by University of Siena

Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Embed Size (px)

Citation preview

Page 1: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Testing And Tools ForPrint And Imaging Drivers

Page 2: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

OutlineOutline

Basic testing philosophy

Where Microsoft finds bugs

What testing does Microsoft currently do

Microsoft provided test tools

Importance of Debugging

Summary

Page 3: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Basic Print and ImagingTesting Philosophy

Page 4: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Test Device DriversTest Device Drivers

Right amount of QA before you shipFewer bugs for users to find

Lower support costs

Quality not just the responsibility of QA teamNeed good tools for developers

Enable developers to run unit tests

Page 5: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Microsoft InvestmentMicrosoft Investment

Microsoft is interested in the test environment to improve the overall driver ecosystem

Microsoft QA approachInbox driver program

Logo Program

Provide tools for drivers we never see

Driver education on tools and methods

Page 6: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Where Microsoft Finds Bugs and How They’re Triaged

Page 7: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Bug BucketsBug 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

Page 8: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

What Happens if Microsoft Finds a Bug?What Happens if Microsoft Finds a Bug?

Reporting the bugWhat did you see?

What were you expecting?

Exact steps to reproduce

TriageIs it in Microsoft code?

Assign to a developer for investigation

FixDeveloper builds private for test to verify

Ship team decides whether to accept the change to the product

Check in

ResolveFix is verified against live build by testTester who opened original bug is the only person allowed close the issue

Page 9: 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

Page 10: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Microsoft Testing of Printing and Imaging Microsoft Testing of Printing and Imaging Device DriversDevice Drivers

Tool DistributionsWinparty 2005

Used for device and driver testing today

Used for inbox driver check in

Included in upcoming Windows Driver Kit (WDK)

WDKUses WTT Test Shell

Makes it very simple for anyone to run tests and collect results

Page 11: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

What Architectures Are Supported?What Architectures Are Supported?

Tools work on a variety of architecturesx86

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 todayRequired for WOW64 testing

Page 12: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Microsoft Provided Imaging Test ToolsMicrosoft 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

Page 13: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Microsoft Provided Print Test ToolsMicrosoft 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

Page 14: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Importance of Debugging

Page 15: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Increases stability of product

Increases customer satisfaction

Increases tester output

Increases developer output

Lowers cost of development

Lowers cost of testing

Lowers support costs

How Does a Debugging Environment Help?How Does a Debugging Environment Help?

Page 16: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Invest in Your QA ProcessInvest in Your QA Process

Example of testing without debugging:Tester notices applet crashes every few minutes, disregards break

Example with debuggingTester notices applet crashes, creates debugger break

Passed on to developer, developer finds heap corruption ( developer finds code bug )

Fixed before driver is releasedAvoids support costs

Increases stability of product

Avoids customer dissatisfaction

Every single debugger break is a bug to investigate

Page 17: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Kernel vs. Local DebuggingKernel vs. Local Debugging

Easy to set up:Two approaches

User mode debuggingEasy to set up

Lots of cmd windows on screen

Can’t catch kernel-mode bugs

Kernel mode debuggerHarder to set up (separate computer needed)

No visible testing machine effects

Catches kernel-mode bugs

Debugging user mode drivers can be a probleme.g. Spooler context and loading symbols

Page 18: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Debugging ToolsDebugging Tools

PREfast for driversPerformed 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

Page 19: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

AppVerif vs. VerifierAppVerif vs. Verifier

Application Verifier = appverif.exe

Driver Verifier = verifier.exe

Verifier is a kernel-mode driver debugging toolVerifer 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

Page 20: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Good Test Debug SetupGood Test Debug Setup

Development resources to debug a break

User mode or kernel mode debugger

“Clean” test machineMake use of imaging software

Latest debug tools on debugger and test machineWe have a new tool to make debugging set-up easier!

Winparty 2005

Page 21: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Good Test Debug Setup (con’t)Good Test Debug Setup (con’t)

Application Verifier (user mode debugger)SpoolerExplorerWIAIHV spawned processAll test tools

Driver Verifier All installed kernel-mode components

NTSD is the Microsoft standard user-mode debugger

Enable NTSD on spoolerEnable NTSD on WIA serviceEnable NTSD on all IHV-spawned processes

Debugging is for test and development

Page 22: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

PREfast OverviewPREfast Overview

Static code analysis toolRun against source code

Automated tool to find code defectsNot 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

Page 23: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

PREPREffast Overview (con’t)ast Overview (con’t)

Checks for common coding bugsBounds (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!

Page 24: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

PREPREffast Buffer Over-run Exampleast 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

Page 25: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

SummarySummary

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

Page 26: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Call to ActionCall 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

Page 27: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Additional ResourcesAdditional ResourcesCommunity Sites

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.aspWindows Drivers Printing and Networking http://msdn.microsoft.com/chats/windows/windows_022002.asp

Web resourcesWinFXhttp://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 Grouphttp://www.pwg.org WHDC Printing home page: http://www.microsoft.com/whdc/device/print/default.mspxWHDC Still Imaging / WIA home page: http://www.microsoft.com/whdc/device/stillimage/default.mspx

Page 28: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

Additional ResourcesAdditional Resources

E-mailFor developer print questions: prninfo @ microsoft.com

For developer scan questions: wiainfo @ microsoft.com

For developer color questions: mscolor @ microsoft.com

Page 29: Testing And Tools For Print And Imaging Drivers. Outline Basic testing philosophy Where Microsoft finds bugs What testing does Microsoft currently do

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