Testing Throughout the Software Development Lifecycle Flashcards
(144 cards)
What are the most used and popular software development life cycle models?
- Sequential
- Waterfall
- V-model
- W-model
- Iterative
- Spiral
- Prototyping
- Incremental
- Unified Process
What are some methods and agile practices?
- Acceptance-test drive Development (ATDD)
- Behavior-driven Development
- Domain-driven Design
- Extreme programming
- Feature-driven Development (FDD)
- Kanban
- Lean IT
- SCRUM
- Test-driven Development (TDD)
Where SDLC impact on testing?
- Scope and timing of Test Activities
- Level of Detail of Test Documentation
- Choice of Techniques and Test Approach
- Extent of Test Automation
- Role and responsabilities of a tester
What is the difference between verification and validation?
Verification builds the product right. Validation builds the right product.
Software verification is about evaluating a work product, component or system to determine whether it meets the requirements set.
Is the product built according to the specification?
Software validation is about evaluating a work product, component or system to determine whether it meets the user needs and requirements.
Is the product fit for the purpose? Does it solve the problem?
What are common tasks for Verification and Validation? There are tasks that belongs to both?
Verification:
- Unit Test
- Integration Test
Automated Testing
Validation
- Customer Acceptance Test
- Usability Test
Both:
- Regression testing
- System Test
- System Integration Test
- Beta Test
What is a key characteristic of the Waterfall model?
Each phase must be completed and signed off before the next phase begins.
Why is testing considered “late” in Waterfall?
Because dynamic testing typically starts after most or all coding is finished.
Name one advantage of the Waterfall model.
It’s easy to follow with clear documentation and defined milestones.
Why is Waterfall not ideal when frequent changes are expected?
Because changes require going back to earlier phases, which is costly and time-consuming.
What does “V” stand for in V-Model?
It represents the Verification phases on the left, Coding at the bottom, and Validation phases on the right.
Why is the V-Model considered an improvement over Waterfall for testing?
Because testing activities (test design) start in parallel with each development phase, enabling early detection of defects.
Give one example of a corresponding test phase for System Requirements in the V-Model.
System Testing is planned and designed parallel to System Requirements gathering.
What is a drawback of the V-Model?
It can still be rigid—major changes late in development can be expensive to manage.
How does the W-Model differ from the V-Model?
It emphasizes parallel test activities at each development step, creating two “tracks” that form a W shape rather than a single “V.”
Name one advantage of the W-Model.
Very early, continuous test involvement, leading to faster feedback and defect detection.
What is a common challenge when using the W-Model?
It can be complex to manage and requires significant testing resources.
Does the W-Model allow for incremental releases like Agile?
Not inherently. It’s still a sequential model, delivering the entire product at once.
In sequential models, how is the system typically delivered?
All at once in a single release (not incrementally).
Which model is known for having testing start parallel with development phases?
V-Model (Verification & Validation model).
Name one reason the W-Model might be more effective than the V-Model.
It supports continuous parallel test activities at each development step, potentially finding issues even earlier.
Why can changes be expensive in sequential models?
Because each phase is finalized before the next starts, so revisiting a phase (e.g., design) after coding has begun involves major rework.
Which sequential model typically fits a small project with fixed requirements?
Waterfall—it’s straightforward if you don’t anticipate many changes.
In the V-Model, what test level corresponds to “Detailed Design”?
Unit/Component Test Design.
How is “User Acceptance Testing” positioned in the V-Model?
It corresponds to the “User Requirements” definition phase on the opposite side of the V.