don’t lose your time on testing. fool!
Post on 08-Jul-2015
263 Views
Preview:
DESCRIPTION
TRANSCRIPT
Don’t lose your time on testing. Fool! Marek Koniew
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
Microservices architecture
More confidence:- Smaller- Independent- Faster- Short lived
Problem:- Hard to test
Microservice is not a free lunch
- http://12factor.net/ - Software As A Service- http://www.reactivemanifesto.org/
Design to go fast
- Share nothing- Recalculate each time- Send duplicate messages- Loose messages- Rest is not the best
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”
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
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
Then, Kill All the Product Owners
2000 2005 2010 2015
- Know the business- Learn the domain- Love users
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
Summary
- Design for production- Test smart not hard- Remove waterfalls- No risk no fun
Questions
top related