ISTQB Foundation Level Certification - Testing Throughout the SDLC (Segment 2)

Jul 15, 2024

ISTQB Foundation Level Certification - Testing Throughout the SDLC (Segment 2)

Key Topics Covered

  1. Testing as a Driver for Software Development
  2. DevOps and Testing

Testing Approaches in Agile Methodology

  • New Topics Added: TDD, BDD, ATDD
  • High-Level Overview: Indicative of the Foundation level.
  • Reference for higher level: Agile certification of ISTQB.

Test-Driven Development (TDD)

  • Process Overview: & Stages in TDD
    • Tests are written before the code.
    • Development directed through test cases.
    • Tests and code are refactored.
  • Benefits
    • Reduces time in defect reporting and collaboration.
    • Fast error detection and correction.
  • Limitations: Mostly applicable at the unit level. Developers work in tight loops to ensure tests pass.

Acceptance Test-Driven Development (ATDD)

  • Definition: Deriving test cases from the acceptance criteria of the application.
  • Advantages:
    • Validates user stories with acceptance criteria.
    • Useful for UAT (User Acceptance Testing), driven from the customer's perspective.

Behavior-Driven Development (BDD)

  • Definition: Test cases derived from system behavior, written in simple natural language (Given-When-Then format).
  • Advantages:
    • Easy for stakeholders to understand.
    • Aligns with user requirements and facilitates automated test translation.

DevOps and Testing

  • Introduction to DevOps:
    • Organizational approach aiming to integrate development (including testing) and operations.
    • Aims for synergy and common goals across stages.

DevOps Process

  • Core Concept:
    • Every code check-in should trigger automated tests.
    • Consistent build verification and automated regression.
  • Cultural Shift:
    • Facilitates quick feedback and improves code quality.
    • Encourages continuous integration/delivery (CI/CD).
  • Tools and Practices:
    • Test autonomy, fast feedback, integrated toolchains, continuous integration.
    • Automated process reducing repetitive manual testing.

Benefits

  • Fast feedback on code quality and regressions.
  • Encourages submission of high-quality code with component tests and static analysis.
  • Establishes stable test environments.
  • Reduces manual testing effort through automation.
  • Lowers risks of regression via frequent and scalable tests.

Challenges

  • DevOps pipeline setup requires expertise.
  • Introduction and maintenance of CI/CD tools.
  • Requires additional resources, environments, and automation setups.

Conclusion

  • Summary: Covered TDD, ATDD, BDD in Agile, and DevOps integration for testing.
  • Importance: Understanding foundational concepts to apply them in practical scenarios.

For Queries and Further Learning: Feel free to comment and reach out for further explanations.

Happy Learning!