Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
När ska du börja testa? Börja testa så snart du får kraven för drivrutinen. Börja utforma testfall som verifierar de kritiska kraven. Studier visar att det blir dyrare att hitta och åtgärda defekter i koden ju längre defekterna finns kvar i koden. Det är mindre kostsamt och störande att hitta och åtgärda defekter tidigt i utvecklingscykeln än att hitta defekter när koden har släppts och distribuerats. Att skapa dina testfall tidigt kan också hjälpa dig att hitta problem i din design.
Förslag på testning under utveckling
Använd följande förslag för att testa drivrutinskoden och drivrutinspaketet.
Så här hittar du buggar vid kompileringstillfället:
- Deklarera dina återanropsfunktioner som tillhandahålls av drivrutinen och skicka rutiner med hjälp av funktionsrolltyper. Den här deklarationen hjälper till att förbättra kodanalysens och verifieringsverktygens noggrannhet och testtidens effektivitet. Mer information om hur du deklarerar de funktioner som tillhandahålls av drivrutinen finns i Använda deklarationer av funktionsrolltyp.
- Kompilera koden med hjälp av alternativet Level4 -varningar (/W4). Att åtgärda varningar som kompilatorn upptäcker ökar kvaliteten på drivrutinskoden och hjälper till att eliminera defekter tidigare i utvecklingscykeln.
- Kommentera koden med hjälp av Microsofts källkodsanteckningsspråk (SAL) 2.0. Anteckningarna beskriver hur en funktion använder sina parametrar – de antaganden den gör om dem och de garantier den gör när den är klar. Anteckningarna förbättrar också kodanalysverktygens noggrannhet. Mer information om de drivrutinsspecifika anteckningarna finns i SAL 2.0-anteckningar för drivrutiner.
- Använd verktygen för att verifiera drivrutiner när du utvecklar drivrutinen. Riktlinjer för när du ska använda specifika verifieringsverktyg finns i Analysera en drivrutin med hjälp av verktyg för kodanalys och verifiering.
Så här testar du drivrutinspaketet:
Skapa INF-filen och drivrutinspaketet tidigt i utvecklingsprocessen och använd dem under testningen.
Använd InfVerif-verktyget för att verifiera strukturen och syntaxen för INF-filen och för att diagnostisera INF-filen och andra installationsrelaterade problem.
Använd Inf2Cat-verktyget (med alternativet /nocat ) för att utföra ytterligare INF-filverifiering. Inf2Cat kan kontrollera att filerna som INF-referenserna finns i och placeras i paketkatalogen som INF förväntar sig att de ska vara.
Signera drivrutiner för att underlätta installation och testning av drivrutiner, enligt beskrivningen i Signeringsdrivrutiner under utveckling och test.
Kör DriverInstall-testet som ingår som en del av de grundläggande enhetstester som WDK tillhandahåller. Se Så här testar du en drivrutin vid körning med Hjälp av Visual Studio och Så här väljer och konfigurerar du grundläggande enhetstester. DriverInstall-testet kan köras när drivrutinen har distribuerats till testdatorn. Du kan lägga till DriverInstall-testet i en drivrutinstestgrupp. DriverInstall-testet visas i kategorierna för drivrutinstest under Alla tester\Grundläggande\Enhetsgrunder\DriverInstall.
Felsöka problem med enhetsinstallation genom att använda Enhetshanteraren för att visa systeminformation om drivrutiner och enheter och genom att läsa SetupAPI-loggen. SetupAPI-loggen innehåller information om sekvensen av åtgärder som inträffade under installationen av en enhet eller drivrutin.
Genom att använda Visual Studio och WDK kan du testa och felsöka installation av drivrutinspaket när du distribuerar drivrutinen till en testdator. Mer information finns i Distribuera en drivrutin till en testdator. Välj alternativet Installera och verifiera från distributionsegenskaperna för drivrutinspaketprojekt. När du väljer det här alternativet och anger installationsuppgiften för standarddrivrutinspaketet (möjlig omstart) eller installationsuppgiften för standarddrivrutinens paket (möjlig omstart) läser testet drivrutinens INF-fil och installerar drivrutinen. Testet verifierar sedan att drivrutinen är igång. När testet är klart innehåller det detaljerad information om hur installationen lyckades eller misslyckades. Resultaten visas i Drivrutinstestgrupputforskaren under Drivrutinstestgrupper > drivrutinsinstallation. Uppgiftsnamnet är Standardinstallationsaktivitet för drivrutinspaket.
Testa drivrutinen vid körning:
- Kör de grundläggande enhetstester som WDK innehåller. Se Så här testar du en drivrutin vid körning med Hjälp av Visual Studio och Så här väljer och konfigurerar du grundläggande enhetstester.
- Konfigurera en debugger så att du kan felsöka och avbugga testresultaten. Mer information finns i Komma igång med Windows-felsökning.
- Aktivera drivrutinsverifierare på de testdatorer som du använder för distribution, se Egenskaper för drivrutinsverifierare för drivrutinsprojekt. Välj alternativet DDI-efterlevnadskontroll . Om drivrutinen inte klarar DDI-efterlevnadsgranskning, kör Statisk Drivrutinsverifiering och ange den eller de regler som orsakade felet. Den statiska drivrutinsverifieraren kan hjälpa dig att hitta orsaken till felet i källfilerna.
- Testa drivrutinen och enheten på så många olika maskinvarukonfigurationer som möjligt. Att variera maskinvaran kan hjälpa dig att hitta konflikter mellan enheter och andra fel i enhetsinteraktioner. Du bör till exempel testa din drivrutin och enhet på datorer som har olika processorarkitekturer och på datorer som kör 32-bitars- och 64-bitarsversioner av Windows.
- Testa drivrutinen och enheten i system med flera processorer. Tävlingsförhållanden och andra tidsfel visas på system med flera processorer som annars inte skulle hittas. Se Så här väljer och konfigurerar du grundläggande enhetstester och startparametrar för att testa drivrutiner för stöd för flera processorgrupper.
- Testa din drivrutin och enhet för specifika system- och maskinvaruförhållanden, särskilt gränsförhållanden. Dessa villkor kan till exempel innehålla "D3 hot" och "D3 cold". Kontrollera att drivrutinen och enheten kan återgå korrekt från enhetens energisparläge "D3 hot" (utan att förlora ström) och "D3 cold" (när strömmen tas bort från enheten). Mer information finns i Så här väljer och konfigurerar du grundläggande enhetstester.