Slide 1

Slide 1 text

How to write good tests?

Slide 2

Slide 2 text

Honestly, I don’t know

Slide 3

Slide 3 text

But, there are properties of good tests…

Slide 4

Slide 4 text

… are written before code

Slide 5

Slide 5 text

… are running very fast

Slide 6

Slide 6 text

… are helping to find regressions

Slide 7

Slide 7 text

Writing unit tests is not about code verification

Slide 8

Slide 8 text

… it’s about code quality and design

Slide 9

Slide 9 text

Think different Think TDD

Slide 10

Slide 10 text

Could TDD be applied to everything?

Slide 11

Slide 11 text

In short, yes code, requirements, ui

Slide 12

Slide 12 text

Should TDD be applied to everything?

Slide 13

Slide 13 text

Probably, no simple tasks, prototypes

Slide 14

Slide 14 text

There are few techniques of writing tests

Slide 15

Slide 15 text

Classic school Kent Beck, 90’s Inside-Out design Focusing on logic (algorithms)

Slide 16

Slide 16 text

London school Jason Gorman, 00’s Outside-In design Focusing on collaboration Mocks

Slide 17

Slide 17 text

What about integration tests?

Slide 18

Slide 18 text

They are slow, hard to write, hard to setup… but

Slide 19

Slide 19 text

… they usually caught most nasty bugs.

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

Maintaining test driven cycle

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Acceptance test (PO communication) API (integration) tests Utils (units) tests

Slide 24

Slide 24 text

Thanks, @alexbeletsky