📚

ISTQB Foundation Chapter 2: Shift Left Approach and Retrospective

Jul 15, 2024

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:
    1. What was successful and should be retained?
    2. What was not successful and can be improved?
    3. 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!