ISTQB Foundation Chapter 2: Testing Throughout the SDLC
2.1.5 Shift Left Approach and Retrospective and Process Improvement
Shift Left Approach
- Definition: Shift left approach involves moving tasks or activities, typically testing, earlier in the software development life cycle (SDLC).
- New topic in ISTQB 4.0 syllabus: Though new to the syllabus, shift left is aligned with the principle of early testing, aiming to find defects earlier when they are cheaper to fix.
- Key Practices:
- Reviewing specifications: Conducting reviews from a testing perspective to find defects early.
- Writing test cases before coding: Implementing Test-Driven Development (TDD), Behavior-Driven Development (BDD), or Acceptance Test-Driven Development (ATDD).
- Using Continuous Integration (CI) and Continuous Deployment (CD): Automating tests in the CI pipeline for fast feedback.
- Static Analysis: Completing static analysis before dynamic testing as part of CI/CD pipeline.
- Non-functional Testing: Starting non-functional testing (e.g., performance, security) at the component test level rather than waiting for system test level.
- Challenges:
- Training and cost: Requires effort and budget to train teams and implement changes.
- Stakeholder buy-in: Crucial for management and team members to understand and support the shift left approach.
- Business Analysts (BA) clarity: Must have final requirements from BAs to review and start testing activities early.
Retrospective and Process Improvement
- Definition: Retrospective meetings involve team members and stakeholders analyzing past work to improve future processes.
- Timing: Can be conducted at the end of iterations, releases, or entire projects. In agile methods, they occur more frequently (e.g., end of each sprint).
- Participants: Include testers, developers, architects, product owners, business analysts, and scrum masters.
- Key Questions:
- What was successful and should be retained?
- What was not successful and can be improved?
- How to incorporate improvements and retain successes?
- Outcomes:
- Documentation: Results should be recorded in test completion reports for future reference.
- Follow-up: Recommendations need to be followed up to ensure implementation and process improvement.
- Benefits:
- Increased Test Effectiveness and Efficiency: By implementing improvement suggestions.
- Improved Quality of Testware: By reviewing test processes and artifacts.
- Team Bonding and Learning: Raising issues and proposing improvements fosters collaboration.
- Enhanced Quality of Test Bases: Addressing deficiencies in requirements and other test bases.
- Better Cooperation: Between development and testing teams through regular review and optimization.
Conclusion
- Shift Left and Retrospectives: Both are vital for improving testing processes and overall project quality.
- Key Takeaway: Early testing and continuous process improvement lead to more efficient and effective software development.
Feel free to comment below for any questions. Happy learning!