Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
© 2016 Magento, Inc. All rights reserved.
@maksek_ua
© 2016 Magento, Inc. Page | 2© 2015 Magento, Inc. Page | 2
Why Quality?
© 2016 Magento, Inc. Page | 3
Magento 2 Platform Goals
M2
Modern Tech Stack
Improved
Performance &
Scalability
Streamline
...
© 2016 Magento, Inc. Page | 4
Code Quality & Testing
Merchant
Extension developer
System Integrator Magento Commerce
© 2016 Magento, Inc. Page | 5
”For the first time, testing was fun”
© 2016 Magento, Inc. Page | 6
”For the first time, testing was fun”
© 2016 Magento, Inc. Page | 7© 2015 Magento, Inc. Page | 7
Magento 2 Test Types (a little bit technical)
© 2016 Magento, Inc. Page | 8
Unit Test
• Isolated
• Fast
• Mocks, Stubs, Doubles
• Distributed with Module
• PhpUnit http...
© 2016 Magento, Inc. Page | 9
Integration and API
• “Black-box”
• Integration Framework
>dev/tests/integration/framework
•...
© 2016 Magento, Inc. Page | 10
Integration and API
© 2016 Magento, Inc. Page | 11
Unit vs Integration
© 2016 Magento, Inc. Page | 12
Static – clean code
• PHPMD
• PHPCS
• PHPCPD
• Magento-specific integrity tests
• >dev/test...
© 2016 Magento, Inc. Page | 13
Performance
• JMeter
• End-To-End Scenarios
© 2016 Magento, Inc. Page | 14
Magento Testing Framework
Fucntional Tests
• End user experience testing
• >dev/tests/funct...
© 2016 Magento, Inc. Page | 15
Magento Testing Framework
http://devdocs.magento.com
© 2016 Magento, Inc. Page | 16
Magento Testing Framework
© 2016 Magento, Inc. Page | 17
Magento 2 Test Types
Acceptance
Functional
Performance
Static
Integration
& API
Unit
© 2016 Magento, Inc. Page | 18
Magento 2 Test Coverage
Unit Tests Integration Web API Functional
16000+ CE
4000+ EE
>35%
3...
© 2016 Magento, Inc. Page | 19© 2015 Magento, Inc. Page | 19
Magento “Kitchen” (Secret Information)
© 2016 Magento, Inc. Page | 20
Magento 2 Quality Stack
© 2016 Magento, Inc. Page | 21
Code Review
© 2016 Magento, Inc. Page | 22
Continuous Integratoin & Continuous delivery (a.k.a. CICD) - Bamboo
© 2016 Magento, Inc. Page | 23
Bamboo Build and build jobs
© 2016 Magento, Inc. Page | 24
Manual Acceptance Test
Yes, we still do manual checks 
© 2016 Magento, Inc. Page | 25
Community members – Travis CI
© 2016 Magento, Inc. Page | 26
Code Quality & Testing
Merchant
Extension developer
System Integrator Magento Commerce
© 2016 Magento, Inc. Page | 27© 2015 Magento, Inc. Page | 27
Thank you! Questions?
@maksek_ua
Upcoming SlideShare
Loading in …5
×

Max Yekaterinenko - Magento 2 & Quality

732 views

Published on

One of the 6 main goals behind Magento 2.0 release are the new Quality and Testing features provided out of the box into this new major release.
During this talk it will go over these new features and explain how to integrate these very usefull functionalities into new Magento modules to provide high quality modules.
Also it will discuss some internal Magento Core team practices and tools which are used to produce an highly tested product and to provide a high quality software for your business.

  • Be the first to comment

Max Yekaterinenko - Magento 2 & Quality

  1. 1. © 2016 Magento, Inc. All rights reserved. @maksek_ua
  2. 2. © 2016 Magento, Inc. Page | 2© 2015 Magento, Inc. Page | 2 Why Quality?
  3. 3. © 2016 Magento, Inc. Page | 3 Magento 2 Platform Goals M2 Modern Tech Stack Improved Performance & Scalability Streamline Customization Simplify External Integrations Easier installation & upgrades High code quality & testing
  4. 4. © 2016 Magento, Inc. Page | 4 Code Quality & Testing Merchant Extension developer System Integrator Magento Commerce
  5. 5. © 2016 Magento, Inc. Page | 5 ”For the first time, testing was fun”
  6. 6. © 2016 Magento, Inc. Page | 6 ”For the first time, testing was fun”
  7. 7. © 2016 Magento, Inc. Page | 7© 2015 Magento, Inc. Page | 7 Magento 2 Test Types (a little bit technical)
  8. 8. © 2016 Magento, Inc. Page | 8 Unit Test • Isolated • Fast • Mocks, Stubs, Doubles • Distributed with Module • PhpUnit https://phpunit.de/
  9. 9. © 2016 Magento, Inc. Page | 9 Integration and API • “Black-box” • Integration Framework >dev/tests/integration/framework • Not fast • PhpUnit
  10. 10. © 2016 Magento, Inc. Page | 10 Integration and API
  11. 11. © 2016 Magento, Inc. Page | 11 Unit vs Integration
  12. 12. © 2016 Magento, Inc. Page | 12 Static – clean code • PHPMD • PHPCS • PHPCPD • Magento-specific integrity tests • >dev/tests/static/
  13. 13. © 2016 Magento, Inc. Page | 13 Performance • JMeter • End-To-End Scenarios
  14. 14. © 2016 Magento, Inc. Page | 14 Magento Testing Framework Fucntional Tests • End user experience testing • >dev/tests/functional/ • Selenium Webdriver (+Grid) • Slow, very slow
  15. 15. © 2016 Magento, Inc. Page | 15 Magento Testing Framework http://devdocs.magento.com
  16. 16. © 2016 Magento, Inc. Page | 16 Magento Testing Framework
  17. 17. © 2016 Magento, Inc. Page | 17 Magento 2 Test Types Acceptance Functional Performance Static Integration & API Unit
  18. 18. © 2016 Magento, Inc. Page | 18 Magento 2 Test Coverage Unit Tests Integration Web API Functional 16000+ CE 4000+ EE >35% 3200+ CE 400+ EE 640+ CE 50+ EE 300+ scenarios 1000 documented
  19. 19. © 2016 Magento, Inc. Page | 19© 2015 Magento, Inc. Page | 19 Magento “Kitchen” (Secret Information)
  20. 20. © 2016 Magento, Inc. Page | 20 Magento 2 Quality Stack
  21. 21. © 2016 Magento, Inc. Page | 21 Code Review
  22. 22. © 2016 Magento, Inc. Page | 22 Continuous Integratoin & Continuous delivery (a.k.a. CICD) - Bamboo
  23. 23. © 2016 Magento, Inc. Page | 23 Bamboo Build and build jobs
  24. 24. © 2016 Magento, Inc. Page | 24 Manual Acceptance Test Yes, we still do manual checks 
  25. 25. © 2016 Magento, Inc. Page | 25 Community members – Travis CI
  26. 26. © 2016 Magento, Inc. Page | 26 Code Quality & Testing Merchant Extension developer System Integrator Magento Commerce
  27. 27. © 2016 Magento, Inc. Page | 27© 2015 Magento, Inc. Page | 27 Thank you! Questions? @maksek_ua

×