Top Banner
1 Scaled Agile Testing in a DevOps Environment By: Reindrich Geerman October 02 nd 2017
52

Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Jun 28, 2018

Download

Documents

NguyễnNhân
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: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

1

Scaled Agile Testing in a DevOps Environment By: Reindrich Geerman

October 02nd 2017

Page 2: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Reindrich Geerman

2

Digital QA Architect

Page 3: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

3

KPN & Digital

Team Evolution

Test & Tech. Evolution

We Own

Page 4: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

4

Page 5: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

5

Page 6: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

6

Page 7: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

7

Page 8: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

8

Customer Master KPN-ID BI & Analytics

Page 9: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

9

KPN & Digital

Team Evolution

Test & Tech. Evolution

We Own

Page 10: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

The Waterfall (a.k.a The Past)

10

Requirement

Design

Development

Deployment

Testing

Time in months

Page 11: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Finding bugs

11

X

Manual Tests Through UI

Integration Test

Unit Tests

Page 12: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Agile Scrum

12

Develop

Testing

Evaluation/Prioritisation

Requirements

Design & Analysis

Potentially Shippable Product

Time in days

Page 13: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Agile Scrum

13

Sprint 1 Sprint 2 Sprint 3 Sprint 4

Continue

Page 14: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

The Agile Scrum Waterfall

14

Requirement

Design

Development

Requirement

Design

Development

Testing

Deployment

Sprint 1 Sprint 2

Continue

Page 15: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Team Evolution

15

Page 16: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Fase 0

16

Outsourcing Partners Big Contracts

4 Deployments per Year Big Test Teams (30+)

Page 17: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Fase 1

17

Started with Scrum Teams Started with Test Automation

1 Deployment every other Sprint (12 per Year) 4 Developers

2 Testers

Page 18: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Fase 2

18

“Big” Scrum Team Continuous Testing

Started with Automation

1 Deployment per Sprint (2 weeks) 6 Developers

3 Testers

Page 19: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Fase 3

19

Small Scrum Team Complete CI/CD

Started with DevOps

More than 1 Deployment per Day (10 or more per sprint) 5 Dev/Test

Page 20: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Fase 4

20

Small Scrum Team Platform Team

Started with Eco Team

Deployment on each Code Commit 5 Dev/Test

Support Team

Page 21: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

21

KPN & Digital

Team Evolution

Test & Tech. Evolution

We Own

Page 22: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

KPN Digital Stack

22

Backends

Databases

Python/Django

OR

Page 23: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Fail Often23

Fail Early

Fail Fast

Dev/Test Strategy

Page 24: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Initial Test Framework

24

DEV

TEST

ACC

PROD

SOURCE

CONTROL

JENKINS

BUILD

SYSTEM

RUN TEST

OR

Page 25: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

25

Page 26: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

26

Page 27: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

E2E Integration Testing

27

“The purpose of carrying out end-to-end tests is to identify system dependencies and to ensure that the right information is passed between various system

components and systems.”

Back-end’s Databases

Page 28: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

28

Page 29: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Slow Tests

29

Page 30: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Cross Team Collaboration

30

Page 31: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Agile Testing

31

Understanding Value, Priority & Risk

Quality is a Team Responsibility

Zero-Touch Testing

Continuous Quality Monitoring

Page 32: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Prevent Bugs

32

X

Manual Tests Through UI

Integration Test

Unit Tests

X

Automated UI Tests

Automated Integration Test

Unit Tests

Exploratory Testing

Find bugs Prevent bugs

Page 33: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

33

Page 34: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

We Are All Testers

34

DevTest DevTest DevTest

You Build it, You Automate it, We Break it

Page 35: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Dynamic Settings

35

API Client

(Browser)

SETTINGS MAPPING

Backend backend1.tst1.kpn.com

Internet & Bellen …

Mobile …

SSO_enabled …

ETCD

Backend 1 HTTP Request backend.tst1.kpn.com

Backend 2

backend.tst2.kpn.com

HTTP Header Backend = Backend 2 (backend.tst2.kpn.com)

Page 36: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Detox

36

Page 37: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Tester Role?

37

Shift Left

Test Coach/Consultant • Code Review (unit test, code) • Create User Story (BDD) /review • Acceptatie criteria • (Test) Automation • Writes Test cases (TDD) • …

Shift Right

Technical/Operational Dev. • (Test) Automation • CI/CD Engineer • Release management • OPS • Aftercare • Testing the NFR’s • …

Page 38: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

BDD User story

38

As a user I want to be able to login to KPN Selfcare environment, so that I can manage my Personal Detail information

GIVEN The user is on the login pageAND Enters the correct KPN-ID Credentials

WHEN The user clicks on the Login ButtonAND The user clicks on the Change Details Button

THEN The user is able to change his personal detailed information

Page 39: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Robot Framework

39

Page 40: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Robot Framework Architecture

40

Robot Framework

Test Scripts

Flow Object

Page Object

Libraries

Page 41: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Automated Visual Testing

41

Page 42: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Detailed Test Report

42

Page 43: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Detailed Test Report

43

Page 44: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Zero Touch Deployment

44

DEV

TEST

ACC

PROD

SOURCE CONTROL

< / >

•  Unit, •  Functional, •  Multibrowser, •  Performance, •  Security Testing

Page 45: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

45

KPN & Digital

Team Evolution

Test & Tech. Evolution

We Own

Page 46: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Continuous Customer Journey Monitoring

46

PROD

RUN TEST

Rerun Failed Test

1x

Wait x min

Page 47: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Customer Experience Monitoring

47

Social Studio Usabilla

Page 48: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Technical Monitoring

48

Page 49: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

Technical Monitoring

49

Page 50: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

DevOps Tools

50

Page 51: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

51

Reindrich Geermanm: +31657497774 e: [email protected] in: reindrichgeerman t: @reinst42

Page 52: Scaled Agile Testing in a DevOps Environment - Sogeti.nl Testing in a... · Agile Scrum 13 Sprint 1 Sprint 2 Sprint 3 ... Development Requirement Design Development Testing Deployment

52

Question? August 31st 2017