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.
Windows Protocol Test Suites provide interoperability testing against the implementation of Windows open specifications including File Services, Identity Management, Remote Desktop and etc.
- SMB1 Server Test Suite. It covers the requirements documented by [MS-SMB], and those documented by other protocols which are related to [MS-SMB], i.e. [MS-FSCC] and [MS-CIFS].
- 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-RSVD] and [MS-SQOS].
Windows Protocol Test Suites contain 4 components:
- CommonScripts. Common scripts used by every test suite. Normally they're used to deploy the environment.
- ProtocolTestManager. A UI tool to help you configure and run test cases.
- ProtoSDK. The protocol library used by every 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.
The Test Suites are developed and must be installed on a Windows platform. You should install the following list of software in order to build Test Suites from source code.
- .Net framework 3.5
- Wix toolset v3.7 or higher
- Visual Studio or Visual Studio Agent, version 2012 or higher
- Protocol Test Framework. You can use a released package or build an installer package of Protocol Test Framework from source code.
- Spec Explorer. It is only required for the test suites that contain Model Based Test cases. If you want to regenerate Model Based Test cases, you must install Visual Studio 2012, otherwise higher versions of Visual Studio are supported.
After you clone a copy of this repo, change to the WindowsProtocolTestSuites directory:
cd WindowsProtocolTestSuites
Run buildall.cmd
buildall.cmd
After the build succeeds, the MSI (installer package) file of every test suite should be generated in the folder WindowsProtocolTestSuite\drop\TestSuites\[TestSuiteName]\Installer. Take SMB test suite as an example, MS-SMB-TestSuite-ServerEP.msi should be generated in the folder WindowsProtocolTestSuite\drop\TestSuites\MS-SMB\Installer.
You can also run build.cmd for protocol SDK, Protocol Test Manager and every test suite separately.
To build protocol SDK
cd WindowsProtocolTestSuites\ProtoSDK
build.cmd
To build Protocol Test Manager
cd WindowsProtocolTestSuites\ProtocolTestManager
build.cmd
To build a test suite, take SMB test suite as an example
cd WindowsProtocolTestSuites\TestSuites\MS-SMB\src
build.cmd
After the build succeeds, you could set up the test environment and install/configure/run the test suite according to its User Guide. Every test suite has its own User Guide in the WindowsProtocolTestSuites\TestSuites[TestSuiteName]\docs folder. There're two more documents in the same folder:
- Technical Document. The Open Specifications documentation for protocols, published by Microsoft. It's the basis of developing Test Suites.
- Test Design Spec. It provides information about the test scope and test suite design.
You can find contributing guide here.
Windows Protocol Test Suites are under the MIT license.
The test suites will be updated according to Windows' release and your interests. If one protocol is updated to a newer version, and it is also a highly interested protocol, the test suite will be aligned and updated. If a new protocol is released and it's highly interested, the specific test suite will be developed.
The following test suites will be released in version 1.0.
Test Suite Name | Protocol Covered |
---|---|
SMB1 Server Test Suite | MS-SMB |
File Server Family Test Suite | MS-SMB2, MS-DFSC, MS-SWN, MS-FSRVP, MS-FSA, MS-RSVD, MS-SQOS |
Protocol Test Manager | N/A |
Kerberos Test Suite | MS-PAC, MS-KILE, MS-KKDCP |
MS-AZOD Test Suite | MS-AZOD |
RDP Client Family Test Suite | MS-RDPBCGR, MS-RDPDISP, MS-RDPEDYC, MS-RDPEGFX, MS-RDPEGT, MS-RDPEI, MS-RDPEMT, MS-RDPEUDP, MS-RDPEUSB, MS-RDPEVOR,MS-RDPRFX |
MS-SMBD Test Suite | MS-SMBD |
BYOD Test Suite | MS-ADFSPIP |
AD Family Test Suite | MS-ADTS, MS-ADA1, MS-ADA2, MS-ADA3, MS-ADLS, MS-ADSC, MS-APDS, MS-DRSR, MS-FRS2, MS-LSAD, MS-LSAT, MS-NRPC, MS-SAMR |
MS-HVRS Test Suite | MS-HVRS |
Keep up with the Windows protocol test team by visiting our blog, chatting in Gitter, or sending us email to winterop@microsoft.com.