Top Banner
Deliver Fast, On Time & With High Quality Description Karim Fanadka QA Manager HPE Software
49

Karim Fanadka

Apr 13, 2017

Download

Software

CodeFest
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Karim Fanadka

Deliver Fast, On Time & With High Quality

Description

Karim Fanadka QA Manager HPE Software

Page 2: Karim Fanadka

About me: Karim Fanadka

Job: QA Manager at HPE Software, 7+

Product: StormRunner Load

Favorite activates: Traveling, Ski, Blogging

Ski – France 2013

Road Trip – Iceland 2015

Page 3: Karim Fanadka

We are going to talk about:

AgileModern QA

SaaS

Automation

Environments

Hotfixes Continuous Deployment

Page 4: Karim Fanadka

SaaS – Software as a Service

Page 5: Karim Fanadka

Before SaaS – On Premise

SoftwareUsers

Page 6: Karim Fanadka

SaaS – Software as a Service

Data Base

Servers

File System

Firewall

Users SaaS

Page 7: Karim Fanadka

journal note

I have been asked to build the first DevTest team that combines:

• Modern technologies and techniques

• Agile Methodologies

• SaaS product testing

• Deliver fast

Page 8: Karim Fanadka

StormRunner Load - SaaS product

Which product my team is testing :

Performance testing solution that makes it easy to plan, run, and scale web and mobile testing over the cloud.

Page 9: Karim Fanadka
Page 10: Karim Fanadka

10

1 Create and run a load test using your favorite scripting tool

2 Load Generators spin up in AWS EC2 or MS Azure

3 Results and app insights are available in real time

The product my team is testing: StormRunner Load

New

Soon

Performance testing solution that makes it easy to plan, run, and scale web and mobile testing over the cloud.

Page 11: Karim Fanadka
Page 12: Karim Fanadka

StormRunner Load as a Service

Data Base

Servers

File System

Firewall

Users SaaS Cloud

Page 13: Karim Fanadka

Agile – Do It Fast

Page 14: Karim Fanadka

Before Agile - Delivery Timeline

1 or 2 Major releases to production in 1 year

Page 15: Karim Fanadka

Agile StormRunner Load Delivery Timeline

March April AugustJune Nov Dec

Whats the CodeName of the next release?If you know the answer, I will invite you to a

AlleyCat BubbleBobble Elevator Action Frogger Golden Axe Hang-On

FebruaryDec

CommanderKeen Digger

6 Major releases to production in 1 yearYear: 2015

Page 16: Karim Fanadka

Agile – The Challenges

• Test new features

• Test Regression

• Automation

• Environments

• Continues Integration / Continues Delivery

• Hotfixes

Do it in 1.5 months

• Data Migration (When update SaaS with the newer version)

• Performance Testing

• Security Testing

• Globalization

• Documentation

• And more …

Page 17: Karim Fanadka

journal note

As the first DevTest engineer at HPE I have been asked to build the first DevTest Team to handle:

• SaaS product testing

• Deliver fast

Page 18: Karim Fanadka

Modern QA Team (DevTest)

Page 19: Karim Fanadka

What is DevTest?Using top end QA/DEV practices combined with DevOps techniques

QA & DEV Working very close, on the same IDE, code base, and in united process

Automation is a MUST

Manual is for new features / exception flows that are difficult to automate

NO MORE “Deliveries for QA” YES for “Push to Production”

Page 20: Karim Fanadka

Training“we are testing, and breaking code constantly but we help rebuild it better…….”

Page 21: Karim Fanadka

Continues Testing

Push new code

Release branch (1.5 months)

Test new codeShort Regression

Push to production

Automation

Developer Engineer Test Engineer DevTest Team

Builds in 1 Release (1.5 month): 1,400• Full: 236• Commit: 1,164

Page 22: Karim Fanadka

Continuous Testing

Push new code

Automation – Full package

Builds in 1 Release (1.5 month): 1,400

Automation – Commit package

Feature branch

Release branch

Full: 236

Commit: 1,164

Developer Engineer

Page 23: Karim Fanadka

Modern QA

DevTest

DevOpsSaaS

Dev

Product

Customer

Page 24: Karim Fanadka

Automation

Page 25: Karim Fanadka

journal note

I was aware that automation must find real defects and not just false alarm, DevTest team has a new challenge, and it’s to build:

• Reliable frameworks

• Fast results (not more than 7 min)

Page 26: Karim Fanadka
Page 27: Karim Fanadka
Page 28: Karim Fanadka

Frameworks:

Frameworks Tests

Client Testing Framework

API Testing Framework

Cloud Framework

Results

Page 29: Karim Fanadka

Example for Automation challenge17 Regions in the Cloud 6 different images for each region

15 different metrics

102 Tests

(~1500 metrics)

Page 30: Karim Fanadka

Automation – Cloud Framework - Report

Page 31: Karim Fanadka

Grunt

Protractor

TestResults

WebDriver

Angular

SeleniumAPI’s

UIControls(Storm)

Test

DBLayer ProtractorWrapper

JasmineStyle JS

AutomationLibrary

Executer

Client automation framework

Page 32: Karim Fanadka

Grunt

MochaTestFrameworkTests

DBWrapper

APIWrapper

AutomationLibrary

StromRunnerAPIs

Repo

rts

TestsResults

Backend automation framework

Page 33: Karim Fanadka

API discovery tool

Page 34: Karim Fanadka

Cost cloud tool

Page 35: Karim Fanadka

030

80 100 120150 170

200

0 0

75120

147

220

390

600

0 0 0 0

100

200

270 270

0

100

200

300

400

500

600

700

1.1 - AlleyCat 1.2 - Bubble 1.3 - CK 1.4 - Digger 1.5 - Elevator 1.6 - Frogger 1.7 - Golden Axe

1.8 - Hang-On

Automation Active Tests - Trend

Client (UI) Backend Cloud

85% Coverage

100% Coverage

60% Coverage

Page 36: Karim Fanadka

Next Generation: Application Lifecycle Management

Page 37: Karim Fanadka

Test Environments

Page 38: Karim Fanadka

Test Environments Local

Lab – Simulate SaaS Env

• Each tester have his own local machine for fast testing

• Lab Env = 7 Servers• We have 6 Lab Env:

• QA1• QA2• Security• Performance• Integration

Staging

• SaaS responsible for staging:• Maintenance • Deployment• Sanity

Page 39: Karim Fanadka

Test Environments Farm

QA Security Performance IntegrationLocal (Linux)

Staging

Page 40: Karim Fanadka

Continuous Deployment

Page 41: Karim Fanadka
Page 42: Karim Fanadka

Continuous Deployment

Push new code

Automation – Full package

Builds in 1 Release (1.5 month): 1,400

Automation – Commit package

Feature branch

Release branch

Full: 236

Commit: 1,164

Developer Engineer

Page 43: Karim Fanadka

Continuous Deployment

Test Engineer

Developer Engineer

Hey Tester, How do you manage to handle this amount of builds and deployments on daily basis

I’m a Modern QA

Page 44: Karim Fanadka

Continuous DeliveryLab

Nexus

Tel Aviv

PIT

Jenkins

QA2

Security

PCoE

QA2 (Portal)

PIT

PIT

PIT

Page 45: Karim Fanadka

Hotfixes in 1 day

Page 46: Karim Fanadka

Hotfixes Lifecycle

07:00 AMProduction bug

08:00 AMResearch by QA and Dev

10:00 AMFixing bug

16:00 AMTesting (Staging)

14:00 AMTesting (Local)

18:00 Push to production

Page 47: Karim Fanadka

Articles • 10 best practices for QA teams to deliver quality software, fast

• Blurring the lines: How the development tester role changes on agile teams

• 3 steps to building test databases for the real world

Page 48: Karim Fanadka

Tip

“Changing our mindset takes precedence over technology.

When we work together, we will succeed.”

Thank you

Page 49: Karim Fanadka

@kim0z85

Question?

https://www.facebook.com/karim.f.as

https://il.linkedin.com/in/[email protected]

Karim Fanadka QA Manager HPE Software