Upgrade to Pro — share decks privately, control downloads, hide ads and more …

One Bug per Month

One Bug per Month

The story about how we changed and work at Syneto.

Patkos Csaba

June 11, 2014
Tweet

More Decks by Patkos Csaba

Other Decks in Programming

Transcript

  1. One Bug per Month ( e x p l a

    i n e d t o d e v e l o p e r s )
  2. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    2/38 HIGH LEVEL ARCHITECTURE BUSINESS LOGIC DATABASE FILESYSTEM UI MVC NET. API MAIN FACTORY
  3. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    4/38 SO, WHAT WILL THIS TALK BE ABOUT? Architecture, Infrastructure, Processes and Practices
  4. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    5/38 HIGH LEVEL ARCHITECTURE BUSINESS LOGIC DATABASE FILESYSTEM UI MVC NET. API MAIN FACTORY
  5. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    6/38 MODEL M MVC AS WE KNOW IT TODAY V C PRESENTATION ROUTING DATA TRANSFER DATABASE FILESYSTEM BUSINESS LOGIC FACTORY NET. API
  6. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    7/38 MODEL SOLID CHANGE V C PRESENTATION ROUTING DATA TRANSFER DATABASE FILESYSTEM BUSINESS LOGIC FACTORY NET. API S O L I D
  7. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    8/38 MODEL APPLYING SRP DATABASE FILESYSTEM BUSINESS LOGIC FACTORY NET. API Single Responsibility Principle A single reason to change DATABASE FILESYSTEM FACTORY NET. API
  8. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    9/38 MODEL APPLYING OCP BUSINESS LOGIC Open Closed Principle Open to extension & Closed to modification DATABASE FILESYSTEM FACTORY NET. API BUSINESS LOGIC
  9. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    10/38 MODEL APPLYING DIP Dependency Inversion Always depend on abstract things DATABASE FACTORY NET. API BUSINESS LOGIC FILESYSTEM
  10. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    11/38 HIGH LEVEL ARCHITECTURE BUSINESS LOGIC DATABASE FILESYSTEM UI MVC NET. API MAIN FACTORY
  11. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    12/38 HOW DOES UNCLE BOB DO IT? Robert C. Martin Uncle Bob
  12. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    13/38 SO HE SAYS... DELIVERY INTERACTOR ENTITY ENTITY ENTITY BOUNDARY [ i ] BOUNDARY [ i ]
  13. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    14/38 SO HE SAYS... DELIVERY BOUNDARY [ i ] BOUNDARY [ i ] INTERACTOR ENTITY ENTITY ENTITY REQUEST MODEL RESPONSE MODEL
  14. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    16/38 THE WAY WE DID IT FACADE Cake PHP Controller View Model Validate Delegate MODULE BUSINESS LOGIC REQUEST MODEL RESPONSE MODEL JSON API
  15. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    17/38 MAPPING ON OTHER ARCHITECTURES C 4 Architecture Hexagonal Architecture
  16. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    18/38 Q & A ABOUT ARCHITECTURE Questions About Architecture?
  17. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    23/38 UNIT TESTS RUN CONTINUOUSLY 1321 test 6091 assertions = 1.81 minutes
  18. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    24/38 MVC FRAMEWORK TESTED CONTINUOUSLY Controllers Helpers Some Views
  19. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    25/38 WHAT OTHER TESTS? UNIT TESTS COMPONENT TESTS INTEGRATION TESTS API TESTS E2E M.T.
  20. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    26/38 UI TESTS Tens of UI tests Run over a fake B. Logic ~10 minutes
  21. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    28/38 END TO END TESTS Even less ~ 30 min. Only essential features tested Robot & Selenium
  22. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    29/38 CONNECTING THE DOTS UNISTORE ILLUMOS ... ... TEAM CITY BUILD ENCODE UNIT TEST PUBLISH E2E TEST M. LONG RUNNING TEST NOTIFY USERS
  23. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    30/38 Q & A ABOUT INFRASTRUCTURE Questions About Continuous XYZ
  24. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    31/38 PLANNING, COLLABORATION, LEARNING Processes and Practices
  25. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    35/38 CONTINUOUS LEARNING Too Difficult Too Easy Just Right Complexity Time