how to make test automation for cloud-based system

45
How to Make Test Automation For Cloud-Based System by Nick Babich

Upload: nick-babich

Post on 15-Feb-2017

188 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: How to Make Test Automation for Cloud-based System

How to Make Test AutomationFor Cloud-Based System

by Nick Babich

Page 2: How to Make Test Automation for Cloud-based System

Telephony Automation

TeamAlexey Georgy Alexandra

Nikita Alexey Igor2

Page 3: How to Make Test Automation for Cloud-based System

Contents

1.RingCentral product and system specifics.

2.Automation: What-When-Where-How and Why

3.Questions and Answers3

Page 4: How to Make Test Automation for Cloud-based System

4

Classic PBX System

Page 5: How to Make Test Automation for Cloud-based System

5

Cloud Telephony System

Page 6: How to Make Test Automation for Cloud-based System

RingCentral: Cloud Business Communications

6

Page 7: How to Make Test Automation for Cloud-based System

RingCentral ServiceTelephony is a cornerstone service for the RingCentral. It

consist of many different features and each new release brings more to production.

7

Page 8: How to Make Test Automation for Cloud-based System

8

Quality

Cost

Delivery

Page 9: How to Make Test Automation for Cloud-based System

AutomationWhat?When?Where?How?Why?

9

Page 10: How to Make Test Automation for Cloud-based System

What?Type of Automation 10

Page 11: How to Make Test Automation for Cloud-based System

11

Page 12: How to Make Test Automation for Cloud-based System

Testing Types

● Functional Tests● Acceptance

Tests

● A/B Tests

● Unit Tests ● Stress Tests● Security

Tests

Business Facing

Technology Facing

Supp

ort

Prog

ram

min

g

Criti

que

Pr

oduc

t

12

Page 13: How to Make Test Automation for Cloud-based System

13

Most Common Use-Case

Page 14: How to Make Test Automation for Cloud-based System

How to Define Scope for Automation● Automate the most critical cases (P0 cases,

especially one which are hard-to-execute manually).

● Automate the most frequently used scope (included in regular regression cycles).

● Automation for the most automatable scope (easy to automate and move to the execution).

Make a distinction between “ephemeral” and “long-standing” cases

14

Page 15: How to Make Test Automation for Cloud-based System

Test Automation Criteria

15

Page 16: How to Make Test Automation for Cloud-based System

When?General Automation

Flow16

Page 17: How to Make Test Automation for Cloud-based System

Product Release Cycle

17

Page 18: How to Make Test Automation for Cloud-based System

Agile Development

18

Page 19: How to Make Test Automation for Cloud-based System

Testing Process

Create new test scope Define a scope for automation & automate it

Execute automated scope

Who: Scrum team QA engineers.

Task: Create test design for new features.

Deliverable: Prioritized test scope, proposal for automation

Who: Automation QA engineers.

Task: Automate test cases

Deliverable: Test scripts ready for execution

Who: Scrum team QA or DEV.

Task: Execute automated test cases.

Deliverable: Execution results. Understanding product quality.

19

Page 20: How to Make Test Automation for Cloud-based System

Test Automation Plan

Development Team

Step 1: Starting development new telephony feature.

Development Team

Step 2: Prioritized test design for new functionality

Development Team

Step 3: Automation for the most critical test cases

Telephony Automatio

n Team

Step 4: Continue automation for 2-nd and 3-rd category

Telephony Automatio

n Team

Step 5: Delivering automated cases to the customers

20

Page 21: How to Make Test Automation for Cloud-based System

Where?Test Environment21

Page 22: How to Make Test Automation for Cloud-based System

22

Test Environment and Production

Page 23: How to Make Test Automation for Cloud-based System

Test Environment Update

ADB

Codebase change or

Manual request

Start Automatic

Deployment System

SVNNew Build

23

Page 24: How to Make Test Automation for Cloud-based System

Automatic Deployment System

3

2

1

Deploy → Verify (Post Deployment Verification) → Execute Regular Scope

24

Page 25: How to Make Test Automation for Cloud-based System

25

Distributed Test Execution Scheme

Page 26: How to Make Test Automation for Cloud-based System

How?Test Execution

Scheme26

Page 27: How to Make Test Automation for Cloud-based System

Tools• Framework and automated tests cases (scripts).• Test Environment• Dashboard for test execution results and reports.• Bug tracking system

27

Page 28: How to Make Test Automation for Cloud-based System

Technologies We Use

28

Page 29: How to Make Test Automation for Cloud-based System

How It Works

29

Page 30: How to Make Test Automation for Cloud-based System

Execution Scheme

Test Environment Deployment

Test Scope Execution

Send Execution Results to

Dashboar

d

New Build Available

30

Page 31: How to Make Test Automation for Cloud-based System

Framework and Automated Test Cases

Business Layer

Test Scripts Layer

Application Part (exe)Command line application with a set of parameters (What we execute and Where)Set of modules required for test scripts (WebDriver, Rest API, Oracle ORA) Automated test cases (test scripts)

Powered by 31

Page 32: How to Make Test Automation for Cloud-based System

Test Case Overview

32

Page 33: How to Make Test Automation for Cloud-based System

Test design and Test script

33

Page 34: How to Make Test Automation for Cloud-based System

Test script report

Powered by 34

• Start time (timestamp)• Group (e.g. feature)• Execution result (Passed / Failed / Skipped)• Screenshots and attachments (if test failed during execution ).

Page 35: How to Make Test Automation for Cloud-based System

Execution Results for the Scope● Archive for all test reports

● Tested build (Branch and Build number)● Backend log data and system traces

Powered by 35

Page 36: How to Make Test Automation for Cloud-based System

Execution Report in Dashboard• Configuration properties• Backend build (from execution results)• Execution Statistics (passed / failed / blocked)

36Powered by

Page 37: How to Make Test Automation for Cloud-based System

Powered by

Dashboard Sample

37

Page 38: How to Make Test Automation for Cloud-based System

Why?38

Page 39: How to Make Test Automation for Cloud-based System

39

Metaphor Behind Test Automation

Page 40: How to Make Test Automation for Cloud-based System

40

Cost: Manual vs. Automated Testing

Page 41: How to Make Test Automation for Cloud-based System

41

Benefits of Automated Testing

Global Continuous Integration Team

6 Development Team

Regression Team

Total number of test cases: 5500Total number of Automated: 2100

On a daily basis

On a weekly basis

On a daily basis

Automated

Page 42: How to Make Test Automation for Cloud-based System

Test Automation Disadvantages

42

1. Test scripts base requires regular support and actualization.

2. Troubleshooting for environment deployment and execution results analysis.

3. It works only on long-term basis.

Page 43: How to Make Test Automation for Cloud-based System

Important Moments●Feedback from

stakeholders●Task Prioritization●Popularization of

automation 43

Page 44: How to Make Test Automation for Cloud-based System

44

Page 45: How to Make Test Automation for Cloud-based System

Contact Information

[email protected]

z

www.linkedin.com/in/nbabich 45

twitter.com/101babich