Creating A Unit Testing Strategy

20
@gil_zilberfel Unit testing strategy

Transcript of Creating A Unit Testing Strategy

Page 1: Creating A Unit Testing Strategy

@gil_zilberfeld

Unit testing strategy

Page 2: Creating A Unit Testing Strategy

@gil_zilberfeld

Hello!

I AM GIL ZILBERFELD

www.gilzilberfeld.comwww.everydayunittesting.com

www.fastee.im

@gil_zilberfeld

Page 3: Creating A Unit Testing Strategy

@gil_zilberfeld

What is unit testing?

Page 4: Creating A Unit Testing Strategy

@gil_zilberfeld

What is unit testing?

And why does it need a strategy?

Page 5: Creating A Unit Testing Strategy

@gil_zilberfeld

Brian Marick’s Testing

Quadrants

Page 6: Creating A Unit Testing Strategy

@gil_zilberfeld

Skills

PlanningWriting

DesigningPrioritizing

TestingReporting

RefactoringAnd more…

Page 7: Creating A Unit Testing Strategy

@gil_zilberfeld

The grand plan

Where do we test?

What kind of tests?

What can give us the most confidence?

What can we not test?

Page 8: Creating A Unit Testing Strategy

@gil_zilberfeld

Ten steps to the epiphany

Page 9: Creating A Unit Testing Strategy

@gil_zilberfeld

Prerequisites

Source control

Continuous integration

Branching methodology

Training

Page 10: Creating A Unit Testing Strategy

@gil_zilberfeld

Which way to go?

Test first or after

TDD and BDD

Which tools to use

Skillz

Page 11: Creating A Unit Testing Strategy

@gil_zilberfeld

Understanding the problem

Slicing the stories

Mapping test cases

Risks

Edge cases

Page 12: Creating A Unit Testing Strategy

@gil_zilberfeld

Dealing with legacy code

What are the risks

Critical code

Recurring bugs

Preparatory refactoring

Page 13: Creating A Unit Testing Strategy

@gil_zilberfeld

Designing a solution

Where are the dependencies

What will need mocking

Remember to involve the testers

Page 14: Creating A Unit Testing Strategy

@gil_zilberfeld

Design for testability

Use ports and adapters

Expose seams

Avoid the evil singletons

Use the SOLID principles

Page 15: Creating A Unit Testing Strategy

@gil_zilberfeld

Test categorization

What is a unit

Test organization

What can we run quickly

Set the CI to run the different levels

Page 16: Creating A Unit Testing Strategy

@gil_zilberfeld

Write the tests

About time, isn’t it?

Page 17: Creating A Unit Testing Strategy

@gil_zilberfeld

Review

Code review

Test review

Documentation

Definition of Done

Page 18: Creating A Unit Testing Strategy

@gil_zilberfeld

Knowledge sharing

… is knowledge caring

Don’t keep what you’ve learned for

yourself!

Page 19: Creating A Unit Testing Strategy

@gil_zilberfeld

Unit testing?

There’s a process for that!

Page 20: Creating A Unit Testing Strategy

@gil_zilberfeld

Thanks!

ANY QUESTIONS?

You can find me at:@gil_zilberfeld

http://www.GilZilberfeld.comhttp://www.EverydayUnitTesting.com

http://www.fastee.im