Quality Assurance in a DevOps World

32
MaestroDev Quality Assurance in a DevOps World Enabling Trust Kit Plummer http://kitplummer.github.com [email protected] 1 Tuesday, February 22, 2011

description

My slide deck from SCALE9x / DevOpsDay in LA. I blew the presentation, but hopefully the content had some value.

Transcript of Quality Assurance in a DevOps World

Page 1: Quality Assurance in a DevOps World

MaestroDev

Quality Assurancein a

DevOps World

Enabling Trust

Kit Plummerhttp://[email protected]

1Tuesday, February 22, 2011

Page 2: Quality Assurance in a DevOps World

MaestroDev

DevOps is an ecosystem of...

•People (relationships)

•Processes (activities)

•Product(s)

2Tuesday, February 22, 2011

Page 3: Quality Assurance in a DevOps World

MaestroDev

Ecosystem…

• Applied on top of columnar organizations:–Development/SW eng./design/etc.–Quality assurance/testing/delivery–Product eng./operations/customers

3Tuesday, February 22, 2011

Page 4: Quality Assurance in a DevOps World

MaestroDev

Current DevOps thinking is...

• aligned with the Agile Manifesto,

• and prescribes itself as a Cultural (organizational) and Professional (personal) movement.

4Tuesday, February 22, 2011

Page 5: Quality Assurance in a DevOps World

MaestroDev5Tuesday, February 22, 2011

Page 6: Quality Assurance in a DevOps World

MaestroDev6Tuesday, February 22, 2011

Page 7: Quality Assurance in a DevOps World

MaestroDev7Tuesday, February 22, 2011

Page 8: Quality Assurance in a DevOps World

MaestroDev8Tuesday, February 22, 2011

Page 9: Quality Assurance in a DevOps World

MaestroDev

Trust is the cornerstone...

• Patrick Debois' math - based on Covey's "4 Cores":

• trust = ƒ(character,competence)• character = ƒ(integrity, intent)• competence = ƒ(capabilities, results)

9Tuesday, February 22, 2011

Page 10: Quality Assurance in a DevOps World

MaestroDev

Trust is a QA deliverable...

•Results are the indicator

•Testing is the apparatus

•Proof of quality is the target

10Tuesday, February 22, 2011

Page 11: Quality Assurance in a DevOps World

MaestroDev11Tuesday, February 22, 2011

Page 12: Quality Assurance in a DevOps World

MaestroDev

The Continuum (borked)

12Tuesday, February 22, 2011

Page 13: Quality Assurance in a DevOps World

MaestroDev

Proof == Trust

13Tuesday, February 22, 2011

Page 14: Quality Assurance in a DevOps World

MaestroDev

Qualty Assuance

• Product Control–Requirements–Change–Release

• Catch “bugs” before presentation–Functional AND Non-Functional

14Tuesday, February 22, 2011

Page 15: Quality Assurance in a DevOps World

MaestroDev

Bi-Directional (required)

15Tuesday, February 22, 2011

Page 16: Quality Assurance in a DevOps World

MaestroDev

QA Frontend

• Agile–QA/Testers on

team–Stories -> UAT–Continuous

Integration

16Tuesday, February 22, 2011

Page 17: Quality Assurance in a DevOps World

MaestroDev

QA Backend

• Test harness(es)– Integration–Functional–Non-functional

17Tuesday, February 22, 2011

Page 18: Quality Assurance in a DevOps World

MaestroDev

QA’s DevOp Priorities

• Testing must be a first-class citizen

18Tuesday, February 22, 2011

Page 19: Quality Assurance in a DevOps World

MaestroDev

QA’s DevOp Priorities

• Testing must be a first-class citizen

“We’re not worried about testing...our biggest

problem is automating deployment”

18Tuesday, February 22, 2011

Page 20: Quality Assurance in a DevOps World

MaestroDev

QA’s Priorities (cont.d)

• Release management

19Tuesday, February 22, 2011

Page 21: Quality Assurance in a DevOps World

MaestroDev

Driving Trust via Releases

• Proof (Testing) Results (Deliverables)

Unit and IntegrationLibraries/Apps(promoted)

FunctionalValidated &Versioned(released)

Functional &Non-FunctionalIntegrated &Deployed

20Tuesday, February 22, 2011

Page 22: Quality Assurance in a DevOps World

MaestroDev

Dev-QA-Ops Choreography

21Tuesday, February 22, 2011

Page 23: Quality Assurance in a DevOps World

MaestroDev

Push QA into Ops and Dev

• *DD–Behavior DD (Agile QA?)–Pulls non-functional from Ops–Pushes non-functional to Devs

• Less Unit, Mo Integration, Less Mock• Automate functional, but to a point• Ops and QA enable Dev testing

22Tuesday, February 22, 2011

Page 24: Quality Assurance in a DevOps World

MaestroDev

Push QA into Ops and Dev

• *DD–Behavior DD (Agile QA?)–Pulls non-functional from Ops–Pushes non-functional to Devs

• Less Unit, Mo Integration, Less Mock• Automate functional, but to a point• Ops and QA enable Dev testing

“BDD has reduced our prerelease bugs by 80%,

in a side-by-side comparo”

22Tuesday, February 22, 2011

Page 25: Quality Assurance in a DevOps World

MaestroDev

Alternative Perspective

• Building missiles– Platform shall have a maximum range of

100km

23Tuesday, February 22, 2011

Page 26: Quality Assurance in a DevOps World

MaestroDev

Validation and Verification

Modeling & SimsAlgorithms/Designs

FunctionalLibrariesApps/Services

Functional &Non-FunctionalIntegrated &Deployed

24Tuesday, February 22, 2011

Page 27: Quality Assurance in a DevOps World

MaestroDev

Quality Quality

• Tests must be good–More to it than just assertions

• True negatives? False Positives?–Testing for Failure

• Brittle Tests? Avoid testing content• Changes should come with tests

(open sourcey way)

25Tuesday, February 22, 2011

Page 28: Quality Assurance in a DevOps World

MaestroDev

Truth isn’t Good Enough

• Regressions (read blame)–A single version change affects truth

• Measuring/Monitoring–Earlier the better

• Trending (continuous improvement)–Continuous improvement

26Tuesday, February 22, 2011

Page 29: Quality Assurance in a DevOps World

MaestroDev

Dev/QA Reporting

27Tuesday, February 22, 2011

Page 30: Quality Assurance in a DevOps World

MaestroDev28Tuesday, February 22, 2011

Page 31: Quality Assurance in a DevOps World

MaestroDev

DevOps

29Tuesday, February 22, 2011

Page 32: Quality Assurance in a DevOps World

MaestroDev

Questions

http://devopsweekly.com/

30Tuesday, February 22, 2011