60
Trisha Gee (@trisha_gee) Developer & Technical Advocate, JetBrains Level Up Your Automated Tests

Level Up Your Automated Tests

Embed Size (px)

Citation preview

Page 1: Level Up Your Automated Tests

Trisha Gee (@trisha_gee)Developer & Technical Advocate, JetBrains

Level Up Your Automated Tests

Page 2: Level Up Your Automated Tests

Using <Technology X> Will Fix Your Problems

Page 3: Level Up Your Automated Tests

•Write Tests?•Write Readable Tests?•Write Meaningful Tests?

How can we:

Page 4: Level Up Your Automated Tests

Why Don’t We Write Tests?

Page 5: Level Up Your Automated Tests
Page 6: Level Up Your Automated Tests

What Are Tests For?

Page 7: Level Up Your Automated Tests
Page 8: Level Up Your Automated Tests

What Are Tests Actually Good For?

Page 9: Level Up Your Automated Tests
Page 10: Level Up Your Automated Tests

How Can We Change Attitudes?

Page 11: Level Up Your Automated Tests

How Can We Change Behaviour?

Page 12: Level Up Your Automated Tests

Having a Champion

Page 13: Level Up Your Automated Tests

Quality becomes a habit

Page 14: Level Up Your Automated Tests

This can only get you so far

Page 15: Level Up Your Automated Tests

Remaining Problems

Page 16: Level Up Your Automated Tests
Page 17: Level Up Your Automated Tests
Page 18: Level Up Your Automated Tests
Page 19: Level Up Your Automated Tests
Page 20: Level Up Your Automated Tests
Page 21: Level Up Your Automated Tests
Page 22: Level Up Your Automated Tests
Page 23: Level Up Your Automated Tests
Page 24: Level Up Your Automated Tests
Page 25: Level Up Your Automated Tests
Page 26: Level Up Your Automated Tests

It needs to be easy

Page 27: Level Up Your Automated Tests

Possible Solutions•EasyMock / Mockito / JMock•Home-grown mocking / stubbing•Hamcrest matchers•DSL – Domain Specific Language•Standards / Examples

Page 28: Level Up Your Automated Tests

Along came Spock

Page 29: Level Up Your Automated Tests

An Example Test

Page 30: Level Up Your Automated Tests

How it fixes our problems

Page 31: Level Up Your Automated Tests

Hard to read

Page 32: Level Up Your Automated Tests

Horrible Test Names

Page 33: Level Up Your Automated Tests
Page 34: Level Up Your Automated Tests

Lots of setup

Page 35: Level Up Your Automated Tests

No Unit Tests

Page 36: Level Up Your Automated Tests
Page 37: Level Up Your Automated Tests

Too many similar tests

Page 38: Level Up Your Automated Tests

Testing too many things

Page 39: Level Up Your Automated Tests

Testing too many things

Page 40: Level Up Your Automated Tests

Complicated Matrix

Page 41: Level Up Your Automated Tests

Proving itself

Page 42: Level Up Your Automated Tests
Page 43: Level Up Your Automated Tests

Remaining Issues

Page 44: Level Up Your Automated Tests
Page 45: Level Up Your Automated Tests
Page 46: Level Up Your Automated Tests
Page 47: Level Up Your Automated Tests
Page 48: Level Up Your Automated Tests

Still more to be done

Page 49: Level Up Your Automated Tests

a) write tests?

How can we:

Page 50: Level Up Your Automated Tests

b) write readable tests?

How can we:

Page 51: Level Up Your Automated Tests

c) write meaningful tests?

How can we:

Page 52: Level Up Your Automated Tests

Conclusions

Page 53: Level Up Your Automated Tests

Make it easy

Page 54: Level Up Your Automated Tests

Automate everything

Page 55: Level Up Your Automated Tests

Zero tolerance for failures

Page 56: Level Up Your Automated Tests

Have a champion

Page 57: Level Up Your Automated Tests

Let it go

Page 58: Level Up Your Automated Tests

Pairing or code review

Page 59: Level Up Your Automated Tests

Focus on the purposes of testing

Page 60: Level Up Your Automated Tests

http://bit.ly/LevelUpTests

Questions?