RDP Client Test Design Specification

June 1, 2020 ยท View on GitHub

Contents

Test Environment

The RDP test environment includes two endpoints: a RDP server and a RDP client. The RDP server hosts the test suite and the RDP client hosts the RDP client to be tested.

For most of the test cases, the RDP server and RDP client can be a physical or a virtual machine. However, to run the MS-RDPEUSB test cases, the RDP client machine should be a physical machine because this test case requires that a specific USB device be connected to the RDP client.

Operating System Requirements

EndpointOperating System
RDPServerWindows 10, Windows 8 or Windows 7
RDPClientA system with RDP client installed

Network Overview

image1.png

Test Method

Test Scope

Test Target

The test target is the RDP client endpoint (RDP client), which is performing the client role.

Protocols Included in the Test Suite

The RDP test suite includes test cases for the following protocols:

  • MS-RDPBCGR

  • MS-RDPEUSB

  • MS-RDPRFX

  • MS-RDPEVOR

  • MS-RDPEUDP

  • MS-RDPEMT

  • MS-RDPEI

  • MS-RDPEGFX

  • MS-RDPEDISP

Test Scenarios

MS-RDPBCGR Scenarios

There are seven scenarios defined in the MS-RDPBCGR client test suite for verifying client behavior:

ScenarioDescriptionTest CasesBVTs
S1_ConnectionUse to verify connection and disconnection sequences.877
S2_ReactivationUse to verify deactivation and reactivation sequences.21
S3_AutoReconnectUse to verify auto-reconnect sequences.21
S4_SlowPathInputUse to verify slow-path input PDUs.61
S5_FastPathInputUse to verify fast-path input PDUs.11
S6_AutoDetectTestUse to verify auto-detect PDUs.50
S7_StaticVirtualChannelUse to verify virtual channel PDUs.72
S8_ServerRedirectionUse to verify standard security server redirection PDU and enhanced security server redirection PDUs.21
S9_HealthMonitoringUse to verify client can receive Server Heartbeat PDU, and will auto-reconnect if not receive heartbeat after certain time.11
S10_FastPathOutputUse to verify client can receive Server fast-path update PDUs to update pointers.200

For more details about MS-RDPBCGR scenario design, please refer to sections 2.2 and 2.3 of MS-RDPBCGR_ClientTestDesignSpecification.md.

MS-RDPEUSB Scenarios

There are three scenarios defined in the MS-RDPEUSB client test suite for verifying client behavior:

ScenarioDescriptionTest CasesBVTs
S1_OperateDeviceChannelUse to verify the creation of device channels and responses to the retract request.21
S2_CancelRequestUse to verify the cancelation of an outstanding IO request.33
S3_OperateIoUse to verify IO request sequences.244

For more details about MS-RDPEUSB scenario design, please refer to sections 2.2 and 2.3 of MS-RDPEUSB_ClientTestDesignSpecification.md.

MS-RDPRFX Scenarios

There are four scenarios defined in the MS-RDPRFX client test suite for verifying client behavior:

ScenarioDescriptionTest CasesBVTs
Exchange CapabilitiesUse to exchange MS-RDPRFX capabilities.22
Send Encode Header MessagesUse to send encode header messages to the client.121
Send Encode Data Messages in Image ModeUse to send encode data messages to the client in image mode.152
Send Encode Data Messages in Video ModeUse to send encode data messages to client in video mode.172

For more details about MS-RDPRFX scenario design, please refer to sections 2.2 and 2.3 of MS-RDPRFX_ClientTestDesignSpecification.md.

MS-RDPEVOR Scenarios

MS-RDPEVOR has one scenario:

ScenarioDescriptionTest CasesBVTs
Video Streaming TestUse to verify all messages.63

For more details about MS-RDPEVOR scenario design, please refer to sections 2.2 and 2.3 of MS-RDPEVOR_ClientTestDesignSpecification.md.

MS-RDPEUDP Scenarios

MS-RDPEUDP has two scenarios:

ScenarioDescriptionTest CasesBVTs
S1_ConnectionVerify the RDP-UDP connection phase and keep alive behavior.21
S2_DataTransferVerify data transfer over RDP-UDP connection.85

For more details about MS-RDPEUDP scenarios design, please refer to sections 2.2 and 2.3 of MS-RDPEUDP_ClientTestDesignSpecification.md.

MS-RDPEMT Scenarios

MS-RDPEMT has two scenarios:

ScenarioDescriptionTest CasesBVTs
S1_ConnectionVerify the RDPEMT connection phase.42
S2_AutoDetectionVerify auto detection over RDPEMT tunnel.50

For more details about MS-RDPEMT scenarios design, please refer to sections 2.2 and 2.3 of MS-RDPEMT_ClientTestDesignSpecification.md.

MS-RDPEI Scenarios

MS-RDPEI has two scenarios:

ScenarioDescriptionTest CasesBVTs
S1_Touch_Input_TestVerify the initializing phase and touch input event.92
S2_Touch_Control_TestVerify the touch control messages in running phase.72

For more details about MS-RDPEMT scenarios design, please refer to sections 2.2 and 2.3 of MS-RDPEI_ClientTestDesignSpecification.md.

MS-RDPEGFX Scenarios

MS-RDPEGFX has below scenarios:

ScenarioDescriptionTest CasesBVTs
Capability Exchange TestExchange MS-RDPEGFX capabilities.31
Surface to Scren TestBasic scenario. Create a surface and map bitmap data of a surface to output.212
Surface to Cache to Surface TestInstruct client to save bitmap of surface into cache and copy it back to a surface.131
Surface to Surface TestCopy bitmap data inter-surfaces or intra-surfaces.112
ClearCodec TestServer send surface bitmap data, which is encoded via Clear Codec, to client.322
RFX Progressive Codec TestServer send surface bitmap data, which is encoded via RFX progressive Codec, to client.362
Frame Segmentation TestServer fragments big RDPEGFX frames and sends them to client.110
RDP8 Compression TestServer compresses RDPEGFX fragmentations and sends them to client.40
RemoteFX Codec TestServer send surface bitmap stream, which is encoded via NSCodec, which is specified in [MS-RDPRFX]41
H264 Codec TestServer send surface bitmap data, which is encoded via H264 Codec, to client.143
Wire to Surface TestServer send uncompressed bitmap data to surface.21

For more details about MS-RDPEGFX scenarios design, please refer to sections 2.2 and 2.3 of MS-RDPEGFX_ClientTestDesignSpecification.md.

MS-RDPEDISP Scenarios

There are four scenarios defined in the MS-RDPEDISP client test suite for verifying client behavior:

ScenarioDescriptionTest CasesBVTs
S1_ResolutionChangeVerify RDPEDISP resolution updates sequence22
S2_OrientationChangeVerify RDPEDISP orientation updates sequence52
S3_MonitorAdditionRemovalVerify RDPEDISP addition, removal of monitors sequence20
S4_MonitorRepositionVerify RDPEDISP repositioning of monitors sequence20

For more details about MS-RDPEDISP scenario design, please refer to sections 2.2 and 2.3 of MS-RDPEDISP_ClientTestDesignSpecification.md.

References

Refer to the following documents for additional information about the RDP test suite:

  • Technical Documents:

  • [MS-RDPBCGR].pdf

  • [MS-RDPEUSB].pdf

  • [MS-RDPEVOR].pdf

  • [MS-RDPRFX].pdf

  • [MS-RDPEUDP].pdf

  • [MS-RDPEMT].pdf

  • [MS-RDPEI].pdf

  • [MS-RDPEGFX].pdf

  • [MS-RDPEDISP].pdf]

  • Test Suite Design Specs:

  • MS-RDPBCGR_ClientTestDesignSpecification.md

  • MS-RDPEUSB_ClientTestDesignSpecification.md

  • MS-RDPRFX_ClientTestDesignSpecification.md

  • MS-RDPEVOR_ClientTestDesignSpecification.md

  • MS-RDPEUDP_ClientTestDesignSpecification.md

  • MS-RDPEMT_ClientTestDesignSpecification.md

  • MS-RDPEI_ClientTestDesignSpecification.md

  • MS-RDPEGFX_ClientTestDesignSpecification.md

  • MS-RDPEDISP_ClientTestDesignSpecification.md

  • User Guide:

  • RDP_ClientUserGuide.md