max yekaterinenko - magento 2 & quality
TRANSCRIPT
© 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
© 2016 Magento, Inc. Page | 4
Code Quality & Testing
MerchantExtension developer
System Integrator Magento Commerce
© 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 https://phpunit.de/
© 2016 Magento, Inc. Page | 9
Integration and API
• “Black-box”
• Integration Framework >dev/tests/integration/framework
• Not fast
• PhpUnit
© 2016 Magento, Inc. Page | 12
Static – clean code
• PHPMD
• PHPCS
• PHPCPD
• Magento-specific integrity tests
• >dev/tests/static/
© 2016 Magento, Inc. Page | 14
Magento Testing Framework Fucntional Tests
• End user experience testing
• >dev/tests/functional/
• Selenium Webdriver (+Grid)
• Slow, very slow
© 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+ CE4000+ EE
>35%
3200+ CE400+ EE
640+ CE50+ EE
300+ scenarios1000 documented
© 2016 Magento, Inc. Page | 26
Code Quality & Testing
MerchantExtension developer
System Integrator Magento Commerce