Dela via


Så här väljer och konfigurerar du tester för enhetsgrundläggande funktioner

WDK för Windows 8 tillhandahåller ett ramverk för drivrutinstestning som innehåller en uppsättning tester som kallas grundläggande enhetstester. Grundläggande enhetstester är en samling tester som används både internt på Microsoft för att testa drivrutiner och drivrutinsexempel som levereras med Windows och WDK och externt som en del av Windows Certification Program for Hardware. Du kan köra testerna från utvecklingsmiljön. När du kör testerna kan du använda samma parametrar som används för Windows-certifieringstestning, eller så kan du konfigurera och anpassa körningsparametrarna enligt dina testnings- och felsökningsbehov.

Få ut mesta möjliga av grundtesterna för enheter

För att få mest nytta av de grundläggande enhetstesterna måste enheten stödjas av standard-I/O-plugin-program. För att få information om huruvida din enhetstyp stöds och för att avgöra om det finns specifika krav för testning, se de tillhandahållna WDTF Simple I/O-plugin-programmen. De grundläggande enhetstesterna inkluderar också ett verktyg som du kan använda för att testa enheten och se om den stöds. Om enheten inte stöds kan du skapa ett WDTF Simple I/O-plugin-program. i Visual Studio. Mer information finns i Anpassa I/O för din enhet med hjälp av WDTF Simple I/O Action Plug-in.

Om grundläggande enhetstester

WDK tillhandahåller testerna av enhetsgrunder i två konfigurationer: Basic och Certification. I båda konfigurationerna kan du redigera testparametrarna så att de varierar längden på testet, antalet testcykler som ska utföras och andra testparametrar, beroende på hur du vill testa målenheterna eller drivrutinerna. Basic-konfigurationen är avsedd för allmän drivrutin och enhetstestning och felsökning. Använd basic-konfigurationen tidigt och under hela utvecklingscykeln. Testerna i Basic-konfigurationen har samma inställningar som används i Windows-certifieringstesterna, men med en kortare körtid. I certifieringskonfigurationen har testerna samma inställningar som används i Windows-certifieringstestningen. Använd certifieringskonfigurationen för att verifiera beredskapen för att testa enheten eller drivrutinen för Windows-certifieringsprogram för maskinvara.

Testerna för enhetsfundament innehåller tester i följande kategorier.

Ställa in körningstestparametrarna

Du kan redigera körningsparametrarna för många av enhetens grundläggande tester. I fönstret Drivrutinstestgrupp anger en pil (») bredvid ett testnamn att testet har parametrar som du kan ändra. Välj pilen (») för att visa körningsparametrarna.

En av de mest användbara parametrarna är DQ-, som anger vilken målenhet som ska testas. Standardvärdet (IsDevice) testar alla enheter på måldatorn. Parametern DQ tar en WDTF-SDEL- fråga som identifierar målenheterna. Du kan ange en viss enhet för testning, till exempel:

DeviceID='USB\ROOT_HUB\4&1CD5D022&0' väljer endast enheten för testning med angiven DeviceID.

Mer information om DQ och andra körningsparametrar finns i Enhetsgrundläggande testparametrar.

Testparametrar för enhetsgrundprinciper för

Parameter Beskrivning

DQ

Identifierar den enhet eller de enheter som ska användas för testning. Parametern DQ tar en WDTF-SDEL- fråga som identifierar målenheterna. Den här frågan kan vara mycket flexibel och kan användas för att uttrycka valfritt antal enheter, från en enda enhet till alla enheter i systemet.

Vanliga exempel:

Testa alla enheter som har installerats med en specifik INF-fil:

INF::FileName=INF_File_Name

Till exempel INF::OriginalInfFileName='KMDFTest.inf'

Inf::OriginalInFileName kan användas med valfri INF.

Så här testar du en enhet med ett specifikt enhets-ID:

DeviceId='DeviceId'

Till exempel DeviceID='USB\ROOT_HUB\4&1CD5D022&0'

Så här testar du en enhet med ett specifikt gränssnitt:

-gränssnitt::InterfaceGUID

Så här testar du en enhet med en specifik drivrutinsbokstav:

Volume::DriverLetter=DriveLetter

Till exempel Volume::DriverLetter='c:\'

Så här testar du en enhet med en specifik drivrutin:

DriverBinaryNames=mydriver.sys

Där KMDFTest.inf är den inf som används för att installera drivrutinen. Du kan också rikta in dig på de enheter som använder KMDFTest.sys drivrutin.

(DriverBinaryNames='KMDFTest.sys') fungerar korrekt.

När du har angett SDEL korrekt bör du se följande utdata i konsolen när du kör ett test.

WDTF_TARGETS : INFO : - Query("IsDevice AND ((Inf::OriginalInfFileName='KMDFTest.inf'))") WDTF_TARGETS : INFO : Mål: KMDFTest Enhet ROOT\SAMPLE\0000 WDTF_TEST : INFO : VARNING: Testet framtvingar inte att drivrutinsverifieraren är aktiverad. WDTF_TEST : INFO : Drivrutinsverifierare (DV) är aktiverad med flagga:=0x209bb WDTF_TEST : INFO : Drivrutinsverifieraren (DV) har framgångsrikt aktiverats för alla drivrutiner för denna enhetsnod (UniqueTargetName):=KMDFTest Enhet ROOT\SAMPLE\0000 WDTF_TARGET : INFO : - GetInterface("Support") WDTF_TARGET : INFO : Mål: DESKTOP-2OVFH3G WDTF_TARGETS : INFO : - Query("IsDevice") WDTF_TARGETS : INFO : Mål: KMDFTest Enhet ROOT\SAMPLE\0000 WDTF_TARGETS : INFO : - GetRelations("below-or-self/", "IsDevice") WDTF_TARGETS : INFO : Mål: KMDFTest Enhet ROOT\SAMPLE\0000 WDTF_TARGETS : INFO : - GetInterfacesIfExist("SimpleIOStressProc") WDTF_SIMPLE_IO : INFO : - För Mål:KMDFTest Enhet ROOT\SAMPLE\0000 hittades inget enkelt IO-gränssnitt. WDTF_SIMPLE_IO : INFO : – För Mål:KMDFTest Enhet ROOT\SAMPLE\0000 kommer WDTF använda ALLA enkla IO-gränssnitt.

Mer information finns i konfigurations- och loggfiler för bifogade filer. WDTF_TARGETS : INFO : Target: KMDFTest Device ROOT\SAMPLE\0000 WDTF_TEST : INFO : Utför 1 cykel(er) av I/O-avslutningstestet WDTF_TEST : INFO : I/O-avslutningscykel #1 WDTF_SIMPLEIO_STRESS_PROC : INFO : - StartAsync(KMDFTest Device ROOT\SAMPLE\0000 ) WDTF_SIMPLEIO_STRESS_PROC : INFO : - WaitAsyncCompletion(KMDFTest Device ROOT\SAMPLE\0000 ) WDTF_SIMPLE_IO : INFO : - För Target: KMDFTest Device ROOT\SAMPLE\0000 hittades inget Simple IO-gränssnitt. WDTF_SIMPLE_IO : INFO : - För Target: KMDFTest Device ROOT\SAMPLE\0000 kommer WDTF att använda vilket som helst enkelt IO-gränssnitt. WDTF_SIMPLE_IO : INFO : - Open(KMDFTest Device ROOT\SAMPLE\0000 ) Försöksantal 1 WDTF_SUPPORT : INFO : - WaitForMinutes : 1 WDTF_SIMPLE_IO : INFO : - PerformIO(KMDFTest Device ROOT\SAMPLE\0000 ) Antal 1 WDTF_SIMPLEIO_STRESS_PROC : INFO : - Terminate(KMDFTest Device ROOT\SAMPLE\0000 ) process

Så här testar du alla enheter i en specifik enhetsklass:

Till exempel skulle Class=CDROM testa alla enheter av klassen CD-ROM.

Till exempel skulle ClassGUID= {36fc9e60-c465-11cf-8056-444553540000} testa alla enheter vars klass-GUID matchar det angivna GUID:t. I det här fallet är GUID för USB-klassen.

DoPoolCheck

Sant eller Falskt. Övervakar förarens användning av de sidaindelade och icke-sidaindelade systemminnespoolerna med hjälp av pooltaggar och lookaside-listor. Det här alternativet övervakar också ändringar i antalet undantag som hanteras, vilket kan tyda på fel vid undantagshantering.

ChangeBufferProtectionFlags

Sant eller Falskt. Ändrar minnesskyddsflaggor för buffertar som skickas till den testade enheten. Minnesskyddsflaggorna växlar mellan ingen åtkomst, endast läsbar och endast läsbar med sidskydd.

DoSimpleIO

Sant eller Falskt. Kör SimpleI/O (om det hittas) på testenheter före och efter PNP-åtgärder.

DoConcurrentIO

Sant eller Falskt. Använder WDTF- samtidiga I/O-gränssnitt för att skicka I/O-begäranden till målenhetsstackar när PnP-åtgärder utförs.

FyllZeroPageMedNull

Sant eller Falskt. Mappar nollsidan och fyller den med NULL-värden. Det här testet identifierar drivrutiner som inte verifierar en pekarreferens innan de derefererar pekaren.

FuzzTestPeriod

Fuzz-testperiod i minuter.

HPU

Anger den höga processoranvändningsprocenten.

imitera

Sant eller Falskt. Kör testet som en användare utan administratörsbehörighet.

IOPeriod

Anger I/O-perioden i minuter.

IOType

Anger typen av I/O-stresstest: SimpleIOStressEx eller SimpleIOStressProc (I/O i en separat process).

LPU

Anger den låga processoranvändningsprocenten

MaxInBuffer

Anger den maximala storleken i byte för de indatabuffertar som testet skickar till drivrutinen i FSCTLs (eller IOCTLs för IOCTL-tester).

MinInBuffer

Anger minsta storlek i byte för de indatabuffertar som testet skickar till drivrutinen i FSCTLs (eller IOCTLs för IOCTL-tester).

MaxOutBuffer

Anger den maximala storleken i byte för de utdatabuffertar som testet skickar till drivrutinen i FSCTLs (eller IOCTLs för IOCTL-tester).

MinOutBuffer

Anger den minsta storleken i byte för de utdatabuffertar som testet skickar till drivrutinen i FSCTLs (eller IOCTLs för IOCTL-tester).

MaxRandomCalls

Anger det maximala antalet anrop som testet har problem med.

MaxTailoredCalls

Anger det maximala antalet anrop som testet har problem med under det skräddarsydda slumpmässiga testet.

MaxDeviceType

Anger det maximala värdet för fältet DeviceType i FSCTLs (eller IOCTLs för IOCTL-tester). Det högsta möjliga värdet är 65535.

MinDeviceType

Anger det minsta värdet för fältet DeviceType i FSCTLs (eller IOCTLs för IOCTL-tester). Det minsta möjliga värdet är 0.

MaxFunctionCode

Anger det maximala värdet för fältet FunctionCode i FSCTLs (eller IOCTLs för IOCTL-tester). Det maximala möjliga värdet är 4 095.

MinFunctionCode

Anger det minsta värdet för fältet FunctionCode i FSCTLs (eller IOCTLs för IOCTL-tester). Det minsta möjliga värdet är 0.

PU

Anger procentandelen processoranvändning

PingPongPeriod

Anger pingisperioden i minuter; tiden då processorn växlar mellan hög (HPU) och låg (LPU) processoranvändningsnivå.

ÅterupptaFördröjning

Fördröjningstiden (i sekunder) efter att datorn återupptas från viloläge och innan nästa I/O-cykel startar. Fördröjningstiden är nödvändig för att enheterna ska kunna återställa sitt arbetstillstånd (förnya IP-adressen för nätverkskortet och så vidare).

Testcykler

Anger antalet testcykler (iterationer) som ska utföras.

WDTFREMOTESYSTEM

Den här parametern krävs endast om enheten som testas, eller någon av dess underordnade enheter, är ett kabelanslutet nätverkskort som inte har någon IPv6-gatewayadress. Om den här parametern krävs i nätverket måste du ange en IPv6-adress som testnätverkskortet kan pinga för att testa nätverket.

Exempel: fe80::78b6:810:9c12:46cd

Wpa2PskAesSsid

Den här parametern krävs endast om enheten som testas eller någon av dess underordnade enheter är en WiFi-adapter. Ange SSID för ett WPA2 AES WiFi-nätverk som testet kan använda för att testa WiFi-adaptern.

Standardvärde: kitstestssid

Wpa2PskPassword

Den här parametern krävs endast om enheten som testas eller någon av dess underordnade enheter är en WiFi-adapter. Ange lösenordet för WPA2 AES WiFi-nätverket som anges med hjälp av parametern Wpa2PskAesSsid.

Standardvärde: lösenord

Nyttotester

Test Beskrivning

Visa enheter som har WDTF Simple I/O-plugins

parametrar: Ingen

Visa enheter som har drivrutinsverifieraren aktiverad

parametrar: Ingen

Bildskärmsenheter

parametrar: Ingen

Verifierare för drivrutiner

Test Beskrivning

Inaktivera drivrutinsverifierare

Inaktiverar drivrutinsverifierare på testdatorn.

parametrar: Ingen

Aktivera drivrutinsverifierare

Du kan använda det här testet för att aktivera drivrutinsverifierare för alla drivrutiner för en enhet (eller enheter) på testdatorn.

Parametrar: – Se Alternativ för Verifiering av drivrutin.