Session 1.5 - Definitions & Models
Module 1: Introduction to Software Testing | Duration: 1 hour
Learning Objectives
- Recall standard definitions used across testing practice and literature.
- Differentiate testing vs debugging, and understand their interactions.
- Describe major testing process models (V-Model, W-Model, Agile/DevOps) and STLC phases.
Key Definitions
Testing: The process of evaluating a system or component by manual or automated means to verify it satisfies specified requirements and to detect differences between expected and actual results.
Defect/Bug/Failure: A flaw in a component or system that can cause the system to fail to perform its required function.
Verification vs Validation: “Building the product right” vs “Building the right product.”
Testing vs Debugging
Testing reveals the presence of defects; debugging locates and fixes their causes. These are complementary activities often performed by different roles but tightly looped during development.
Models of Testing
V-Model: Validation layers map to development phases; early test planning on the left, execution on the right.
W-Model: Emphasizes verification within each development step plus system-level validation.
Agile: Iterative increments; tests embedded in stories/DoD; continuous feedback.
DevOps: Continuous testing in CI/CD; guardrails for deployments and operations.
Test Process (STLC)
- Requirement analysis → test conditions and acceptance criteria.
- Test design → test cases, data, and environment needs.
- Implementation → automation scaffolding and datasets.
- Execution → runs, logs, and observations.
- Defect reporting → triage and lifecycle.
- Closure → metrics, retrospectives, and learnings into backlog.
Oracles & Test Conditions
Test Oracles: Sources of expected behavior—specs, contracts, reference data, heuristics, and metamorphic relations.
Test Conditions: Statements about testable aspects of the system (functions, constraints, risks) from which test cases are derived.
Artifacts & Traceability
- Requirements ↔ Test Conditions ↔ Test Cases ↔ Defects ↔ Releases
- Trace matrices demonstrate coverage and help manage scope changes.
Summary & Assignment
Clear definitions and process models enable shared understanding and repeatable testing outcomes across teams and timelines.
Assignment: Create a mini traceability matrix linking 5 user stories to test conditions and 2 test cases each; note your chosen oracles.