ISTQB Foundation Level - Chapter 2: Testing Throughout the Software Development Life Cycle
Jul 15, 2024
ISTQB Foundation Level Certifications - Chapter 2: Testing Throughout the Software Development Life Cycle
Introduction to SDLC
SDLC (Software Development Life Cycle): The entire life cycle that establishes and builds the product.
Major Phases:
Requirement Gathering: Business Analyst/Product Owner gathers information required for implementing the product.
Design: Architecture and back-end design of the product.
Development: Writing the code for the product.
Testing: Independent testing team tests the system.
Maintenance/Release: Updating, upgrading, migration, and retirement of the product.
How SDLC Impacts Testing
Influences Test Process: The SDLC chosen influences scope, timing, detail of documentation, choice of test techniques, extent of test automation, and roles/responsibilities of testers.
Waterfall Model: Testing happens once implementation is complete.
Agile Methodology: Continuous testing with frequent regression tests due to daily code changes.
Key Impacts on Testing:
Scope and Timing: Different in Waterfall (sequential) vs. Agile (parallel activity).
Detail of Test Documentation: Comprehensive in Waterfall, brief in Agile.
Test Techniques and Approaches: Constraints in Agile, more flexible in Waterfall.
Extent of Test Automation: Limited in Waterfall, extensive in Agile.
Roles and Responsibilities: More diverse and cross-functional in Agile.
Sequential Development Models (Waterfall & V-Model)
Initial Phases: Testers involved in requirement reviews, test analysis, and design.
Later Phases: Dynamic testing occurs after code development.
Sequential Models: Long wait for testing to begin until code is complete.
Iterative and Incremental Models
Deliveries: Each iteration delivers a working prototype/product increment.
Testing: Both static and dynamic testing performed at all levels.
Frequent Deliveries: Requires fast feedback and extensive regression testing.
Agile Development
Assumes Continuous Change: Lightweight documentation, extensive automation for regression testing.
Testing Techniques: Experience-based techniques like exploratory testing.
Dynamic Testing: Test cases written and executed within the same sprint.
Good Testing Practices
Independent of SDLC Model: Practices should be followed regardless of the development model.
Key Practices:
Corresponding Testing Activity: For every development activity, a corresponding testing activity.
Unique Test Levels: Different levels should have specific test objectives.
Early Test Analysis and Design: Begins during the development phase.
Early Involvement of Testers: Review work products as soon as drafts are available.
Summary
Different SDLC models have different impacts on the testing process.
Good testing practices can be applied across different development models.
Early involvement, comprehensive documentation, and effective testing techniques are key.