
WindowsProtocolTestSuites v4.26.9.0
⭐⭐ Únete a nosotros en SNIA SDC para el SMB3 IO Lab (28 de septiembre - 1 de octubre de 2026), consulta los próximos Eventos de Interoperabilidad
Suites de Pruebas de Protocolos de Windows
Windows Protocol Test Suites proporciona pruebas de interoperabilidad contra la implementación de las especificaciones abiertas de Windows, incluyendo Servicios de Archivos, Gestión de Identidades, Escritorio Remoto, etc.
Originalmente desarrolladas para pruebas internas de las Especificaciones Abiertas de Microsoft, las Suites de Pruebas de Protocolos de Microsoft se han utilizado ampliamente durante Plugfests y laboratorios de interoperabilidad para probar contra implementaciones de socios. Una Suite de Pruebas evalúa si una implementación de un protocolo o familia de protocolos cumple ciertos requisitos de interoperabilidad. Las Suites de Pruebas no cubren todos los requisitos de un protocolo y de ninguna manera certifican una implementación, incluso si todas las pruebas pasan. Sin embargo, cada suite de pruebas proporciona a los usuarios una indicación útil de interoperabilidad.
- File Server Family Test Suite. Está diseñada para probar implementaciones de la familia de protocolos de servidor de archivos, incluyendo [MS-SMB2], [MS-DFSC], [MS-SWN], [MS-FSRVP], [MS-FSA], [MS-FSCC], [MS-RSVD] y [MS-SQOS]. Para comenzar con la suite de pruebas de File Server, puede consultar la File Server Test Suite User Guide. Para crear un entorno de prueba de Azure desechable, utilice el File Server Azure automated deployment.
- RDP Client Family Test Suite. Proporciona pruebas de interoperabilidad para la implementación del cliente de la familia de protocolos RDP, incluyendo [MS-RDPBCGR], [MS-RDPEDISP], [MS-RDPEDYC], [MS-RDPEGFX], [MS-RDPEGT], [MS-RDPEI], [MS-RDPEMT], [MS-RDPEUDP], [MS-RDPEUSB], [MS-RDPEVOR] y [MS-RDPRFX]. Para comenzar con la suite de pruebas de RDP Client, puede consultar la RDP Client Test Suite User Guide
- RDP Server Family Test Suite. Proporciona pruebas de interoperabilidad para la implementación del servidor de la familia de protocolos RDP, incluyendo [MS-RDPBCGR], [MS-RDPEDYC], [MS-RDPEMT] y [MS-RDPELE]. Para comenzar con la suite de pruebas de RDP Server, puede consultar la RDP Server Test Suite User Guide
- Kerberos Server Test Suite. Está diseñada para probar implementaciones de servidor de los protocolos Kerberos, incluyendo [MS-KILE], [MS-KKDCP] y [MS-PAC]. Para comenzar con la suite de pruebas de Kerberos Server, puede consultar la Kerberos Server Test Suite User Guide
- SMBD Server Test Suite. Está diseñada para probar las implementaciones del protocolo directo (RDMA) SMB2&3, según lo especificado en [MS-SMBD] y [MS-SMB2]. Para comenzar con la suite de pruebas de SMBD Server, puede consultar la SMBD Server Test Suite User Guide
- Branch Cache Test Suite. Está diseñada para probar las implementaciones del protocolo [MS-PCCRTP], [MS-PCCRR], [MS-PCHC] y [MS-PCCRC]. Para comenzar con la suite de pruebas de Branch Cache, puede consultar la Branch Cache Test Suite User Guide
- AZOD Test Suite. Está diseñada para probar las implementaciones del protocolo [MS-AZOD]. Para comenzar con la suite de pruebas de AZOD, puede consultar la AZOD Test Suite User Guide
- ADFamily Test Suite. Está diseñada para probar las implementaciones de los protocolos de Active Directory, incluyendo [MS-ADA1], [MS-ADA2], [MS-ADA3], [MS-ADLS], [MS-ADSC], [MS-ADTS], [MS-APDS], [MS-DRSR], [MS-FRS2], [MS-LSAD], [MS-LSAT], [MS-SAMR] y [MS-NRPC]. Para comenzar con la suite de pruebas de ADFamily, puede consultar la ADFamily Test Suite User Guide
- ADFSPIP Client Test Suite. Está diseñada para probar las implementaciones de la integración de ADFS Proxy y Web Application Proxy, como se describe en [MS-ADFSPIP]. Para comenzar con la suite de pruebas de ADFSPIP Client, puede consultar la ADFSPIP Client Test Suite User Guide
- ADOD Test Suite. Está diseñada para probar las implementaciones del protocolo [MS-ADOD]. Para comenzar con la suite de pruebas de ADOD, puede consultar la ADOD Test Suite User Guide
- XCA Test Suite. Está diseñada para probar las implementaciones del protocolo [MS-XCA]. Para comenzar con la suite de pruebas de XCA, puede consultar la XCA Test Suite User Guide
- WSP Test Suite. Está diseñada para probar las implementaciones del protocolo [MS-WSP]. Para comenzar con la suite de pruebas de WSP, puede consultar la WSP Test Suite User Guide
Componentes
Windows Protocol Test Suites contiene los siguientes componentes:
- CommonScripts. Scripts comunes utilizados por cada suite de pruebas. Normalmente se utilizan para desplegar el entorno.
- ProtoSDK. La biblioteca de protocolos utilizada por cada suite de pruebas. Proporciona las estructuras de datos de los mensajes del protocolo, los métodos para codificar y decodificar los mensajes, los métodos para enviar y recibir mensajes, etc.
- TestSuites. Todo el código y los documentos de las Suites de Pruebas se guardan aquí y se clasifican por carpeta que representa cada suite de pruebas.
- ProtocolTestManager. Una herramienta para ayudarle a configurar y ejecutar las suites de pruebas.
Requisitos previos
Windows Protocol Test Suites se basa en .NET, por lo que pueden desarrollarse y ejecutarse en diferentes plataformas. Debe instalar el software que se indica a continuación según su propósito de prueba, incluyendo sus propias dependencias.
-
.NET y componentes relacionados
a. Para Windows, Linux y macOS, instale .NET 8.0 SDK para compilar o ejecutar las suites de pruebas.
b. Para aquellos que trabajan en Windows y prefieren un IDE, instale Visual Studio 2022 o superior (se recomienda Visual Studio 2022 Community), junto con estos componentes individuales del instalador:
Sección Componente individual en Visual Studio 2022 Ejecutar Windows Protocol Test Suites Compilar Windows Protocol Test Suites desde el código fuente .NET .NET SDK Requerido Requerido Compiladores, herramientas de compilación y tiempo de ejecución Compiladores C# y Visual Basic Roslyn Requerido Compiladores, herramientas de compilación y tiempo de ejecución MSVC v143 - Herramientas de compilación C++ x64/x86 de VS 2022 (más reciente) Requerido1 Compiladores, herramientas de compilación y tiempo de ejecución Compatibilidad con C++/CLI para las herramientas de compilación v143 (más reciente) Requerido1 Compiladores, herramientas de compilación y tiempo de ejecución Actualización redistribuible de C++ 2022 Requerido1 Requerido1 Actividades de desarrollo Características principales de C++ Requerido1 SDKs, bibliotecas y marcos de trabajo Windows 10 SDK (10.0.19041.0) Requerido1 Nota:
[1]: Este componente individual es requerido por ADFamily y MS-SMBD, que tienen código C++.
-
Protocol Test Framework v2.6 (build 2.6.1)
Protocol Test Framework es referenciado por los proyectos de ProtoSDK y TestSuites como paquetes NuGet.
-
Desde
NetworkDirect_DDK.zipextraigandspi.hyndstatus.hen la ruta del proyectoProtoSDK\RDMA\include. Esto es para compilar la suite de pruebas SMBD. -
Esto solo es necesario cuando el usuario desea utilizar PowerShell Core Remoting over SSH.
-
Esto solo es necesario cuando el usuario desea utilizar PowerShell Core Remoting over SSH para la plataforma Windows.
-
Esto solo es necesario cuando el usuario desea utilizar la implementación de PowerShell en Windows Server 2012R2 para ISutCommonControlAdapter en CommonTestSuite.ptfconfig.
a. Si elige la implementación de PowerShell para ISutCommonControlAdapter en un entorno de dominio donde el DC ejecuta Windows Server 2012R2, para obtener el SID del DC, necesita instalar WMF 5.1 en el DC; para otras versiones de Windows Server más recientes que Windows Server 2012R2, no necesita instalar WMF 5.1 en el DC.
b. Si elige la implementación de PowerShell para ISutCommonControlAdapter en plataformas Windows (incluyendo Windows Server 2012R2 y versiones más recientes) en un entorno de grupo de trabajo, no necesita instalar WMF 5.1 en el SUT.
c. Si elige la implementación administrada para ISutCommonControlAdapter en plataformas Windows (incluyendo Windows Server 2012R2 y versiones más recientes), utilizará consultas LDAP para obtener el SID y solo admite entornos de dominio.
Si trabaja en Windows, puede utilizar el script de la carpeta InstallPrerequisites para descargar e instalar automáticamente este software.
Consejos al utilizar el script de la carpeta InstallPrerequisites:
-
El script requiere conectividad a Internet para descargar algunas dependencias.
-
El parámetro Category se utiliza para especificar qué conjunto de herramientas debe descargarse e instalarse, según los diferentes nombres de suites de pruebas, como
FileServer,Kerberos,SMBD,RDP,BranchCache,ADFamily,AZOD,ADFSPIPyADOD. Las categorías se definen en PrerequisitesConfig.xml y puede actualizar este archivo de configuración para lograr el requisito deseado. -
El parámetro ConfigPath se utiliza para especificar la ruta del archivo de configuración de requisitos previos; el valor predeterminado es ".\PrerequisitesConfig.xml".
-
Para ejecutar el script de la suite de pruebas FileServer, por ejemplo, abra Windows PowerShell y ejecute los comandos siguientes en la ventana de PowerShell:
cd WindowsProtocolTestSuites\InstallPrerequisites
.\InstallPrerequisites.ps1 -Category FileServer -ConfigPath ".\PrerequisitesConfig.xml"
- Si encuentra errores sobre la Execution Policy, asegúrese de ejecutar Windows PowerShell como Administrador, y escriba lo siguiente y pulse Intro:
Set-ExecutionPolicy RemoteSigned
Puede ejecutar el comando siguiente para verificar si la Execution Policy está configurada correctamente:
Get-ExecutionPolicy
Luego vuelva a ejecutar el script.
Compilación
Después de clonar una copia de este repositorio, puede ejecutar build.ps1 en PowerShell o build.sh en shell para cada suite de pruebas por separado después de haber instalado todo el software necesario para la compilación indicado en Requisitos previos.
Por ejemplo, si desea compilar la suite de pruebas FileServer:
cd WindowsProtocolTestSuites\TestSuites\FileServer\src
build.ps1
Una vez que la compilación se realice correctamente, la estructura de carpetas común debería generarse en la carpeta WindowsProtocolTestSuite\drop\TestSuites\[TestSuiteName]\.
Bin: todos los binarios compilados, incluyendo ProtoSDK, adaptadores y suites de pruebas.Batch: archivos por lotes (.ps1, .sh) que pueden utilizarse para lanzar las pruebas.Scripts: scripts que pueden utilizarse para configurar el entorno de pruebas.Utils: algunas utilidades que pueden utilizarse en las pruebas.
Alternativamente, puede descargar el archivo de la suite de pruebas precompilada desde Releases.
Ejecución
Antes de ejecutar una suite de pruebas, debe hacer una de las siguientes cosas:
- Descargar el archivo de la suite de pruebas que desea ejecutar desde Releases y extraerlo en alguna ruta a la que tenga acceso.
- Compilar la suite de pruebas según Compilar una suite de pruebas.
En macOS, la suite de pruebas FileServer utiliza las clases AesCcm y AesGcm, que requieren OpenSSL, por lo que si no hay OpenSSL 1.1 en su macOS, instale OpenSSL 1.1 y configure la variable de entorno como se indica a continuación antes de ejecutar la suite de pruebas FileServer en macOS,
brew install [email protected]
export DYLD_LIBRARY_PATH="/usr/local/opt/[email protected]/lib:$DYLD_LIBRARY_PATH"
Nota:
- Si
brewno está instalado en su macOS, puede instalarlo según brew. - Si obtiene el error "algorithm 'aesgcm' is not supported on this platform", eso significa que dotnet no puede cargar la clase AesGcm desde libcrypto.1.1.dylib en su macOS; entonces necesita comprobar si su ubicación está en su variable de entorno
DYLD_LIBRARY_PATHo no. Una vez que instale OpenSSL 1.1 en su macOS, la ubicación de la biblioteca crypto es/usr/local/Cellar/[email protected]/1.1.1m/lib/libcrypto.1.1.dyliby/usr/local/opt/opensslenlaza con el directorio/usr/local/Cellar/[email protected]/1.1.1mde forma predeterminada.
Ejecutar la suite de pruebas por lotes
En la carpeta Batch bajo la ruta raíz de la suite de pruebas, hay varios scripts que puede utilizar para lanzar las pruebas.
-
Ejecutar todos los casos de prueba
Ejecute
RunAllTestCases.ps1en PowerShell, oRunAllTestCases.shen shell directamente. -
Ejecutar casos de prueba por filtros
Ejecute
RunTestCasesByFilter.ps1 -Filter [su expresión de filtro]en PowerShell, oRunTestCasesByFilter.sh [su expresión de filtro]en shell directamente.Por ejemplo, puede ejecutar el comando siguiente si desea ejecutar casos de prueba con la categoría de prueba
BVTySMB311:RunTestCasesByFilter.sh "TestCategory=BVT&TestCategory=SMB311"Para obtener más información sobre cómo construir la expresión de filtro, puede consultar Filter option details.
-
Ejecución en seco
Si desea listar los casos de prueba antes de ejecutarlos realmente, puede añadir el modificador
-DryRuna los scripts.ps1o pasar una cadena no vacía como último argumento a los scripts.sh.Por ejemplo, puede ejecutar el comando siguiente si desea listar los casos de prueba con la categoría de prueba
BVTySMB311:RunTestCasesByFilter.sh "TestCategory=BVT&TestCategory=SMB311" "list"
Configurar y ejecutar la suite de pruebas mediante Protocol Test Manager Service
Protocol Test Manager Service (PTMService) es una herramienta de aplicación web de una sola página que le ayuda a configurar y ejecutar casos de prueba en las Suites de Pruebas. PTMService admite múltiples plataformas, incluyendo Windows, Linux y macOS. Para comenzar con PTMService, puede consultar la PTMService Wiki.
Para las configuraciones de FileServer, la opción de la interfaz de PTM Enable Parallel Test Execution se corresponde con la propiedad .ptfconfig totalmente cualificada Common.PTF.LogProfileParserPatch.Enabled. Establézcala en true para habilitar la ejecución paralela por etapas dentro de una ejecución de pruebas de FileServer.
Documentos
Puede configurar el entorno de pruebas y configurar la suite de pruebas según su User Guide.
Cada suite de pruebas tiene su propia User Guide en la carpeta WindowsProtocolTestSuites\TestSuites\[TestSuiteName]\docs.
Hay dos tipos más de documentos en la misma carpeta:
- Technical Documents. La documentación de Especificaciones Abiertas para protocolos, publicada por Microsoft. Es la base para desarrollar las Suites de Pruebas.
- Test Design Specs. Proporciona información sobre el alcance de las pruebas y el diseño de la suite de pruebas.
Contribuir
Puede encontrar la guía de contribución aquí.
Licencia
Windows Protocol Test Suites está bajo la licencia MIT.
Contacto
Los siguientes recursos son para noticias, discusión y soporte de la suite de pruebas de protocolos de Windows:
- Consulte los anuncios de noticias en Open Specification Windows Protocols Forum.
- Discuta los problemas de las suites de pruebas aquí en GitHub.
- Para soporte de Open Specifications Protocols, contacte con [email protected].
Código de Conducta de Código Abierto de Microsoft
Este proyecto ha adoptado el Microsoft Open Source Code of Conduct. Para obtener más información, consulte las Code of Conduct FAQ o contacte con [email protected] si tiene preguntas o comentarios adicionales.