Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan...

18
Yan ZENG Vivian TIAN Huiren JIANG Feng HAN

Transcript of Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan...

Page 1: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Yan ZENGVivian TIAN Huiren JIANGFeng HAN

Page 2: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

RDP Test Suites Embrace Open Source

Vivian TIAN

Yan ZENG

Window Protocol Test Suite Developers

Page 3: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Agenda

Windows Test Suite Open Source

Open Source Community

Linux Integration Solution

Workshop Q&A

Page 4: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Test Suite

3.19.3.0

Mar 2019

Test Suite

3.19.1.0

Jan 2018

Test Suite

3.18.9.0

Sep 2018

Test Suite

3.18.6.0

Jun 2018

Test Suite

3.18.3.0

Mar 2018

Test Suite

1.0.5000.0

June 2016

PTF

1.0.5000.0

May 2016

Kickoff

Jan 2016

Windows Protocol Test Suites Open Source

• 10 releases since 2016

• Total download number increased by 111% last year

• 48/48 issues closed

• 5 pull requests from external partners

• Always a new release before every event

• GitHub http://aka.ms/wptf

• GitHub http://aka.ms/wpts

2261 23282397 2455 2618

2660

4003 4351 44684566

46704781

0

1000

2000

3000

4000

5000

6000

GitHub Download Number Trend

Page 5: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

MIT License

• 11

• 45

• 2

Windows Protocol Test Suites Open Source

Page 6: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Open Source Community

Open Source Community Privileges

1. Privileges to trigger regression on GitHub

2. Issues will be handled with higher priority

3. Meetup

• Workshop with 1-1 support

• Private build for fresh artifacts

• Gift

Interoperability Testing

Protocol Implementations

Automation Testing

Page 7: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Open Source Community

Regression

GitHub

Clone Make change Build Pull Request

ReviewApproveMerge

* Check more details on GitHub about how to build test suites: Windows Protocol Test Suites/Readme.md

• GitHub http://aka.ms/wptf

• GitHub http://aka.ms/wpts

Page 8: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Report

Issues

Pull

Requests

Feature

Requests

Cases

Requests

Build an Active Community

Page 9: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Other Open Source Community Contribution

https://github.com/FreeRDP/FreeRDP/pull/5275 https://github.com/rdesktop/rdesktop/pull/317

Page 10: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Test Suite

Linux Integration Solution

Control SUT Status

Linux

Lab Machine

Remote Run

RDP Client (SUT)

Page 11: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Control SUT Status

RDP Client (SUT)

SUT Control Adapter

• Used to control SUT status during testing.

Example

• Screen shot on RDP Client

Test Suite4 Types:

1. PowerShell

2. Interactive

3. Managed

• Protocol Based

• C#, Java

4. Shell Change Status

Page 12: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

SUT Control AdapterProtocol Based

https://github.com/Microsoft/WindowsProtocolTestSuites/tree/staging/TestSuites/RDP/RDPSUTControlAgent

Command Value Meaning

START_RDP_CONNECTION 0x0001 Trigger SUT to start a RDP connection

CLOSE_RDP_CONNECTION 0x0002 Trigger SUT to close all RDP connection

AUTO_RECONNECT 0x0003 Trigger SUT to start an auto reconnect

BASIC_INPUT 0x0004 Trigger SUT to do basic input on RDP client

SCREEN_SHOT 0x0005 Do a screen shot on RDP client and send graphic data back

TOUCH_EVENT_SINGLE 0x0101 Ask SUT to trigger single touch event on RDP client

TOUCH_EVENT_MULTIPLE 0x0102 Ask SUT to trigger multiple touch event on RDP client

TOUCH_EVENT_DISMISS_HOVERING_CONTACT 0x0103 Ask SUT to trigger a dismiss hovering contact event on RDP client

DISPLAY_UPDATE_RESOLUTION 0x0201 Ask SUT to trigger RDPEDISP message to update display resolution

DISPLAY_UPDATE_MONITORS 0x0202

Ask SUT to trigger RDPEDISP message to update monitor setting,

such as add a monitor, remove a monitor or change monitor position

DISPLAY_FULLSCREEN 0x0203 Ask SUT to change RDP client to full screen.

Page 13: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

• Need to implement a simple program as an Agent to control SUT

• C# and Java implementation

SUTTest Suite

Test Cases

SUT control

adapter

RDP Client

RDP Protocols

SUT Control

Request MessageAgent

SUT Control

Response Message

SUT Remote

Control Protocol Operate Call

Method

SUT Control AdapterProtocol Based

Page 14: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

• Need Shell scripts and SSH Server on SUT

SUT Control AdapterShell

SUTTest Suite

Test CasesRDP Client

RDP Protocols

Operate Call

Method

SSH

Public key authentication

SSH

Server

SUT control

adapter

Page 15: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Linux Lab Machine Windows Driver Computer Linux SUT

• OpenSSH Client

• Shell

• OpenSSH Server/Client

• WSL

• Windows Protocol Test Suites

• PTM, profile file

• OpenSSH Server

• Shell or JRE

Remote trigger script• Trigger Windows test cases run

• Copy logs back

• Private Test Suite build with Shell Adapter

• Private PTM

• Configuration scripts

• Shell scripts for SUT control

Or Java Agent (.jar)

Linux Integration Solution

Remote Run Control SUT Status

* Get private build on GitHub: http://aka.ms/wpts and http://aka.ms/wptf branch shell-adapter

Page 16: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Demo

Demo-Driver Demo-SUTDemo-Trigger

• SUT Control Adapter: Java, Shell

• Remote run test cases on Linux Automatically

Page 17: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

Open Source Community Workshop

1. SUT control adapter

2. Remote run

3. Codec Toolhttp://10.10.0.70

http://192.168.0.9

http://192.168.0.8

Page 18: Vivian TIAN Yan ZENG Feng HAN Huiren JIANG · Test Suite 3.19.3.0 Mar 2019 Test Suite 3.19.1.0 Jan 2018 Test Suite 3.18.9.0 Sep 2018 Test Suite 3.18.6.0 Jun 2018 Test Suite 3.18.3.0

• Beta Build

• PTF 1.0.6500.0 (supports Shell adapter)

• PTM 3.19.6.0

• RDP client test suite 3.19.6.0

• Protocol based control adapter (.jar)

• Shell scripts for remote run on Linux

• Source code

• Release 3.19.3.0 MSI• PTF

• PTM

• Test Suites

• Source code

• Azure VPN

Yan ZENGVivian TIAN Huiren JIANGFeng HAN