Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Quando è necessario avviare il test? Avvia il test non appena ottieni i requisiti per il driver. Iniziare a progettare test case che verificano i requisiti critici. Gli studi mostrano che diventa più costoso trovare e correggere i difetti nel codice, più a lungo i difetti rimangono nel codice. È meno costoso e problematico trovare e correggere i difetti all'inizio del ciclo di sviluppo piuttosto che individuare i difetti dopo il rilascio e la distribuzione del codice. La creazione dei test case in anticipo consente anche di individuare problemi nella progettazione.
Suggerimenti per i test durante lo sviluppo
Usare i suggerimenti seguenti per testare il codice del driver e il pacchetto driver.
Per facilitare la ricerca di bug in fase di compilazione:
- Dichiara le funzioni di callback fornite dal driver e le routine di dispatch usando i tipi di ruolo delle funzioni. Questa dichiarazione consente di migliorare l'accuratezza degli strumenti di analisi e verifica del codice e dell'efficacia del tempo di test. Per altre informazioni su come dichiarare le funzioni fornite dal driver, vedere Using Function Role Type Declarations.
- Compila il codice usando l'opzione Level4 (/W4) Warnings. Correzione degli avvisi rilevati dal compilatore aumenta la qualità del codice del driver e consente di eliminare i difetti prima del ciclo di sviluppo.
- Annotare il codice usando il linguaggio di annotazione del codice sorgente Microsoft (SAL) 2.0. Le annotazioni descrivono come una funzione usa i relativi parametri, ovvero i presupposti che fa su di essi e le garanzie che rende al termine. Le annotazioni migliorano anche l'accuratezza degli strumenti di analisi del codice. Per altre informazioni sulle annotazioni specifiche del driver, vedere Annotazioni SAL 2.0 per i driver.
- Usare gli strumenti per verificare i driver durante lo sviluppo del driver. Per linee guida su quando usare strumenti di verifica specifici, vedere Analisi di un driver tramite strumenti di analisi del codice e verifica.
Per testare il pacchetto driver:
Creare il file INF e il pacchetto driver all'inizio del processo di sviluppo e usarli durante i test.
Usare lo strumento InfVerif per verificare la struttura e la sintassi del file INF e per diagnosticare il file INF e altri problemi correlati all'installazione.
Usare lo strumento Inf2Cat (con l'opzione /nocat ) per eseguire una verifica aggiuntiva dei file INF. Inf2Cat può verificare che i file a cui l'INF fa riferimento siano presenti e inseriti nella directory del pacchetto, come si aspetta l'INF.
Firmare i driver per facilitare l'installazione e il test dei driver, come descritto in Firma dei driver durante lo sviluppo e il test.
Eseguire il test DriverInstall incluso come parte dei test fondamentali del dispositivo forniti da WDK. Vedere Come testare un driver in fase di esecuzione usando Visual Studioe Come selezionare e configurare i test fondamentali del dispositivo. Il test DriverInstall può essere eseguito dopo la distribuzione del driver nel computer di test. È possibile aggiungere il test DriverInstall a un gruppo di test driver. Il test DriverInstall viene visualizzato nelle categorie di test del driver in Tutti i test\Basic\Device Fundamentals\DriverInstall.
Risolvere i problemi di installazione dei dispositivi usando Gestione dispositivi per visualizzare le informazioni di sistema su driver e dispositivi e consultando il log SetupAPI. Il log SetupAPI contiene informazioni sulla sequenza di operazioni che si sono verificate durante l'installazione di un dispositivo o di un driver.
Usando Visual Studio e WDK, è possibile testare e risolvere i problemi di installazione dei pacchetti driver quando si distribuisce il driver in un computer di test. Per altre informazioni, vedere Distribuzione di un driver in un computer di test. Selezionare l'opzione Installa e verifica nelle proprietà di distribuzione per i progetti del pacchetto driver. Quando si seleziona questa opzione e si specifica l'attività di installazione del pacchetto driver predefinito (possibile riavvio) o l'attività di installazione pacchetto driver stampante predefinita (possibile riavvio), il test legge il file INF del driver e installa il driver. Il test verifica quindi che il driver sia operativo. Al termine, il test fornisce informazioni dettagliate sull'esito positivo o negativo dell'attività di installazione. I risultati vengono visualizzati in Esplora gruppi di test driver, sotto Driver Test Groups > Driver Installation. Il nome dell'attività è "Installazione predefinita del pacchetto driver".
Testare il driver in fase di esecuzione:
- Eseguire i test fondamentali del dispositivo inclusi nel WDK. Vedere Come testare un driver in fase di esecuzione usando Visual Studioe Come selezionare e configurare i test fondamentali del dispositivo.
- Configurare un debugger in modo che sia possibile risolvere i problemi ed eseguire il debug dei risultati del test. Per altre informazioni, vedere Introduzione al debug di Windows.
- Abilitare Driver Verifier nei computer di test usati per la distribuzione, vedere Proprietà del driver verifier per i progetti driver. Selezionare l'opzione Controllo conformità DDI . Se il driver non riesce a controllare la conformità DDI, eseguire Static Driver Verifier e specificare la regola o le regole che hanno causato l'errore. Static Driver Verifier consente di individuare la causa del bug nei file di origine.
- Testare il driver e il dispositivo in tutte le diverse configurazioni hardware possibili. Variando l'hardware è possibile trovare conflitti tra i dispositivi e altri errori nelle interazioni del dispositivo. Ad esempio, è necessario testare il driver e il dispositivo nei computer con architetture del processore diverse e nei computer che eseguono versioni a 32 bit e a 64 bit di Windows.
- Testare il driver e il dispositivo nei sistemi multiprocessore. Le condizioni di gara e altri problemi di temporizzazione si presentano nei sistemi multiprocessore che non si manifesterebbero altrimenti. Vedere Come selezionare e configurare i test fondamentali del dispositivo e i parametri di avvio per testare i driver per il supporto di più gruppi di processori.
- Testare il driver e il dispositivo per specifiche condizioni hardware e di sistema, in particolare condizioni perimetrali. Ad esempio, queste condizioni possono includere "D3 hot" e "D3 cold". Assicurarsi che il driver e il dispositivo possano tornare correttamente dallo stato di alimentazione "D3 hot" (senza perdere alimentazione) e "D3 cold" (quando l'alimentazione viene rimossa dal dispositivo). Per altre informazioni, vedere Come selezionare e configurare i test fondamentali del dispositivo.