Testing: Heaven or Hell

35
Testing: Heaven or Hell OpenWest 2014

description

Presentation from OpenWest 2014

Transcript of Testing: Heaven or Hell

Page 1: Testing: Heaven or Hell

Testing: Heaven or HellOpenWest 2014

Page 2: Testing: Heaven or Hell

About Me

Page 3: Testing: Heaven or Hell

What is a test?

● Automated?● Code?

Page 4: Testing: Heaven or Hell

Why Testing?

● Find bugs● Feel confident in the code● Product problems● Technology problems

Page 5: Testing: Heaven or Hell

What is a test?

● Agile Testing Quadrants– Brian Marick

– Agile Testing● Lisa Crispin● Janet Gregory

Page 6: Testing: Heaven or Hell
Page 7: Testing: Heaven or Hell

Quadrant 1

● Unit Tests● Component Tests

Page 8: Testing: Heaven or Hell

Quadrant 1 Hell

● User service rewrite– Focus on business

– Written long after code

– Filled with dependencies

Page 9: Testing: Heaven or Hell

Quadrant 1 Hell

● JavaScript Testing– Tests complete if they pass

– Manual tests

Page 10: Testing: Heaven or Hell

Quadrant 1 Heaven

● Revenue Dashboard– Focus on unit

– Write with code

Page 11: Testing: Heaven or Hell

Quadrant 1 Heaven

● Clipboard functionality– Isolate dependencies

– Write tests to fail

Page 12: Testing: Heaven or Hell

Benefits

● Find technical bugs early● Refactoring● Documentation● Design● Quick feedback

Page 13: Testing: Heaven or Hell
Page 14: Testing: Heaven or Hell

Quadrant 2

● Functional Tests● Examples● Story Tests● Prototypes● Simulations

Page 15: Testing: Heaven or Hell

Quadrant 2 Hell

● Documentation Search– Make it up as you go

– Don't worry about the problem being solved

Page 16: Testing: Heaven or Hell

Quadrant 2 Hell

● Documentation Search– Make it up as you go

– Don't worry about the problem being solved

Page 17: Testing: Heaven or Hell

Quadrant 2 Heaven

● Prototypes– Know what you need to do

– Ask for examples

Page 18: Testing: Heaven or Hell

Quadrant 2 Heaven

● Clipboard refactoring– Focus on solving the problem

– Test as the end user

Page 19: Testing: Heaven or Hell

Benefits

● Universally understood● Focuses on customer● Defines done-ness

Page 20: Testing: Heaven or Hell
Page 21: Testing: Heaven or Hell

Quadrant 3

● Exploratory Tests● Scenarios● Usability Testing● User Acceptance Testing● Alpha/Beta

Page 22: Testing: Heaven or Hell

Quadrant 3 Hell

● Test each piece separately– Never use the product as a user would

Page 23: Testing: Heaven or Hell

Quadrant 3 Hell?

● Angry customers● Negative feedback at sprint review

Page 24: Testing: Heaven or Hell

Quadrant 3 Heaven

● Customer feedback● Suggestions at sprint review● Work as a user

Page 25: Testing: Heaven or Hell

Benefits

● Determines next steps● Explore the system as a whole● Negative feedback can be positive

Page 26: Testing: Heaven or Hell
Page 27: Testing: Heaven or Hell

Quadrant 4

● Performance Testing● Load Testing● Security Testing● “-ility” Testing

– Reliability

– Maintainability

– Compatibility

Page 28: Testing: Heaven or Hell

Quadrant 4 Hell

Page 29: Testing: Heaven or Hell

Quadrant 4 Hell

● Google Apps Invitations– Don't think about volume

● Load testing on dev environment– Test load in a different configuration

Page 30: Testing: Heaven or Hell

Quadrant 4 Heaven

● Third-party security testing● Production environment for testing

Page 31: Testing: Heaven or Hell

Benefits

● Addresses soft requirements● Think about technology at scale● Test boundaries of technology

Page 32: Testing: Heaven or Hell

What is a test?

● Anything that attempts to disprove your assumptions

Page 33: Testing: Heaven or Hell
Page 34: Testing: Heaven or Hell

Testing Heaven or Hell

● Match tests to assumptions

Page 35: Testing: Heaven or Hell

Questions?