DF – Fuzz – Zufälliger FSCTL-Test (Zuverlässigkeit)
Während zufälliger Tests gibt der Fuzz-Test eine Reihe von Aufrufen an die DeviceIoControl-Funktion mit Funktionscodes, Gerätetypen, Datenübertragungsmethoden und Zugriffsanforderungen aus, die zufällig aus einem bestimmten Wertebereich ausgewählt werden. Die Aufrufe umfassen Eingabe- und Ausgabepuffer mit gültigen und ungültigen Pufferzeigern und -längen sowie zufällig generierten Inhalten.
Der Fuzz-Test führt die zufälligen Tests auf allen Geräten durch, die während des Basic Open Test und zusätzlicher Tests geöffnet wurden. Sie können diesen Test mithilfe der folgenden Parameter anpassen:
- Verwenden Sie MinFunctionCode und MaxFunctionCode, um den Bereich der IOCTL- oder FSCTL-Funktionscodes anzugeben, die in den Aufrufen verwendet werden.
- Verwenden Sie MinDeviceType und MaxDeviceType, um den Bereich der Gerätetypen anzugeben, die in den Aufrufen verwendet werden.
- Verwenden Sie SeedNumber, um eine Ausgangszahl für die zufällige Zahl anzugeben, die Routine generiert.
Die Funktion, die der Fuzz-Test verwendet, um Zufallszahlen für den Test zu generieren, verwendet eine Ausgangszahl, eine Startnummer für den Algorithmus zur Generierung von Zufallszahlen. Um die Testbedingungen zu reproduzieren, verwenden Sie den Ausgangszahl-Parameter, um die im ursprünglichen Testversuch verwendete Ausgangszahl anzugeben.
Ein Angepasster Zufallstest ist im Rahmen des zufälligen Tests enthalten. Der angepasste Zufallstest verwendet die Ergebnisse des Zufallstests, um die Reaktion des Treibers auf FSCTL-Anfragen genauer zu untersuchen. Der angepasste Zufallstest untersucht Bereiche, die er übersehen hat, und solche, auf denen der Treiber nicht wie erwartet reagiert hat, basierend auf dem Status, der von den Zufallstestaufrufen zurückgegeben wird.
Binärprüfung: Devfund_FuzzTest.dll Testmethoden: DoRandomFSCTLTest
Testdetails
Spezifikationen |
|
Plattformen |
|
Unterstützte Versionen |
|
Voraussichtliche Laufzeit (in Minuten) | 15 |
Kategorie | Szenario |
Zeitüberschreitung (in Minuten) | 180 |
Neustart erforderlich | false |
Erfordert eine spezielle Konfiguration | true |
Typ | automatic |
Zusätzliche Dokumentation
Tests in diesem Funktionsbereich enthalten möglicherweise zusätzliche Dokumentation, einschließlich Informationen zu Voraussetzungen, Einrichtung und Fehlerbehebung, die in den folgenden Themen zu finden sind:
Ausführen des Tests
Bevor Sie den Test ausführen, vervollständigen Sie die Testeinrichtung wie in den Testanforderungen beschrieben: Device.Fundamentals Reliability Testing Prerequisites.
Problembehandlung
Informationen zur allgemeinen Problembehandlung bei HLK-Testfehlern finden Sie unter Problembehandlung bei Windows HLK-Testfehlern.
Informationen zur Problembehandlung speziell für die Device Fundamentals-Tests im HLK und WDK finden Sie in der zusätzlichen Dokumentation zu Device.DevFund.
Weitere Informationen
Parameter
Parametername | Parameterbeschreibung |
---|---|
DQ | Eine WDTF-SDEL-Abfrage, die verwendet wird, um das/die Zielgerät(e) zu identifizieren - https://go.microsoft.com/fwlink/?LinkId=232678 |
Wpa2PskAesSsid | NUR erforderlich, wenn das DUT oder eines seiner untergeordneten Geräte ein WiFi-Adapter ist. Bitte geben Sie die SSID eines WPA2-AES-WLAN-Netzwerks an, das der Test zum Testen des WLAN-Adapters verwenden kann. Der Standardwert ist ‚kitstestssid‘. |
Wpa2PskPassword | NUR erforderlich, wenn das DUT oder eines seiner untergeordneten Geräte ein WiFi-Adapter ist. Bitte geben Sie das Passwort des WPA2-AES-WLAN-Netzwerks ein, das mit dem Parameter Wpa2PskAesSsid angegeben wurde. Der Standardwert ist ‚Passwort‘. |
ChangeBufferProtectionFlags | Richtig oder falsch. Ändert die Speicherschutzflags von Puffern, die an das getestete Gerät übergeben werden. Die Speicherschutzflags wechseln zwischen keinem Zugriff, schreibgeschütztem Zugriff und schreibgeschütztem Zugriff mit Seitenschutz. |
Impersonate | Richtig oder falsch. Führt den Test als nicht administrativer Benutzer aus. |
FillZeroPageWithNull | Richtig oder falsch. Ordnet die Nullseite zu und füllt sie mit NULL-Werten aus. Dieser Test identifiziert Treiber, die keinen Zeigerverweis überprüfen, bevor ein Zeiger dereferenziert wird. |
DoPoolCheck | Richtig oder falsch. Überwacht die Verwendung der Systemspeicherpools mit und ohne Auslagerung durch den Treiber mithilfe von Pooltags und Lookaside-Listen. Mit dieser Option werden auch Änderungen an der Anzahl der behandelten Ausnahmen überwacht, die auf Fehler bei der Ausnahmebehandlung hinweisen können. |
DoSync | Richtig oder falsch. Öffnet auch Gerätehandles im SYNC-Modus (FILE_SYNCHRONOUS_IO_ALERT). Zufällige Lese- und Schreibvorgänge werden übersprungen. |
TestCycles | Anzahl der Testzyklen. |
DriverVerifierAdditionalDrivers | Zusätzliche Treiber, für die die Treiberüberprüfung aktiviert sein sollte |
DriverVerifierExcludedFlags | Platzhalter für Treiberüberprüfungs-Flags, die manuell für den Testlauf ausgeschlossen werden können |
WDKDeviceID | Geräte-ID des zu testenden Geräts |
QueryHardwareID | Hardware-ID des zu testenden Geräts |
WDTFREMOTESYSTEM | NUR erforderlich, wenn das DUT oder eines seiner untergeordneten Geräte eine kabelgebundene NIC ist, die keine IPv6-Gateway-Adresse hat. Falls erforderlich, geben Sie bitte eine IPv6-Adresse an, die die Test-NIC anpingen kann, um die Netzwerk-E/A zu testen. Beispiel: fe80::78b6:810:9c12:46cd |
DriverVerifierCustomizeConfiguration | Gibt an, dass dieser Test möglicherweise die Treiberüberprüfungseinstellungen automatisch aktualisieren möchte |
MinDeviceType | Gibt den Mindestwert des DeviceType-Felds in den IOCTLs an. Der kleinstmögliche Wert ist 0. Verwenden Sie -1 für die automatische Typerkennung (bevorzugt). |
MaxDeviceType | Gibt den maximalen Wert des DeviceType-Felds in den IOCTLs an. Der größtmögliche Wert ist 65.535. Verwenden Sie -1 für die automatische Typerkennung (bevorzugt). |
MinFunctionCode | Gibt den Mindestwert des FunctionCode-Felds in den FSCTLs an. Der kleinstmögliche Wert ist 0. |
MaxFunctionCode | Gibt den maximalen Wert des FunctionCode-Felds in den FSCTLs an. Der größtmögliche Wert ist 4.095. |
MinInBuffer | Gibt die Mindestgröße der Eingabepuffer in Byte an, die der Test in FSCTLs an den Treiber übergibt. |
MaxInBuffer | Gibt die maximale Größe der Eingabepuffer in Byte an, die der Test in FSCTLs an den Treiber übergibt. |
MinOutBuffer | Gibt die Mindestgröße der Ausgabepuffer in Byte an, die der Test in FSCTLs an den Treiber übergibt. |
MaxOutBuffer | Gibt die maximale Größe der Ausgabepuffer in Byte an, die der Test in FSCTLs an den Treiber übergibt. |
MaxRandomCalls | Gibt die maximale Anzahl von Aufrufen an, die der Test ausgibt. |
MaxTailoredCalls | Gibt die maximale Anzahl von Aufrufen an, die der Test während des angepassten Zufallstests ausgibt. |
SeedNumber | Gibt die Ausgangszahl an, die beim Generieren zufälliger FSCTLs verwendet wird. |