Windows Protocol Test Suites Overview and Updates, Study notes of Design

Evaluates whether a protocol implementation meets certain interoperability requirements. • Originally developed for in-house testing of. Microsoft Open ...

Typology: Study notes

2022/2023

Uploaded on 02/28/2023

ekani
ekani 🇺🇸

4.7

(26)

265 documents

1 / 24

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Windows Protocol Test Suites
Overview and Updates
Mengyan (Helen) Lu Jiajun Wang
Microsoft
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Partial preview of the text

Download Windows Protocol Test Suites Overview and Updates and more Study notes Design in PDF only on Docsity!

Windows Protocol Test Suites

Overview and Updates

Mengyan (Helen) Lu Jiajun Wang

Microsoft

Agenda

Protocol Test Suite Overview

Protocol Test Suite Open Source

Linux Integration with Test Suite Automation

Test Environment on Azure

Why we developed Protocol Test suites

Ensure quality of Microsoft Open Specifications

  • Accuracy and Usability Help to identify your implementation issues

• Make debugging easier

Message sequence, encrypted

messages logging

• Test mainstream scenarios

Source code in test suite can be your reference in development phase

Protocol Test Methodology

  1. Develop protocol test suite (synthetic client) according to Open Specification
    1. Run against Windows to verify Open Specification
    2. Run against 3 rd
      • party implementation to help identify & debug issues
  2. Open Specification defines messages, sequences, behaviors
    1. Interoperability between partner’s server and Windows client

Windows

Client

Windows

Server

Test Suite

Synthetic Server

Partner’s Server

Message Over the Wire

Open Specification

Server-side implementation

Windows Protocol Test Suite Types

Type Test Suite Name Protocols Protocol Families FileServer MS-SMB2, MS-FSRVP, MS-SWN, MS-DFSC, MS-RSVD, MS-SQOS, MS-FSA, MS-HVRS Kerberos MS-KILE, MS-KKDCP, MS-PAC RDP (Client & Server) RDP Client TestSuite: MS-RDPBCGR, MS-RDPEDISP, MS-RDPEDYC, MS-RDPEGFX, MS- RDPEGT, MS-RDPEI, MS-RDPEMT, MS-RDPEUDP, MS-RDPEUSB, MS-RDPEVOR, MS- RDPRFX RDP Server TestSuite: MS-RDPBCGR, MS-RDPEMT ADFamily MS-ADTS-LDAP, MS-ADTS-PublishDC, MS-ADTS-Schema, MS-ADTS-Security, MS- APDS, MS-DRSR, MS-FRS2, MS-LSAD, MS-LSAT, MS-NRPC, MS-SAMR BranchCache MS-PCCRC, MS-PCCRR, MS-PCCRTP, MS-PCHC, MS-CCROD Individual Protocols MS-SMB MS-SMB MS-SMBD MS-SMBD MS-ADFSPIP MS-ADFSPIP Overview Documents MS-ADOD MS-ADOD MS-AZOD MS-AZOD

Protocol Test Framework, Protocol Test Manager

  • Protocol Test Framework
    • PTF Adapter
    • PTF Config
    • Logging
    • ……
  • Protocol Test Manager

Visual Studio Unit Test

Framework

Protocol Test Framework

FileServer Test Suite ADFamily Test Suite ……

PTM CLI: a command line interface for PTM

https://github.com/Microsoft/WindowsProtocolTestSuites/wiki/PtmCli

Test Suite Open Source

https://github.com/Microsoft/WindowsProtocolTestSuites

  • Open sourced on GitHub in 2016
  • Two formats: source code and MSI file
  • MIT License: Short and permissive

https://github.com/Microsoft/ProtocolTestFramework

  • 11 Test Suites(family)
  • 45 Windows Protocols
  • Protocol Test Framework
  • Protocol Test Manager

Build Test Suites

• Clone code from Github

• Install Prerequisites Software

cd WindowsProtocolTestSuites\InstallPrerequisites

.\InstallPrerequisites.ps1 – Category ‘FileServer’

• Build Protocol Test Framework

• Build Test Suite

Check more details on GitHub:

Agenda

Protocol Test Suite Overview

Protocol Test Suite Open Source

Linux Integration with Test Suite Automation

Test Environment on Azure

Linux Integration

• Trigger Test Suites Remotely

• Control Linux SUT in Test Suite

Test Suite (^) Domain Controller Linux SUT

Trigger Test Suites Remotely

Trigger through PowerShell Core

SUT

Execute

Test Suites

https://github.com/Microsoft/WindowsProtocolTestSuites/wiki/Remotely-Trigger-Test-Suites

SUT Control Adapter

• Used to control SUT status during testing.

• Currently support:

• PowerShell

• CMD

• Interactive

Example: Failover Cluster

Node 2 Node 1 Cluster Test Suite Storage Domain Controller

Node 1 Node 2 Cluster Test Suite Storage Domain Controller

Example: Failover Cluster