Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) is a structured process that defines the phases involved in planning, building, testing, deploying, and maintaining software. SDLC answers: “How is software built from idea to production?”
1. Definition
SDLC is a structured process that defines the phases involved in planning, building, testing, deploying, and maintaining software.
2. Purpose of SDLC
- Provide a systematic approach to software development
- Ensure predictable and controlled delivery
- Improve quality and reduce risk
- Define roles, responsibilities, and deliverables
- Enable effective planning and tracking
3. Phases of SDLC
3.1 Requirement Analysis
Activities
- Gather business and user requirements
- Identify functional and non-functional needs
Manual Tester Role
- Review requirements for clarity and completeness
- Identify ambiguities and gaps
- Ask “what-if” and edge-case questions
Deliverables
- BRD / FRS / User Stories
3.2 Design
Activities
- System architecture design
- Database and interface design
Manual Tester Role
- Participate in design walkthroughs
- Identify testability issues
- Prepare high-level test scenarios
Deliverables
- Design documents, wireframes
3.3 Development
Activities
- Coding and unit testing
Manual Tester Role
- Understand feature behavior
- Prepare detailed test cases
- Review test cases internally
Deliverables
- Source code, unit test results
3.4 Testing
Activities
- Execute test cases
- Log defects
- Re-test and regression test
Manual Tester Role
- Validate requirements
- Perform functional and non-functional testing
- Provide quality status
Deliverables
- Test execution reports
- Defect reports
3.5 Deployment
Activities
- Release software to production
Manual Tester Role
- Support UAT
- Perform smoke testing
- Provide release recommendation
Deliverables
- Release notes
- Sign-off documents
3.6 Maintenance
Activities
- Bug fixes and enhancements
Manual Tester Role
- Validate fixes
- Perform regression testing
- Support production issues
Deliverables
- Updated test cases and reports
4. SDLC Models (Overview)
- Waterfall Model
- V-Model
- Agile Model
- Iterative Model
(Each model will be covered separately.)
5. SDLC vs STLC
- SDLC → Overall software development process
- STLC → Testing-specific lifecycle within SDLC
6. Importance of SDLC for Manual Testers
- Understand where testing fits
- Plan testing activities early
- Collaborate effectively with developers
- Reduce defects and cost
7. Real-Time Example
If requirement analysis is weak:
- Test cases become unclear
- Defects increase in later phases
- Cost of defects rises
8. Common Mistakes
- Assuming testing starts only after development
- Not participating in early SDLC phases
- Ignoring requirement reviews
9. Interview-Ready Answers
Short answer:
SDLC is a structured process that defines the phases involved in developing and maintaining software.
Detailed answer:
SDLC outlines the complete lifecycle of software development, from requirement analysis to maintenance, ensuring quality, predictability, and risk control.
10. Key Takeaway
Manual testers add maximum value when they are involved early and throughout the SDLC.