simplicity: the path to achieving agile testing … · simplicity: the path to achieving agile...

28
Renaissance Hotel 1 West Wacker Drive Chicago IL 60601 Speaker(s): Paul Herzog When: April 20, 2016 Company: SPR Consulting Time: 10:00 am - 11:00 am CHICAGO April 18th — April 22th Simplicity: The Path to Achieving Agile Testing Efficiency

Upload: votu

Post on 20-Sep-2018

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

Renaissance Hotel 1 West Wacker Drive Chicago IL 60601

Speaker(s): Paul Herzog When: April 20, 2016

Company: SPR Consulting Time: 10:00 am - 11:00 am

CHICAGO April 18th — April 22th

Simplicity: The Path to Achieving Agile

Testing Efficiency

Page 2: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

SIMPLICITY: THE PATH TO ACHIEVING

AGILE TESTING EFFICIENCY

QUEST 2016

1

Page 3: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

2

MY INSPIRATION FOR THIS TOPIC

Page 4: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

WHY BE AGILE?

3

Why do businesses adopt Agile

Methodologies?

Page 5: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

4

They want to develop

software products faster!

With rare exception, EVERY business decision is about going faster!

They just call it “efficient” instead…”faster” implies “sloppy”.

Page 6: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

AGILE – A LEVEL SET

• Project management methods for software

• From Lean manufacturing

• Small, self-sufficient teams

• A manifesto was developed on four values:• Individuals & Interactions over Processes & Tools

• Working software over Comprehensive documentation

• Customer collaboration over Contract negotiation

• Responding to change over Following a plan

• Twelve Principles are behind the Values

5

Page 7: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

Principle #10

“Simplicity – the art of maximizing work not done –

is essential”

As testers, without a defined role on an Agile Team, we

must look for Principle #10 in every aspect of our job

6

MY FAVORITE AGILE PRINCIPLE

Page 8: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

LIVING PRINCIPLE #10

• What you do as a tester should be analyzed:• Change it?

• Do less of it?

• Remove it entirely?

• Focus on what’s left at each Agile milestone:• Inception (“Sprint 0”)

• Sprint 1 – Test Planning

• Sprint <n> - Test Execution & Defects

• Sprint Retrospectives – Process Improvements

7

Page 9: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

PROJECT INCEPTION: SPRINT 0

• Stakeholders create and estimate initial user story backlog

• What’s Important:• Ask questions of stories and acceptance criteria

• Plan test repository

• Propose improvements to testing processes, milestones and deliverables

• Identify project metrics – use the GQM model

8

Page 10: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

SPRINT 0: ANALYZING DELIVERABLES

9

Does anyone read this?

Who else needs it?

Do you have a

standalone repository?Do you need a formal

review process?

What do we do

with this info?

Do these drive

process improvement?

If your team won’t use it during the project…

and won’t use it to improve later…

DON’T DO IT!

Test Plans /

Strategies

Test Suite

Design

Test Review

Meetings

Test Result

Report

Defect

Metrics

Traceability

Matrix

Is this automatic

to our test tool?

Page 11: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

BY THE WAY, DELIVERABLES ARE OK

• Agile DOES NOT MEAN “you don’t need or

have documentation”

• Some projects greatly benefit from traditional

documents

• Some industries require a high volume of

documentation of every step of the process

• …but documents are project overhead!

Page 12: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

SPRINT 0: GQM

• Goals have:

• Purpose

• Issue

• Object

• Viewpoint

• Questions are about characterizing the objects

• Metrics are numbers to answer the questions

Page 13: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

WHAT’S A VALUABLE METRIC?

Metrics must either:

Assist in day-to-day project management

Drive process improvements

Fulfill industry requirements

Page 14: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

SPRINT 1: TEST PLANNING

• Get involved

• DO NOT wait until Sprint Planning to see User Stories

• Read…review acceptance criteria…estimate…digest…

start thinking about how to test…ASAP

• Ask the right questions

• Where are my data sources?

• What APIs or other interfaces are implemented?

• Schedule of deployments to a test environment?

13

Page 15: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

SPRINT 1: DON’T SWEAT THE DETAIL

• Business-oriented testing, not functional

• Don’t wait for comprehensive requirements

• Why have detailed requirements?

• Adds overall value, or just easier for you?

• Make less work for yourself…and others!

Page 16: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

SPRINT <N>: TEST CASE CREATION

• Necessary component of the process

• Greatest time waster (if you do it wrong!)

• What’s Important:

• Clear detail for future automation

• Coverage to support each user story or requirement

• Don’t write tests for code that won’t change again

• Purposeful negative conditions

Page 17: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

THE NEGATIVE CONDITION “PARTY”

It can be really fun to try to break the

software for the sake of breaking it…

“FUN” does not equal “PRODUCTIVE”

Test for ROBUSTNESS!

Page 18: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

SPRINT <N>: NEW WORK OR BUGS?

• Know ahead of time how to prioritize

development

• New features?

• Bug fixes?

• If you wait until there’s a backlog, you’re too late

• “Zero backlog” approach

17

Page 19: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

SPRINT <N>: TEST EXECUTION

• Basic stats - Pass/Fail counts, remaining tests

• Does your team need any more than that?

• Root Cause Analysis metadata for failed tests

• Connect RCA to your GQM model

• RCA can drive great process improvements

…BUT YOU HAVE TO USE IT!!

Page 20: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

ROOT CAUSE SWIM LANES

Multiple people, multiple conversations for each failure!

How are you using this data to improve your process?

Page 21: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

RETROSPECTIVE: RCA IMPROVEMENT

Failure Types – why did this test fail?

Resolution – what changed to fix the

problem?

How do we prevent either from happening again?

Page 22: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

SPRINT <N>: DEFECT STATE MANAGEMENT

• Understand each defect state

• New

• Assigned

• Committed

• Done

• Your team can have more…but why?

• Tie it back to your GQM model

Page 23: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

HAVE YOU EVER SEEN THIS?

22

Page 24: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

RETROSPECTIVE: NO HOARDING!

• Each data point leads to decision & dissent.

• The more you have, the more you add.

10 metadata changes per bug X

1 minute each X 500 bugs =

OVER 80 MAN-HOURS

Page 25: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

RETROSPECTIVE: REMOVE “REMOVED”?

• Every defect model has a Removed state…

what’s it for?

• “Duplicate”

• “Pending”

• “Not an Issue”

• Your team has all the data. Use it to improve!

Page 26: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

Involved from Inception

Necessary Deliverables

Evaluate Acceptance

Criteria ASAP

No Perfect Requirements

Manual Tests for

Automation

No “Tests for Bugs”

Purposeful Negative

Conditions

Bug Fix Priority

Root Cause Improvements

Streamlined Defect States

Improve from Removed

KEEP CLEANING!

YOUR “CHECKLIST”

Page 27: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

IF YOU ONLY REMEMBER ONE THING…

If you can’t tell me WHY you’re doing something…

…and HOW it helps your Agile team…

STOP DOING IT!!

Page 28: Simplicity: The Path to Achieving Agile Testing … · Simplicity: The Path to Achieving Agile Testing Efficiency . ... Involved from Inception Necessary Deliverables Evaluate Acceptance

Testing is no longer the last step in the Software

Development Life Cycle. It is our responsibility to make

sure we add value to every aspect of quality software.

Be efficient. Be undeniably important to your projects.

Paul Herzog

Delivery Manager, Testing Services Practice

[email protected]

312.756.1760 x410

27