Slide 1

Slide 1 text

W: rbrt.wllr.info | T: @RobDWaller Test to Break Principles Why You Should Crash Your Car Into a Tree

Slide 2

Slide 2 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 3

Slide 3 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 4

Slide 4 text

W: rbrt.wllr.info | T: @RobDWaller What is a Unit Test?

Slide 5

Slide 5 text

W: rbrt.wllr.info | T: @RobDWaller 3 Types of Test

Slide 6

Slide 6 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 7

Slide 7 text

W: rbrt.wllr.info | T: @RobDWaller TDD Tips Test Business Logic Test Private Methods Test Input / Output Test Big Methods Do Don’t

Slide 8

Slide 8 text

W: rbrt.wllr.info | T: @RobDWaller Test to Work

Slide 9

Slide 9 text

W: rbrt.wllr.info | T: @RobDWaller Example 1. Given the driver has a valid car key. When they insert the key into the ignition. And they turn the key. Then the car's engine starts.

Slide 10

Slide 10 text

W: rbrt.wllr.info | T: @RobDWaller Example 2. Given the driver has an invalid car key. When they insert the key into the ignition. And they turn the key. Then the car's engine will not start.

Slide 11

Slide 11 text

W: rbrt.wllr.info | T: @RobDWaller Test to Break

Slide 12

Slide 12 text

W: rbrt.wllr.info | T: @RobDWaller Example 1. Given the driver has a screwdriver. When they insert it into the ignition. And turn the screwdriver. Then the car's engine will not start.

Slide 13

Slide 13 text

W: rbrt.wllr.info | T: @RobDWaller Example 2. Given a car is traveling at 30 mph. When it hits a tree. Then all the seat belts tighten. And the airbags deploy.

Slide 14

Slide 14 text

W: rbrt.wllr.info | T: @RobDWaller Code Example

Slide 15

Slide 15 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 16

Slide 16 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 17

Slide 17 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 18

Slide 18 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 19

Slide 19 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 20

Slide 20 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 21

Slide 21 text

W: rbrt.wllr.info | T: @RobDWaller Good software functions well and is bug free.

Slide 22

Slide 22 text

W: rbrt.wllr.info | T: @RobDWaller Ignorance Complexity

Slide 23

Slide 23 text

W: rbrt.wllr.info | T: @RobDWaller Ignorance is natural Complexity is standard Test to break helps

Slide 24

Slide 24 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 25

Slide 25 text

W: rbrt.wllr.info | T: @RobDWaller Rules 1. Cars can only be black. 2. Cars can have two or four doors. 3. Cars must have four wheels.

Slide 26

Slide 26 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 27

Slide 27 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 28

Slide 28 text

W: rbrt.wllr.info | T: @RobDWaller Summary ‘Working’ software is not good enough. Writing good software is hard. You are ignorant. Your problems are complicated. Always write tests. Stress and break your business logic. Code will work in one way always.

Slide 29

Slide 29 text

W: rbrt.wllr.info | T: @RobDWaller

Slide 30

Slide 30 text

W: rbrt.wllr.info | T: @RobDWaller Rob Waller T: @RobDWaller W: rbrt.wllr.info