convincing your pm to let you fix bugs

22
Convincing your PM to let you fix bugs Garret Fick

Upload: garret-fick

Post on 21-May-2015

185 views

Category:

Software


0 download

DESCRIPTION

How does integration (or functional) testing help improve confidence in software quality.

TRANSCRIPT

Page 1: Convincing your PM to let you fix bugs

Convincing your PMto let you fix bugs

Garret Fick

Page 2: Convincing your PM to let you fix bugs

19 April 2012

Discovered code I wrote caused customer crash

Page 3: Convincing your PM to let you fix bugs

This isn’t about timeline??/??/2011 Many tests failing

??/??/2011 Crash introduced, many tests still failing

29/12/2011 “Testing-only bug” fixed

12/02/2012 Product released with crash

19/04/2012 WinQual (crash reports) show bug

29/09/2012 Included in service pack

Page 4: Convincing your PM to let you fix bugs

Objective

• Convince the value of integration tests• Share my best practices

• Not teach you how to write integration tests

Page 5: Convincing your PM to let you fix bugs

LACK OF CONFIDENCEWhere did it go?

Page 6: Convincing your PM to let you fix bugs

What you need to know

Page 7: Convincing your PM to let you fix bugs

What you need to know

Automated tests were failing

Page 8: Convincing your PM to let you fix bugs

What you need to know

A fix was found

Page 9: Convincing your PM to let you fix bugs

The fix was a one-line fix

Page 10: Convincing your PM to let you fix bugs

Fix not included in the release

Page 11: Convincing your PM to let you fix bugs

We were okay to exclude because…

• We didn’t know it would crash• We didn’t feel confident to fix

Page 12: Convincing your PM to let you fix bugs

NOTCONFIDENT?

IT IS YOURCODE!

Page 13: Convincing your PM to let you fix bugs

Testing and quality

Unit System

External quality

Confi

denc

e

Internal quality

Page 14: Convincing your PM to let you fix bugs

Unknown coveragegives a

confidence gap

Confidence gap

Unit Integration System

Exte

rnal

qua

lity

Confi

denc

e

Inte

rnal

qua

lity

Page 15: Convincing your PM to let you fix bugs

A confidence gap means…

Fix not included in the release

Page 16: Convincing your PM to let you fix bugs

Fixing the confidence gap may mean…

Fix included in the release

Page 17: Convincing your PM to let you fix bugs

USING INTEGRATION TESTSTo fill the confidence gap

Page 18: Convincing your PM to let you fix bugs

Integration tests…

• Small-ish modules of code• Black box tests• Cross boundaries• Probably use common utilities• May use mocks

Page 19: Convincing your PM to let you fix bugs

Benefits

Risks

• Increase confidence• Increase test coverage• Fast to write (leverage unit tests setup)• Accelerate development (no UI)

• Duplication• Maintainability

Page 20: Convincing your PM to let you fix bugs

LAST REMARKS

Page 21: Convincing your PM to let you fix bugs

19 April 2012

Don’t let it happen to you

Page 22: Convincing your PM to let you fix bugs

Don’t be afraid - test

• Tests increase confidence– Unit for coverage– Integration for interactions– System for regressions