WindowsProtocolTestSuites
⭐⭐ Join us at SambaXP for the SMB3 IO Lab (April 20-23, 2026), see upcoming Interoperability Events
Install / Use
/learn @microsoft/WindowsProtocolTestSuitesREADME
Windows Protocol Test Suites
Windows Protocol Test Suites provide interoperability testing against the implementation of Windows open specifications including File Services, Identity Management, Remote Desktop and etc.
Originally developed for in-house testing of the Microsoft Open Specifications, Microsoft Protocol Test Suites have been used extensively during Plugfests and interoperability labs to test against partner implementations. A Test Suite evaluates whether a protocol or protocol family implementation meets certain interoperability requirements. Test Suites do not cover every protocol requirement and in no way certify an implementation, even if all tests pass. However, each test suite provides users with a useful indication of interoperability.
- File Server Family Test Suite. It is designed to test implementations of file server protocol family including [MS-SMB2], [MS-DFSC], [MS-SWN], [MS-FSRVP], [MS-FSA], [MS-FSCC], [MS-RSVD] and [MS-SQOS]. To get started with File Server test suite, you can refer to the File Server Test Suite User Guide.
- RDP Client Family Test Suite. It provides interoperability testing for client implementation of RDP family protocols including [MS-RDPBCGR], [MS-RDPEDISP], [MS-RDPEDYC], [MS-RDPEGFX], [MS-RDPEGT], [MS-RDPEI], [MS-RDPEMT], [MS-RDPEUDP], [MS-RDPEUSB], [MS-RDPEVOR] and [MS-RDPRFX]. To get started with RDP Client test suite, you can refer to the RDP Client Test Suite User Guide
- RDP Server Family Test Suite. It provides interoperability testing for server implementation of RDP family protocols including [MS-RDPBCGR], [MS-RDPEDYC], [MS-RDPEMT] and [MS-RDPELE]. To get started with RDP Server test suite, you can refer to the RDP Server Test Suite User Guide
- Kerberos Server Test Suite. It is designed to test server implementations of Kerberos protocols including [MS-KILE], [MS-KKDCP] and [MS-PAC]. To get started with Kerberos Server test suite, you can refer to the Kerberos Server Test Suite User Guide
- SMBD Server Test Suite. It is designed to test the implementations of SMB2&3 direct (RDMA) protocol, as specified in [MS-SMBD] and [MS-SMB2]. To get started with SMBD Server test suite, you can refer to the SMBD Server Test Suite User Guide
- Branch Cache Test Suite. It is designed to test the implementations of [MS-PCCRTP], [MS-PCCRR], [MS-PCHC] and [MS-PCCRC] protocol. To get started with Branch Cache test suite, you can refer to the Branch Cache Test Suite User Guide
- AZOD Test Suite. It is designed to test the implementations of [MS-AZOD] protocol. To get started with AZOD test suite, you can refer to the AZOD Test Suite User Guide
- ADFamily Test Suite. It is designed to test the implementations of the Active Directory protocols including [MS-ADA1], [MS-ADA2], [MS-ADA3], [MS-ADLS], [MS-ADSC], [MS-ADTS], [MS-APDS], [MS-DRSR], [MS-FRS2], [MS-LSAD], [MS-LSAT], [MS-SAMR] and [MS-NRPC]. To get started with ADFamily test suite, you can refer to the ADFamily Test Suite User Guide
- ADFSPIP Client Test Suite. It is designed to test the implementations of ADFS Proxy and Web Application Proxy integration, as described in [MS-ADFSPIP]. To get started with ADFSPIP Client test suite, you can refer to the ADFSPIP Client Test Suite User Guide
- ADOD Test Suite. It is designed to test the implementations of [MS-ADOD] protocol. To get started with ADOD test suite, you can refer to the ADOD Test Suite User Guide
- XCA Test Suite. It is designed to test the implementations of [MS-XCA] protocol. To get started with XCA test suite, you can refer to the XCA Test Suite User Guide
- WSP Test Suite. It is designed to test the implementations of [MS-WSP] protocol. To get started with WSP test suite, you can refer to the WSP Test Suite User Guide
Components
Windows Protocol Test Suites contain below components:
- CommonScripts. Common scripts used by each test suite. Normally they're used to deploy the environment.
- ProtoSDK. The protocol library used by each test suite. It provides the data structures of the protocol messages, the methods to encode and decode the messages, the methods to send and receive messages and etc.
- TestSuites. All Test Suites code and documents are saved here and categorized by folder representing each test suite.
- ProtocolTestManager. A tool to help you configure and run test suites.
Prerequisites
Windows Protocol Test Suites are based on .NET so they can be developed and run across different platforms. You should install the software listed below based on your testing purpose, including their own dependencies.
-
.NET and related components
a. For Windows, Linux and macOS, install .NET 8.0 SDK to build or run test suites.
b. For those who work on Windows and prefer IDE, install Visual Studio 2022 or higher (Visual Studio 2022 Community recommended), together with these individual components from the installer:
|Section|Individual Component in Visual Studio 2022|Run Windows Protocol Test Suites|Build Windows Protocol Test Suites from source code| |---|---|---|---| |.NET|.NET SDK|Required|Required| |Compilers, build tools, and runtime|C# and Visual Basic Roslyn compilers||Required| |Compilers, build tools, and runtime|MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)||Required<sup>1</sup>| |Compilers, build tools, and runtime|C++/CLI support for v143 build tools (Latest)||Required<sup>1</sup>| |Compilers, build tools, and runtime|C++ 2022 Redistributable Update|Required<sup>1</sup>|Required<sup>1</sup>| |Development Activities|C++ core features||Required<sup>1</sup>| |SDKs, libraries, and frameworks|Windows 10 SDK (10.0.19041.0)||Required<sup>1</sup>|
Note:
<a name="footnote1">[1]</a>: This individual component is required by ADFamily and MS-SMBD which have C++ code.
-
Protocol Test Framework v2.6 (build 2.6.1)
Protocol Test Framework is referenced by projects of ProtoSDK and TestSuites as NuGet packages.
-
From
NetworkDirect_DDK.zipextractndspi.handndstatus.hinto project pathProtoSDK\RDMA\include. This is to build SMBD test suite. -
This is required only when user want to use PowerShell Core Remoting over SSH.
-
This is required only when user want to use PowerShell Core Remoting over SSH for Windows platform.
-
This is required only when user want to use PowerShell implementation on Windows Server 2012R2 for ISutCommonControlAdapter in CommonTestSuite.ptfconfig.
a. If you choose PowerShell implementation for ISutCommonControlAdapter in a domain environment where the DC runs Windows Server 2012R2, in order to get SID from the DC, you need to install WMF 5.1 on the DC, for other Windows Server versions newer than Windows Server 2012R2, you do not need to install WMF 5.1 on the DC.
b. If you choose PowerShell implementation for ISutCommonControlAdapter on Windows platforms (including Windows Server 2012R2 and newer versions) in workgroup environment, you do not need to install WMF 5.1 on the SUT.
c. If you choose managed implementation for ISutCommonControlAdapter on Windows platforms (including Windows Server 2012R2 and newer versions), it will use LDAP queries to get SID and only supports domain environment.
If your work on Windows, you can use the script in InstallPrerequisites folder to automatically
