Karim Fanadka

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

Transcript of Karim Fanadka

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