Condividi tramite


DF - Test CASUALE CASUALE PFTL fuzz (affidabilità)

Durante i test casuali, il test Fuzz invia una serie di chiamate alla funzione DeviceIoControl con codici di funzione, tipi di dispositivo, metodi di trasferimento dei dati e requisiti di accesso selezionati in modo casuale da un intervallo di valori specificato. Le chiamate includono buffer di input e output con puntatori e lunghezze del buffer validi e non validi e contenuto generato in modo casuale.

Il test Fuzz esegue i test casuali su tutti i dispositivi aperti durante il test aperto di base e test aperti aggiuntivi. È possibile personalizzare questo test usando i parametri seguenti:

  • Usare MinFunctionCode e MaxFunctionCode per specificare l'intervallo di codici di funzione IOCTL o LAMBDATL usati nelle chiamate
  • Usare MinDeviceType e MaxDeviceType per specificare l'intervallo di tipi di dispositivo usati nelle chiamate
  • Utilizzare SeedNumber per specificare un numero di inizializzazione per la routine di generazione di numeri casuali.

La funzione usata dal test Fuzz per generare numeri casuali per il test usa un numero di inizializzazione, un numero iniziale per l'algoritmo di generazione di numeri casuali. Per riprodurre le condizioni di test, usare il parametro numero di inizializzazione per specificare il numero di inizializzazione usato nella versione di valutazione del test originale.

Un test casuale personalizzato viene incluso come parte del test casuale. Il test casuale personalizzato usa i risultati del test casuale per esaminare in modo più dettagliato la risposta dei driver alle richieste XAMLTL. Le aree di probe di test casuali personalizzate perse dal test casuale e quelle su cui il driver non rispondeva come previsto in base allo stato restituito dalle chiamate di test casuali.

Binario di test: Devfund_FuzzTest.dll Metodi di test: DoRandomFSCTLTest

Dettagli del test

   
Specifiche
  • Device.DevFund.Reliability.BasicReliabilityAndPerformance
  • Device.DevFund.Reliability.BasicSecurity
  • Device.DevFund.DriverFramework.KMDF.Reliability
  • Device.DevFund.DriverFramework.UMDF.Reliability
Piattaforme
  • Windows 10, edizioni client (x86)
  • Windows 10, edizioni client (x64)
  • Windows Server 2016 (x64)
  • Windows 10, edizioni client (Arm64)
  • Windows 10, mobile edition (Arm)
  • Windows 10, mobile edition (Arm64)
Versioni supportate
  • Windows 10
  • Windows 10 versione 1511
  • Windows 10 versione 1607
  • Windows 10 versione 1703
  • Windows 10, versione 1709
  • Windows 10, versione 1803
  • Windows 10, versione 1809
  • Windows 10, versione 1903
  • Eseguire quindi l'aggiornamento a Windows 10
Tempo di esecuzione previsto (in minuti) 15
Categoria Scenario
Timeout (in minuti) 180
Richiede il riavvio false
Richiede una configurazione speciale true
Tipo automatic

 

Documentazione aggiuntiva

I test in questa area di funzionalità potrebbero avere documentazione aggiuntiva, inclusi i prerequisiti, la configurazione e le informazioni sulla risoluzione dei problemi, disponibili negli argomenti seguenti:

Esecuzione del test

Prima di eseguire il test, completare l'installazione dei test come descritto nei requisiti di test: Prerequisiti di test dell'affidabilità Device.Fundamentals.

Risoluzione dei problemi relativi

Per la risoluzione generica degli errori di test HLK, vedere Risoluzione dei problemi di test di Windows HLK.

Per informazioni sulla risoluzione dei problemi specifiche dei test dei concetti fondamentali del dispositivo in HLK e WDK, vedere la documentazione aggiuntiva di Device.DevFund.

Altre informazioni

Parametri

Nome parametro Descrizione dei parametri
DQ Query SDEL WDTF usata per identificare i dispositivi di destinazione: https://go.microsoft.com/fwlink/?LinkId=232678
Wpa2PskAesSsid Obbligatorio SOLO se DUT o uno dei relativi dispositivi figlio è una scheda Wi-Fi. Specificare SSID di una rete Wi-Fi WPA2 AES che il test può usare per testare la scheda Wi-Fi. Il valore predefinito è "kitstestssid".
Wpa2PskPassword Obbligatorio SOLO se DUT o uno dei relativi dispositivi figlio è una scheda Wi-Fi. Specificare la password della rete Wi-Fi WPA2 AES specificata usando il parametro Wpa2PskAesSsid. Il valore predefinito è "password".
ChangeBufferProtectionFlags Vero o Falso. Modifica i flag di protezione della memoria dei buffer passati al dispositivo testato. I flag di protezione della memoria si alternano tra nessun accesso, di sola lettura e di sola lettura con protezione della pagina.
Impersonate Vero o Falso. Esegue il test come utente non amministrativo.
FillZeroPageWithNull Vero o Falso. Esegue il mapping della pagina zero e lo riempie con valori NULL. Questo test identifica i driver che non verificano un riferimento puntatore prima di dereferenziare un puntatore.
DoPoolCheck Vero o Falso. Monitora l'uso del driver dei pool di memoria di sistema di paging e non di paging usando tag del pool e elenchi lookaside. Questa opzione monitora anche le modifiche apportate al numero di eccezioni gestite che potrebbero indicare errori nella gestione delle eccezioni.
DoSync Vero o Falso. Apre anche gli handle di dispositivo in modalità SYNC (FILE_SYNCHRONOUS_IO_ALERT). Le operazioni di lettura e scrittura casuali vengono ignorate.
TestCycles Numero di cicli di test.
DriverVerifierAdditionalDrivers Driver aggiuntivi con Driver Verifier abilitato
DriverVerifierExcludedFlags Segnaposto per i flag di verifica driver che possono essere esclusi manualmente per l'esecuzione del test
WDKDeviceID ID dispositivo sottoposto a test
QueryHardwareID ID hardware del dispositivo in fase di test
WDTFREMOTESYSTEM Obbligatorio SOLO se DUT o uno dei relativi dispositivi figlio è una scheda di interfaccia di rete cablata che non ha un indirizzo gateway IPv6. Se è necessario, specificare un indirizzo IPv6 che la scheda di interfaccia di rete di test può eseguire il ping per testare l'I/O di rete. Eg: fe80::78b6:810:9c12:46cd
DriverVerifierCustomizeConfiguration Specifica che questo test può voler aggiornare automaticamente le impostazioni del verificatore driver
MinDeviceType Specifica il valore minimo del campo DeviceType negli IOCTLs. Il valore minimo possibile è 0. Usare -1 per il rilevamento automatico dei tipi (preferito).
MaxDeviceType Specifica il valore massimo del campo DeviceType negli IOCTLs. Il valore massimo possibile è 65535. Usare -1 per il rilevamento automatico dei tipi (preferito).
MinFunctionCode Specifica il valore minimo del campo FunctionCode negli elenchi FSCTLs. Il valore minimo possibile è 0.
MaxFunctionCode Specifica il valore massimo del campo FunctionCode negli elenchi FSCTLs. Il valore massimo possibile è 4095.
MinInBuffer Specifica le dimensioni minime, in byte, dei buffer di input passati al driver in FSCTLs.
MaxInBuffer Specifica le dimensioni massime, in byte, dei buffer di input passati al driver in FSCTLs.
MinOutBuffer Specifica le dimensioni minime, in byte, dei buffer di output passati al driver in FSCTLs.
MaxOutBuffer Specifica le dimensioni massime, in byte, dei buffer di output passati al driver in FSCTLs.
MaxRandomCalls Specifica il numero massimo di chiamate che i problemi di test.
MaxTailoredCalls Specifica il numero massimo di chiamate che i problemi di test durante il test casuale personalizzato.
SeedNumber È stato specificato il numero di inizializzazione usato per la generazione di dll FSCTL casuali.