Conseils pour tester les pilotes pendant le développement
Quand devez-vous commencer à tester ? Dès que vous avez les exigences pour votre pilote, vous pouvez commencer à concevoir des cas de test pour vérifier que les exigences critiques ont été implémentées. Des études montrent que la recherche et la réparation des défauts dans le code deviennent plus coûteuses, plus les défauts restent dans le code. La recherche et la réparation des défauts au début du cycle de développement sont moins coûteuses et perturbatrices que la recherche de défauts après la publication et la distribution du code. La création précoce de vos cas de test peut également vous aider à trouver des problèmes dans votre conception.
Suggestions de test pendant le développement
Utilisez les suggestions suivantes pour tester votre code de pilote et votre package de pilotes.
Pour vous aider à trouver des bogues au moment de la compilation :
Déclarez vos fonctions de rappel fournies par le pilote et distribuez vos routines à l’aide de types de rôle de fonction. Cela permet d’améliorer la précision des outils d’analyse et de vérification du code, ainsi que l’efficacité de votre temps de test. Pour plus d’informations sur la déclaration de vos fonctions fournies par le pilote, consultez Utilisation des déclarations de type de rôle de fonction.
Compilez votre code à l’aide de l’option Avertissements Level4 (/W4). La correction des avertissements détectés par le compilateur augmentera la qualité du code du pilote et aidera à éliminer les défauts supplémentaires plus tôt dans le cycle de développement.
Annotez votre code à l’aide du langage d’annotation de code source Microsoft (SAL) 2.0. Les annotations décrivent comment une fonction utilise ses paramètres , les hypothèses qu’elle fait à leur sujet et les garanties qu’elle apporte lorsqu’elle se termine. Les annotations améliorent également la précision des outils d’analyse du code. Pour plus d’informations sur les annotations spécifiques au pilote, consultez Annotations SAL 2.0 pour les pilotes.
Utilisez les outils pour vérifier les pilotes pendant que vous développez votre pilote. Pour obtenir des instructions sur l’utilisation d’outils de vérification spécifiques, consultez Analyse d’un pilote à l’aide des outils d’analyse de code et de vérification.
Pour tester votre package de pilotes :
Créez le fichier INF et votre package de pilote au début du processus de développement et utilisez-le tout au long des tests.
Utilisez l’outil InfVerif pour vérifier la structure et la syntaxe du fichier INF, et pour vous aider à diagnostiquer le fichier INF et d’autres problèmes liés à l’installation.
Utilisez l’outil Inf2Cat (avec l’option /nocat ) pour effectuer une vérification supplémentaire du fichier INF. Inf2Cat peut vérifier que les fichiers référencés par l’INF sont présents et placés dans le répertoire du package comme l’inf s’y attend.
Sign drivers pour faciliter l’installation et le test des pilotes, comme décrit dans Signature de pilotes pendant le développement et le test.
Exécutez le test DriverInstall inclus dans les tests device Fundamental fournis dans le WDK. Consultez Comment tester un pilote au moment de l’exécution à l’aide de Visual Studio et Comment sélectionner et configurer les tests fondamentaux des appareils. Le test DriverInstall peut être exécuté une fois que le pilote a été déployé sur l’ordinateur de test. Vous pouvez ajouter le test DriverInstall à un groupe de tests de pilotes. Le test DriverInstall s’affiche dans les catégories de tests de pilotes sous Tous les tests\Basic\Device Fundamentals\DriverInstall.
Résolvez les problèmes d’installation des appareils à l’aide de Gestionnaire de périphériques pour afficher les informations système sur les pilotes et les appareils et en consultant le journal SetupAPI. Le journal SetupAPI contient des informations sur la séquence d’opérations qui se sont produites pendant l’installation d’un périphérique ou d’un pilote.
À l’aide de Visual Studio et du WDK, vous pouvez tester et résoudre les problèmes d’installation du package de pilotes lorsque vous déployez votre pilote sur un ordinateur de test. Consultez Déploiement d’un pilote sur un ordinateur de test. Sélectionnez l’option Installer et vérifier dans propriétés de déploiement pour les projets de package de pilotes. Lorsque vous sélectionnez cette option et spécifiez la tâche d’installation du package de pilotes par défaut (redémarrage possible) ou la tâche d’installation du package du pilote d’imprimante par défaut (redémarrage possible), le test lit le fichier INF du pilote et installe le pilote. Le test vérifie ensuite que le pilote est opérationnel. Une fois terminé, le test fournit des informations détaillées sur la réussite ou l’échec de la tâche d’installation. Les résultats s’affichent dans le groupe de tests de pilotes Explorer, sous Installation du pilote des groupes de > tests de pilotes. Le nom de la tâche est Tâche d’installation du package de pilotes par défaut.
Pour tester votre pilote au moment de l’exécution :
Exécutez les tests de base de l’appareil inclus dans le WDK. Consultez Comment tester un pilote au moment de l’exécution à l’aide de Visual Studio et Comment sélectionner et configurer les tests fondamentaux des appareils.
Configurez un débogueur pour pouvoir résoudre les problèmes et déboguer les résultats des tests. Pour plus d’informations, consultez Prise en main avec le débogage Windows.
Activez Driver Verifier sur les ordinateurs de test que vous utilisez pour le déploiement. Consultez Propriétés du vérificateur de pilotes pour les projets de pilotes. Sélectionnez l’option de vérification de conformité DDI . Si votre pilote échoue à la vérification de la conformité DDI, exécutez Static Driver Verifier et spécifiez la ou les règles qui ont provoqué l’échec. Le vérificateur de pilote statique peut vous aider à localiser la cause du bogue dans vos fichiers sources.
Testez votre pilote et votre appareil sur autant de configurations matérielles différentes que possible. La variation du matériel peut vous aider à trouver des conflits entre des appareils et d’autres erreurs dans les interactions de l’appareil. Par exemple, vous devez tester votre pilote et votre appareil sur des ordinateurs qui ont des architectures de processeur différentes et sur des ordinateurs qui exécutent des versions 32 bits et 64 bits de Windows.
Testez votre pilote et votre appareil sur des systèmes multiprocesseurs. Les conditions de course et d’autres problèmes de minutage apparaissent sur les systèmes multiprocesseurs qui ne seraient pas trouvés autrement. Consultez Comment sélectionner et configurer les tests fondamentaux de l’appareil et lesparamètres de démarrage pour tester les pilotes pour la prise en charge de plusieurs groupes de processeurs.
Testez votre pilote et votre appareil pour des conditions système et matérielles spécifiques, en particulier des conditions de périphérie. Par exemple, ces conditions peuvent inclure « D3 chaud » et « D3 froid ». Assurez-vous que votre pilote et votre appareil peuvent revenir correctement à partir de l’état d’alimentation de l’appareil « D3 chaud » (sans perdre l’alimentation) et « D3 froid » (lorsque l’alimentation est supprimée de l’appareil). Pour plus d’informations, consultez Comment sélectionner et configurer les tests fondamentaux de l’appareil.