⭐⭐ Rejoignez-nous au SNIA SDC pour le SMB3 IO Lab (28 septembre - 1er octobre 2026), consultez les prochains événements d'interopérabilité
Les Suites de tests de protocoles Windows fournissent des tests d'interopérabilité par rapport à l'implémentation des spécifications ouvertes Windows, notamment les services de fichiers, la gestion des identités, le bureau à distance, etc.
Développées à l'origine pour les tests internes des spécifications ouvertes Microsoft, les suites de tests de protocoles Microsoft ont été largement utilisées lors des Plugfests et des laboratoires d'interopérabilité pour tester les implémentations des partenaires. Une suite de tests évalue si une implémentation de protocole ou de famille de protocoles répond à certaines exigences d'interopérabilité. Les suites de tests ne couvrent pas toutes les exigences d'un protocole et ne certifient en aucun cas une implémentation, même si tous les tests réussissent. Cependant, chaque suite de tests fournit aux utilisateurs une indication utile de l'interopérabilité.
Les suites de tests de protocoles Windows contiennent les composants suivants :
Les Suites de tests de protocoles Windows sont basées sur .NET, elles peuvent donc être développées et exécutées sur différentes plateformes. Vous devez installer les logiciels listés ci-dessous en fonction de votre objectif de test, y compris leurs propres dépendances.
.NET et composants associés
a. Pour Windows, Linux et macOS, installez le SDK .NET 8.0 pour compiler ou exécuter les suites de tests.
b. Pour ceux qui travaillent sous Windows et préfèrent un IDE, installez Visual Studio 2022 ou une version ultérieure (Visual Studio 2022 Community recommandé), ainsi que ces composants individuels depuis l'installateur :
| Section | Composant individuel dans Visual Studio 2022 | Exécuter les suites de tests de protocoles Windows | Compiler les suites de tests de protocoles Windows à partir du code source |
|---|---|---|---|
| .NET | .NET SDK | Requis | Requis |
| Compilateurs, outils de build et runtime | Compilateurs C# et Visual Basic Roslyn | Requis | |
| Compilateurs, outils de build et runtime | MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest) | Requis1 | |
| Compilateurs, outils de build et runtime | Prise en charge C++/CLI pour les outils de build v143 (Latest) | Requis1 | |
| Compilateurs, outils de build et runtime | C++ 2022 Redistributable Update | Requis1 | Requis1 |
| Activités de développement | Fonctionnalités principales C++ | Requis1 | |
| SDK, bibliothèques et frameworks | Windows 10 SDK (10.0.19041.0) | Requis1 |
Remarque :
[1] : Ce composant individuel est requis par ADFamily et MS-SMBD qui contiennent du code C++.
Protocol Test Framework v2.6 (build 2.6.1)
Protocol Test Framework est référencé par les projets de ProtoSDK et TestSuites en tant que packages NuGet.
Depuis NetworkDirect_DDK.zip, extrayez ndspi.h et ndstatus.h dans le chemin de projet ProtoSDK\RDMA\include. Cela sert à compiler la suite de tests SMBD.
Ceci n'est requis que lorsque l'utilisateur souhaite utiliser PowerShell Core Remoting over SSH.
Ceci n'est requis que lorsque l'utilisateur souhaite utiliser PowerShell Core Remoting over SSH pour la plateforme Windows.
Ceci n'est requis que lorsque l'utilisateur souhaite utiliser l'implémentation PowerShell sur Windows Server 2012R2 pour ISutCommonControlAdapter dans CommonTestSuite.ptfconfig.
a. Si vous choisissez l'implémentation PowerShell pour ISutCommonControlAdapter dans un environnement de domaine où le DC exécute Windows Server 2012R2, afin d'obtenir le SID depuis le DC, vous devez installer WMF 5.1 sur le DC ; pour les autres versions de Windows Server plus récentes que Windows Server 2012R2, vous n'avez pas besoin d'installer WMF 5.1 sur le DC.
b. Si vous choisissez l'implémentation PowerShell pour ISutCommonControlAdapter sur les plateformes Windows (y compris Windows Server 2012R2 et les versions plus récentes) dans un environnement de groupe de travail, vous n'avez pas besoin d'installer WMF 5.1 sur le SUT.
c. Si vous choisissez l'implémentation managée pour ISutCommonControlAdapter sur les plateformes Windows (y compris Windows Server 2012R2 et les versions plus récentes), elle utilisera des requêtes LDAP pour obtenir le SID et ne prend en charge que l'environnement de domaine.
Si vous travaillez sous Windows, vous pouvez utiliser le script dans le dossier InstallPrerequisites pour télécharger et installer automatiquement ces logiciels.
Conseils lors de l'utilisation du script dans le dossier InstallPrerequisites :
Le script nécessite une connectivité Internet pour télécharger certaines dépendances.
Le paramètre Category est utilisé pour spécifier quel ensemble d'outils doit être téléchargé et installé, en fonction des différents noms de suites de tests, tels que FileServer, Kerberos, SMBD, RDP, BranchCache, ADFamily, AZOD, ADFSPIP et ADOD. Les catégories sont définies dans PrerequisitesConfig.xml et vous pouvez mettre à jour ce fichier de configuration pour répondre à vos besoins.
Le paramètre ConfigPath est utilisé pour spécifier le chemin du fichier de configuration des prérequis, la valeur par défaut est « .\PrerequisitesConfig.xml ».
Pour exécuter le script pour la suite de tests FileServer, par exemple, ouvrez Windows PowerShell et exécutez les commandes ci-dessous dans la fenêtre PowerShell :
cd WindowsProtocolTestSuites\InstallPrerequisites
.\InstallPrerequisites.ps1 -Category FileServer -ConfigPath ".\PrerequisitesConfig.xml"
Set-ExecutionPolicy RemoteSigned
Vous pouvez exécuter la commande ci-dessous pour vérifier si la Execution Policy est correctement définie :
Get-ExecutionPolicy
Puis relancez le script.
Après avoir cloné une copie de ce dépôt, vous pouvez exécuter build.ps1 dans PowerShell ou build.sh dans un shell pour chaque suite de tests séparément, après avoir installé tous les logiciels requis pour la compilation listés dans Prérequis.
Par exemple, si vous souhaitez compiler la suite de tests FileServer :
cd WindowsProtocolTestSuites\TestSuites\FileServer\src
build.ps1
Une fois la compilation réussie, la structure de dossiers commune doit être générée dans le dossier WindowsProtocolTestSuite\drop\TestSuites\[TestSuiteName]\.
Bin : tous les binaires compilés, y compris ProtoSDK, les adaptateurs et les suites de tests.Batch : fichiers batch (.ps1, .sh) qui peuvent être utilisés pour lancer les tests.Scripts : scripts qui peuvent être utilisés pour configurer l'environnement de test.Utils : quelques utilitaires qui peuvent être utilisés dans les tests.Alternativement, vous pouvez télécharger l'archive précompilée de la suite de tests depuis Releases.
Avant d'exécuter une suite de tests, vous devez effectuer l'une des actions suivantes :
Sur macOS, la suite de tests FileServer utilise les classes AesCcm et AesGcm qui nécessitent OpenSSL. Donc, s'il n'y a pas OpenSSL 1.1 sur votre macOS, veuillez installer OpenSSL 1.1 et définir la variable d'environnement comme suit avant d'exécuter la suite de tests FileServer sur macOS,
brew install [email protected]
export DYLD_LIBRARY_PATH="/usr/local/opt/[email protected]/lib:$DYLD_LIBRARY_PATH"
Remarque :
brew n'est pas installé sur votre macOS, vous pouvez l'installer conformément à brew.DYLD_LIBRARY_PATH ou non. Une fois OpenSSL 1.1 installé sur votre macOS, l'emplacement de la bibliothèque crypto est /usr/local/Cellar/[email protected]/1.1.1m/lib/libcrypto.1.1.dylib et /usr/local/opt/openssl pointe par défaut vers le répertoire /usr/local/Cellar/[email protected]/1.1.1m.Dans le dossier Batch situé à la racine de la suite de tests, plusieurs scripts sont disponibles pour lancer les tests.
Exécuter tous les cas de test
Exécutez RunAllTestCases.ps1 dans PowerShell, ou RunAllTestCases.sh dans un shell directement.
Exécuter des cas de test par filtres
Exécutez RunTestCasesByFilter.ps1 -Filter [votre expression de filtre] dans PowerShell, ou RunTestCasesByFilter.sh [votre expression de filtre] dans un shell directement.
Par exemple, vous pouvez exécuter la commande ci-dessous si vous souhaitez exécuter les cas de test avec la catégorie de test BVT et SMB311 :
RunTestCasesByFilter.sh "TestCategory=BVT&TestCategory=SMB311"
Pour plus d'informations sur la construction de l'expression de filtre, vous pouvez consulter Détails de l'option de filtre.
Exécution à blanc
Si vous souhaitez lister les cas de test avant de les exécuter réellement, vous pouvez ajouter le commutateur -DryRun aux scripts .ps1 ou passer une chaîne non vide comme dernier argument aux scripts .sh.
Par exemple, vous pouvez exécuter la commande ci-dessous si vous souhaitez lister les cas de test avec la catégorie de test BVT et SMB311 :
RunTestCasesByFilter.sh "TestCategory=BVT&TestCategory=SMB311" "list"
Protocol Test Manager Service (PTMService) est un outil applicatif web sur une seule page qui vous aide à configurer et exécuter les cas de test dans les suites de tests. PTMService prend en charge plusieurs plateformes, notamment Windows, Linux et macOS. Pour démarrer avec PTMService, vous pouvez consulter le Wiki PTMService.
Pour les configurations FileServer, le paramètre PTM UI Enable Parallel Test Execution correspond à la propriété .ptfconfig pleinement qualifiée Common.PTF.LogProfileParserPatch.Enabled. Définissez-la sur true pour activer l'exécution parallèle par étapes au sein d'une exécution de test FileServer.
Vous pouvez configurer l'environnement de test et la suite de tests conformément à son Guide d'utilisation.
Chaque suite de tests possède son propre Guide d'utilisation dans le dossier WindowsProtocolTestSuites\TestSuites\[TestSuiteName]\docs.
Il existe deux autres types de documents dans le même dossier :
Vous pouvez trouver le guide de contribution ici.
Les suites de tests de protocoles Windows sont sous licence MIT.
Les ressources suivantes concernent les actualités, les discussions et le support des suites de tests de protocoles Windows :
Ce projet a adopté le Code de conduite open source de Microsoft. Pour plus d'informations, consultez la FAQ sur le code de conduite ou contactez [email protected] pour toute question ou commentaire supplémentaire.