DF - Test IOCTL casuale 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 |
|
Piattaforme |
|
Versioni supportate |
|
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 sottoposto a 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ò effettuare il ping per testare l'I/O di rete. Ad esempio: fe80::78b6:810:9c12:46cd |
DriverVerifierCustomizeConfiguration | Specifica che questo test potrebbe voler aggiornare automaticamente le impostazioni di Driver Verifier |
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 IOCTLs. Il valore minimo possibile è 0. |
MaxFunctionCode | Specifica il valore massimo del campo FunctionCode negli IOCTLs. Il valore massimo possibile è 4095. |
MinInBuffer | Specifica le dimensioni minime, in byte, dei buffer di input passati dal test al driver in IOCTLs. |
MaxInBuffer | Specifica le dimensioni massime, in byte, dei buffer di input passati dal test al driver in IOCTLs. |
MinOutBuffer | Specifica le dimensioni minime, in byte, dei buffer di output passati dal test al driver in IOCTLs. |
MaxOutBuffer | Specifica le dimensioni massime, in byte, dei buffer di output passati dal test al driver in IOCTLs. |
MaxRandomCalls | Specifica il numero massimo di chiamate che il test rilascia. |
MaxTailoredCalls | Specifica il numero massimo di chiamate che il test genera durante il test casuale personalizzato. |
SeedNumber | Specifica il numero di inizializzazione usato per la generazione di IOCTL casuali. |