Transcript
Page 1: Don’t lose your time on testing. Fool!

Don’t lose your time on testing. Fool! Marek Koniew

Page 2: Don’t lose your time on testing. Fool!

The problem "Release early. Release often. And listen to your customers"

- Faster feedback loop- Progress faster- Go to right direction- Better product- Better quality

How to be confident?

http://en.wikipedia.org/wiki/Release_early,_release_often

Page 3: Don’t lose your time on testing. Fool!

Microservices architecture

More confidence:- Smaller- Independent- Faster- Short lived

Problem:- Hard to test

Page 4: Don’t lose your time on testing. Fool!

Microservice is not a free lunch

- http://12factor.net/ - Software As A Service- http://www.reactivemanifesto.org/

Page 5: Don’t lose your time on testing. Fool!

Design to go fast

- Share nothing- Recalculate each time- Send duplicate messages- Loose messages- Rest is not the best

Page 6: Don’t lose your time on testing. Fool!

The art of destroying software

How big should be a microservice?- Fix design or model quickly- Add new feature easily- Easy to understand- Dump code and rewrite it- Short life

Martin Fowler “Sacrificial Architecture”Greg Young “The art of destroying software”

Page 7: Don’t lose your time on testing. Fool!

Test smart not hard

- Do not rely on code coverage- Test to go faster- Test to increase confidence- TDD is dead- Monitoring is modern way of testing

Endpoint

Service

DAO 10% of tests failed when this method is omitted

Page 8: Don’t lose your time on testing. Fool!

Monitoring is modern way of testing

Canary testing:- Can be automated- You will newer know unless you run it- Netflix uses it- The best for resilient designs- The same tools for test and monitor

Page 9: Don’t lose your time on testing. Fool!

Then, Kill All the Product Owners

2000 2005 2010 2015

- Know the business- Learn the domain- Love users

Page 10: Don’t lose your time on testing. Fool!

We need just one more feature

time

com

ple

ten

ess

100%

80%

- Users will always say only one more feature is missing- For improving resiliency, stability, feature completeness … effort is exponential

Page 11: Don’t lose your time on testing. Fool!

Summary

- Design for production- Test smart not hard- Remove waterfalls- No risk no fun

Page 12: Don’t lose your time on testing. Fool!

Questions


Top Related