dolphin: regression test system for latitude

21
Dolphin: Regression Test System for Latitude Tao Jiang www.linkedin.com/in/taojiang2000/ Yongjin Yan Rohitasva Rohitasva

Upload: tao-jiang

Post on 30-Jun-2015

155 views

Category:

Technology


2 download

DESCRIPTION

Dolphin is a regression test infrastructure built from ground up for Latitude system testing. It is a major initiative to improve test efficiency and meet test automation objective for Latitude system evaluation department. Latitude system testing involves in large varieties of devices and device interactions, including: PG, communicator, external sensors, heart simulator, TTM, PRM, etc, as well as, different type of application server environments with different geographic configuration, which impose great engineering challenges. Dolphin answers those challenges by standardizing test station hardware and software configuration for hardware virtualization. Each virtualized test station is then brought into Dolphin service cloud (private cloud) and becomes virtual service end point. Dolphin manages test stations farm and configures them automatically per test request. Dolphin exposes its services via RESTful JSON web service, including: Regression Testing support, Device configuration and control, Lease out a virtual test station on demand as a hardware resource. Besides, Dolphin provides an integrated web application for all of its services, including services provided by Panda. It is a one stop shop for all Latitude system testing needs. Methods: 1. Hardware virtualization to bring virtualized test station into cloud (cloud computing). 2. On demand web application for all exploratory testing needs. 3. Service is available through thin wrapper API (Python, Java, Javascript) for automated test development. 4. Integrated with Panda service for enrollment and data browsing. Results: 1. Simplify hardware configuration: all test stations are standardized and no need to physically switch parts and reconnect wire. 2. On demand web application greatly simplify device setup and control. 3. Integrated with Panda for automatic enrollment. Manual test can achieve the efficiency of automated test. 4. Centralized management reduces the maintenance cost. 5. Flexibility: automated test can be developed in any language and run on any platform because virtual test station can be leased out from test farm as hardware resource.

TRANSCRIPT

Page 1: Dolphin: Regression Test System for Latitude

Dolphin: Regression Test System for Latitude

Tao Jiang www.linkedin.com/in/taojiang2000/

Yongjin Yan

Rohitasva Rohitasva

Page 2: Dolphin: Regression Test System for Latitude

Objectives

• Infrastructure as a Service

• Latitude Regression Test System

2

Page 3: Dolphin: Regression Test System for Latitude

Latitude System

3

Page 4: Dolphin: Regression Test System for Latitude

Challenges in Latitude System Testing

4

Page 5: Dolphin: Regression Test System for Latitude

First Step

Standardize Test Station (Dolphinize)

• Create private network for each test station

• Extensively Use PG system board

• Eliminate moving parts to reduce error

• Set it, and forget it!

5

Page 6: Dolphin: Regression Test System for Latitude

Dolphin Test Station Configuration

6

Page 7: Dolphin: Regression Test System for Latitude

Infrastructure as a Service

Dolphin delivers Testing Infrastructure as a Service (IaaS)

• Virtualized Test Station (Hardware Virtualization)

• A Controller (virtual test station manager)

– Manage test farm machines

– Testing Service Provider

• Device configuration and control

• Regression Testing

• On demand testing hardware resource

7

Page 8: Dolphin: Regression Test System for Latitude

Dolphin: System Overview

8

Page 9: Dolphin: Regression Test System for Latitude

What Dolphin does?

Dolphin is a collection of:

• Cloud Infrastructure: Testing Infrastructure

– Test Station on Demand

– Regression Testing

• Cloud Applications: Software as a service over Internet

– Dolphin Web Application: Software on Demand

• Automated Device Setup & Test Control

– Integrate with Panda Web Application

• Automated Account Enrollment

• Dolphin API: Client interface to Dolphin Cloud Service

– Get Virtual Test Station Instance via API

– Test can be run on any machine not just on test station

9

Page 10: Dolphin: Regression Test System for Latitude

Device Setup using Dolphin

10

Page 11: Dolphin: Regression Test System for Latitude

Test Control for Exploratory Testing

11

Page 12: Dolphin: Regression Test System for Latitude

Demo: System BAT

• Run Real Device

• End to End

• Acceptance Testing Effort

Latitude 6.0: ~ 1 week

Latitude 7.0: ~ 1 day

Dragon 1.0: ~ 1 hour on a Dolphinized test station

12

Page 13: Dolphin: Regression Test System for Latitude

Dolphin: Regression Test System

• Run test on different test station without manual intervention.

• Auto configure hardware per test requirement.

• Auto configure and update supporting software packages.

• Work order scheduling.

• Test result reporting.

13

Page 14: Dolphin: Regression Test System for Latitude

Work Order Example

workorder = {

"Submitter": "fortyTwo\/g041145",

"Test": {

"Arguments": ["-t", "Test1_Supported_PGs", "-c", "Case1_Supported_PGs", "-x", "JP_1.0_JAGJP", "-i", "W172-400-0", "-p", "pgsim=false,enroll=false,wac=10057,+auto"],

"Name": "Case1_Supported_PGs\/W172-400-0\/6443\/JP",

"Protocol": "SDVT_DeviceData_Supported_Devices",

"Stream": "DVT_System_Dragon",

"TestScript": "SDVT_DeviceData_Supported_Devices.py"

},

"Environment" : { # environment to run against

"Type" : "REG", # Clock, Biz , When type is Clock but different region, regression system will do a deployment.

"Region" : "JP“ # region field is a required.

},

"Hardware": { # Hardware information in order to run the test.

"Setup" : “true", # True if the test script want s regression system setup hardware for it. False, test script will setup hardware by itself.

"Communicator": {

"ModelNumber": "6443",

"SerialNumber": "5077766",

"ServerConnectionType": "ethernet"

},

"PulseGenerator": {

"ModelNumber": "W172-400-0",

"SerialNumber": "5077766",

"PGFamily": "Ingenio",

"Type": "PGBoard"

}

},

# URL for test result notification

"NotifyUrl" : "http://yourTestManagementSite.com/regression/results/"

}

14

Page 15: Dolphin: Regression Test System for Latitude

Implementation Strategy

• Dolphin Controller and Agent Service • .Net application written in C#.

• Windows Communication Foundation (WCF): for building service-oriented applications.

• C# Selenium 2.0 WebDriver for driving Dragon App.

• Expose functionalities as a set of web services.

• Automated device setup and account enrollment

• Simplify test script development

15

Page 16: Dolphin: Regression Test System for Latitude

Apache Server as a Cluster Service

• Cluster N + 1 application servers

– N farm machines and 1 controller

– Base URL: http://dolphin/dolphinws

– Forward command to target automatically

• Deliver static page content

16

Page 17: Dolphin: Regression Test System for Latitude

Dolphin Web Service API

• Schedule regression test by submitting work order

• Test station rental service

• Configure and Control devices

17

Page 18: Dolphin: Regression Test System for Latitude

Technology Highlights

• C# .NET 4.0

• WCF: Windows Communication Foundation

• Selenium 2.0 and WebDriver (C# version)

• jQuery and jQuery UI

• Apache HTTP Server

18

Page 19: Dolphin: Regression Test System for Latitude

Results

• Standard hardware configuration

• On demand web application

• Integrated with Panda for automatic enrollment

• Centralized management reduces the maintenance cost

• Flexibility

– Hardware on demand

– Language-Neutral Solution to automated test development

– Platform-Neutral Solution to test execution

19

Page 20: Dolphin: Regression Test System for Latitude

Conclusions

• Dolphin continues Panda's successful adventure of cloud

computing (Software as a Service)

• Dolphin brings hardware resource into cloud

(Infrastructure as a Service)

• Greatly simplifies Latitude system-level end-to-end

testing

• Reduces cost

20

Page 21: Dolphin: Regression Test System for Latitude

21

Thank You