Shift Left and Shift Right Development Methodologies
Introduction
- Presenter: Alex USA Days
- Topic: Shift Left and Shift Right Development Methodologies
- Context: Last video in the development methodologies section
- Next Section: Types of testing, test plans, test creation, and test management
Shift Left Methodology
- Core Idea: Move testing activities earlier in the development process (design & development stages)
- Objectives: Emphasize problem prevention, early bug detection
- Approach:
- Engage in early test planning during grooming sessions with product owners/managers
- Developers focus on unit and integration testing during development
- Lower-level testing (e.g., API and database testing) prioritized
- Quality is integral to product planning, design, and architecture
- Popular Frameworks:
- TDD (Test Driven Development): Write tests first, then code
- BDD (Behavior Driven Development): Describe system behavior in plain English using Gherkin language, then code
Shift Right Methodology
- Core Idea: Focus testing activities closer to production (post-production and maintenance stages)
- Objectives: Controlled production testing, monitoring
- Approach:
- Canary Releases: Deploy changes to a small subset of users first, monitor, then gradually increase
- Feature Flags: Toggle new features on/off in production without user impact
- Monitoring: Keep an eye on production logs for errors, response times, load handling
- Automated Regression Testing: Run clean end-to-end tests in production
Combined Approach
- Optimal Strategy: Implement elements from both Shift Left and Shift Right
- Benefits:
- Early bug detection and prevention
- Ensuring stability and performance in production
- Practical Considerations:
- Resource availability
- Testing time frames
Conclusion
- Presenter's Advice: Balance both methodologies to achieve thorough test coverage and stable production
- Next Steps: Transition to discussing various types of testing, test plan creation, and QA best practices
Additional Resources
- Links for detailed reading on TDD, BDD, and other terminologies mentioned in the lecture
Subscribe for more content on becoming a QA professional.