ISTQB Foundation Level Certification - Testing Throughout the SDLC (Segment 2)
Key Topics Covered
- Testing as a Driver for Software Development
- 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!