![Page 1: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/1.jpg)
Christine Huang (陳淑英), Principal Test Manager
Feng Han (韓楓), Protocol Test Suite Developer
RemoteFX Protocol Test Suite
![Page 2: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/2.jpg)
• Protocol Test Suite – Why ,What, How
• RemoteFX Test Suite Introduction
• How to use RemoteFX Test Suite
![Page 4: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/4.jpg)
Goals:
• Ensure quality of MS protocol documentation(Open Specification)
o Accuracy and usability
• Help to Identify your implementation issues
o Make debugging easier
Message sequence
Encrypted messages logging
o Handle negative test cases
• Source code in test suite can be your reference in dev phase
![Page 5: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/5.jpg)
Open
Specification
Windows Client
(desktop , slate etc)Windows Server
Partner Client (thin
client, slate, phone)
Protocol
Test Suite
2. Develop protocol test suite
(synthetic server) according to Open
Specification
3. Run against Windows to verify
Open Specification
4. Run against partner’s Client
Implementation to help identify &
debug issues
Client/Server Side Partner Implementation
Message Over the Wire
Synthetic Server
1. Open Specification defines
messages, sequence, behavior
4
5
5. Interop between partner’s Client
and Windows Server
1
2 3
![Page 6: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/6.jpg)
New Protocol Test Suites Features
• Protocol Test Manager
• Protocol-based SUT Control Adapter
• Super Log Viewer
New Protocols/Features Coverage
![Page 7: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/7.jpg)
• Protocol Test Suite – Why ,What, How
• RemoteFX Test Suite Introduction
• How to use RemoteFX Test Suite
![Page 8: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/8.jpg)
• The test target is RDP Client
• The test suite is Synthetic RDP Server
• Aligned with Windows 8.1 document
• More than 200 test cases, including positive and negative
• Test Code (C#) can be your reference, such as codecs
![Page 9: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/9.jpg)
![Page 10: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/10.jpg)
• Test most of features in covered protocols
• Highlighted tested features since Windows 8
MS-RDPBCGR• Network Auto-Detection (Win8)
• Connection heath monitoring
(Win8.1)
MS-RDPEDISP (Win8.1)• Change display configuration
Multiple transportsMS-RDPEUDP (Win8)• Reliable/Lossy connection
• Retransmit
• Congestion control
MS-RDPEMT (Win8)• Build secure channel
• Network Auto-Detection
• Exchange DVC data
MS-RDPEGFX (Win8)• Surface & Cache
• RemoteFX codec
• Progressive codec
• Clear codec
• RDP8.0 compression
MS-RDPEI (Win8)• Touch input
• Touch control
![Page 11: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/11.jpg)
System Under Test
(SUT)
RDP Client
TCP/UDP
RDP Synthetic Server
(Test Suite)
TCP/UDP
SUT Control
AdapterTest Cases
![Page 12: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/12.jpg)
Protocol Specification:
If RDP server sends message A to RDP client, RDP client should respond with message B.
If A is invalid, client should return error message C.
Test Case 1:
1. Establish RDP connection;
2. Server.Send(msgA);
3. Expect client respond msgB, and
• Assert (msgB.Field1 == valid1)
• Assert (msgB.Field2 == valid2)
• …
• Assert (msgB.FieldN == validN)
Test Case 2:
1. Establish RDP connection;
2. Server.Send(Invalid msgA);
3. Expect client respond msgC, and
• Assert (msgC.Satus == ERROR)
![Page 13: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/13.jpg)
System Under Test
Test Suite Host
Subnet Mask 255.255.0.0
IP Address 172.16.18.1
Name RDP-Client
Subnet Mask 255.255.0.0
IP Address 172.16.18.2
Name RDP-TestServer
Machine role Software/service
System Under Test (SUT) RDP Client from Microsoft or Partners
Test Suite Host Microsoft® Visual Studio® 2012 Ultimate
Protocol Test Framework
RemoteFX Interop Test Suite
Common Deployment Steps:
• Install RDP client on SUT
• Install Test Suite on Test Suite Host
• Configure Test Suite
![Page 14: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/14.jpg)
• Protocol Test Suite – Why ,What, How
• RemoteFX Test Suite Introduction
• How to use RemoteFX Test Suite
![Page 15: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/15.jpg)
• Purpose:• The interface defines methods for changing or
querying SUT states dynamically at runtime.
• Types: Protocol-based
PowerShell script
Interactive
![Page 16: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/16.jpg)
Test Suite Host System Under TestSUT Remote Control
Protocol
Test SuiteRDP
Client
SUT
control
adapter
Transport for RDP protocols
Agent
• Self-defined a simple protocol to transfer control commands and result.
• User needs to implement a simple program as an Agent to control SUT (System Under Test)
SUT Control Request Message
SUT Control Response Message
Operate
![Page 17: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/17.jpg)
• Build automatic test environment on any system
• User doesn’t need to do any work on test suite
• User need to develop an Agent program on SUT The Agent program can be powerful and flexible
The workload of development is low
The protocol we defined is very simple
The Agent program is on SUT, same environment as your RDP client product
![Page 18: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/18.jpg)
• Maps interface methods to PowerShell scripts.
• The implementation will run the corresponding script file when one of the adapter's methods is called.
Interface Script files
![Page 19: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/19.jpg)
When a method is called:
• Control the SUT manually
• Is used when other automatic control method is not supported
A dialog is popped up
User controls SUT manually
User clicks the “Continue” button
![Page 20: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/20.jpg)
![Page 21: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/21.jpg)
• Protocol Test Manager (PTM) is a unified UI for protocol test suites.
• Besides running test cases, PTM also includes: Test suite introduction
Auto-Detect Supported features
Automatic configure test suite
Classify and filter test cases
View test result
![Page 22: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/22.jpg)
Will show you more details in Demo Session
![Page 23: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/23.jpg)
![Page 24: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/24.jpg)
• To investigate test case failure, you always need run-time information like:• Test case log - From log file
• Network traffic - Captured by MessageAnalyzer/Netmon
• Encrypted or compressed message – From Visual Studio
• Using MessageAnalyzer to combine all these information• See all valuable information from one window.
Network Traffic
Test Log
Encrypted MessageMMA
![Page 25: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/25.jpg)
Will show you more details in Demo Session
![Page 26: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/26.jpg)
26
Q & A
![Page 27: RemoteFX Protocol Test Suitedownload.microsoft.com/download/C/6/0/C60E2BD0-8A7C... · MS-RDPEI (Win8) • Touch input • Touch control. System Under Test (SUT) RDP Client TCP/UDP](https://reader030.vdocuments.net/reader030/viewer/2022041113/5f1d58481a36dc36ab1aa1ec/html5/thumbnails/27.jpg)