Convincing your PM to let you fix bugs

Preview:

DESCRIPTION

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

Citation preview

Convincing your PMto let you fix bugs

Garret Fick

19 April 2012

Discovered code I wrote caused customer crash

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

Objective

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

• Not teach you how to write integration tests

LACK OF CONFIDENCEWhere did it go?

What you need to know

What you need to know

Automated tests were failing

What you need to know

A fix was found

The fix was a one-line fix

Fix not included in the release

We were okay to exclude because…

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

NOTCONFIDENT?

IT IS YOURCODE!

Testing and quality

Unit System

External quality

Confi

denc

e

Internal quality

Unknown coveragegives a

confidence gap

Confidence gap

Unit Integration System

Exte

rnal

qua

lity

Confi

denc

e

Inte

rnal

qua

lity

A confidence gap means…

Fix not included in the release

Fixing the confidence gap may mean…

Fix included in the release

USING INTEGRATION TESTSTo fill the confidence gap

Integration tests…

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

Benefits

Risks

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

• Duplication• Maintainability

LAST REMARKS

19 April 2012

Don’t let it happen to you

Don’t be afraid - test

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

Recommended