Shift left-devoxx-pl

53
#DevoxxPL @wakaleo SHIFT-LEFT The role of the tester in a DevOps World @wakaleo www.johnfergusonsmart.com

Transcript of Shift left-devoxx-pl

Page 1: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

SHIFT-LEFTThe role of the tester in a DevOps World

@wakaleo

www.johnfergusonsmart.com

Page 2: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Change is not constant

Change is accelerating

Page 3: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Don’t work in silos

Modern test teams…

Page 4: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Prevent more bugs than they find

Modern test teams…

Page 5: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Engage early

Modern test teams…

Page 6: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Master automation

Modern test teams…

Page 7: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Play with production

Modern test teams…

Page 8: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

How can testers stay at the top of their game?

Page 9: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

440x faster lead time

5x lower change failure rate

DevOps is…

96x faster mean time to recover

Page 10: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

But deploying a broken product faster does not make it any less broken

Page 11: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

But deploying a useless product faster does not make it any more useful

Page 12: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Rapid

ReliableRelevant

Quick to deploy, quick to test

Verified by automated testing at multiple levels

Driven by a deep understanding of business needs

DevOps is…

Page 13: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Shift-LeftRequirements

Discovery Stretch rightProduction Monitoring and testing

Lift upBetter, faster automation

Push

out

Exploratory testing

Traditional testing

Page 14: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Shift-LeftRequirements

Discovery Stretch rightProduction Monitoring and testing

Lift upBetter, faster automation

Push

out

Exploratory testing

Traditional testing

Page 15: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

The $600,000 Tester

Page 16: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Left-Shifting

Embracing uncertainty earlier rather than later

Page 17: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Business

BA

Developers

As a corporate frequent flyer I want to earn points on my business flights So that I can get discounts on my holiday flights

Scenario: First class earns double points Given I fly from London to Paris When I am in First Class Then I should earn twice as many points …

Testers

TEST SCRIPT… … …

Page 18: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Business

BA

Developers

As a corporate frequent flyer I want to earn points on my business flights So that I can get discounts on my holiday flights

Scenario: First class earns double points Given I fly from London to Paris When I am in First Class Then I should earn twice as many points …

Testers

TEST SCRIPT… … …

rework

misinterpretation

missed opportunities

Page 19: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Page 20: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

source: - 44% - “Out of Control - Why Control Systems Go Wrong and How to Prevent Failure” - 56% - “An Information Systems Manifesto” - 80% - “Requirements: A quick and inexpensive way to improve testing”

44-80%of all defects are caused by unclear, ambiguous or incorrect requirements

Page 21: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Business

BA

Developers

Testers

As a corporate frequent flyer I want to earn points on my business flights So that I can get discounts on my holiday flights

Examples

Rules

Acceptance Criteria

SHARED UNDERSTANDING

Executable Specifications

Scenario: First class earns double points Given I fly from London to Paris When I am in First Class Then I should earn twice as many points

Scenario: First class earns double points Given I fly from London to Paris When I am in First Class Then I should earn twice as many points

Development and exploratory testing

Page 22: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

The Advocate

Page 23: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

The Sceptic

Page 24: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

The Cross-Examiner

Page 25: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Advocate

Sceptic Cross-Examiner

What should it do?

How can it work?What can go wrong? How can we prove it works?

Page 26: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Shift-LeftRequirements

Discovery Stretch rightProduction Monitoring and testing

Lift upBetter, faster automation

Push

out

Exploratory testing

Traditional testing

Page 27: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

If you don’t master automation

You become a slave to automation

Page 28: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Are wary of vendor hype

Successful DevOps teams

Page 29: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Treat their test automation code like their production code

Successful DevOps teams

Page 30: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Make their application testable

Successful DevOps teams

Page 31: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Use layers of abstraction well

Successful DevOps teams

Page 32: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Obsess over feedback

Successful DevOps teams

Page 33: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Good DevOps tests are FAST

Fast

Page 34: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Good DevOps tests are FAST

FastActionable

Page 35: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Good DevOps tests are FAST

FastActionableScalable

Page 36: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Good DevOps tests are FAST

FastActionable

TrustworthyScalable

Page 37: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Shift-LeftRequirements

Discovery Stretch rightProduction Monitoring and testing

Lift upBetter, faster automation

Push

out

Exploratory testing

Traditional testing

Page 38: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

FAKE NEWS!

Page 39: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Practice Continuous Testing

Successful DevOps teams

Page 40: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Unleash the Monkeys of Chaos

"The best defence against major unexpected failures is to fail often. By frequently causing failures, we force our services to be built in a

way that is more resilient”

- Netflix engineer Cory Bennett and executive Ariel Tseitlin

Page 41: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Shift-LeftRequirements

Discovery Stretch rightProduction Monitoring and testing

Lift upBetter, faster automation

Push

out

Exploratory testing

Traditional testing

Page 42: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

SCARLETCRIMSON

Page 43: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

REDRED

Page 44: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Test automation should serve the team

Not the other way round.

Page 45: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

The six stages of QA DevOps Maturity

Name Focus Benefits

Page 46: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

The six stages of QA DevOps Maturity

Name Focus Benefits

Siloed

Page 47: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

The six stages of QA DevOps Maturity

Name Focus Benefits

Colocated Breaking down the silos Reduce delivery bottlenecks

Siloed

Page 48: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

The six stages of QA DevOps Maturity

Name Focus Benefits

Engaged Improving collaboration Prevent bugs and deliver the right product

Colocated Breaking down the silos Reduce delivery bottlenecks

Siloed

Page 49: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

The six stages of QA DevOps Maturity

Name Focus Benefits

Mechanised Effective automation Deliver the right product faster

Engaged Improving collaboration Prevent bugs and deliver the right product

Colocated Breaking down the silos Reduce delivery bottlenecks

Siloed

Page 50: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

The six stages of QA DevOps Maturity

Name Focus Benefits

Pioneering Leverage Delight the customer

Mechanised Effective automation Deliver the right product faster

Engaged Improving collaboration Prevent bugs and deliver the right product

Colocated Breaking down the silos Reduce delivery bottlenecks

Siloed

Page 51: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

The six stages of QA DevOps Maturity

Name Focus Benefits

Projecting Experimentation Deliver value faster, and learning from it

Pioneering Leverage Delight the customer

Mechanised Effective automation Deliver the right product faster

Engaged Improving collaboration Prevent bugs and deliver the right product

Colocated Breaking down the silos Reduce delivery bottlenecks

Siloed

Page 52: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

Would you like to know more?

Subscribe to the newsletter

https://www.johnfergusonsmart.com

Read the book!

Page 53: Shift left-devoxx-pl

#DevoxxPL#DevoxxPL @wakaleo

QUESTIONS?

www.johnfergusonsmart.com

@wakaleo