Software Development Life Cycle & Software Testing Summary
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC): Procedure for creating or altering software systems to yield high-quality products meeting customer expectations within time and cost estimates.
Waterfall Model: Traditional sequential process where progress flows downward through fixed phases (Requirements Collection, Feasibility Study / Analysis, Design, Coding / Programming, Testing, Installation, Maintenance). Requirements are frozen once design begins.

Spiral Model: Iterative model where software is developed in small modules across four main quadrants (Requirements Collection, Design, Coding, Testing).

V-Model (Verification and Validation Model): Model designed to execute testing activities in parallel with each development phase starting from the requirement stage.

Prototype Development Model: Involves developing an initial prototype (static or dynamic visual image) for customer review and feedback prior to final coding and implementation.

Hybrid and Derived Models: Custom combinations of standard SDLC models adapted to meet specific project and business needs.
Core Software Testing Types
Software Testing: Verification of application functionality against requirement specifications to identify defects.
White Box Testing (WBT): Performed exclusively by developers to test internal logic, paths, conditions, and code structure (includes Path Testing, Condition Testing, and Loop Testing).
Black Box Testing (BBT): Functional or behavioral testing performed against requirements without internal code knowledge.
Functional Testing: Component-level testing evaluating each feature against specification requirements.
Integration Testing: Tests data flow and interfaces between interconnected modules (methods include Incremental Top-Down, Incremental Bottom-Up, and Non-Incremental Big-Bang).
System Testing: End-to-end testing conducted in an environment matching the production environment.
Acceptance Testing: Final validation conducted from the end-user or client perspective to check real-time business readiness.
Specialized Testing Methodologies
Smoke / Sanity Testing: High-level positive testing of basic or critical features on a new build to confirm stability before deep testing.
Regression Testing: Retesting unchanged areas of an application after code changes, additions, or bug fixes (categorized into Unit, Regional, and Full Regression Testing).
Ad-Hoc / Monkey Testing: Unplanned, random testing without predefined test cases designed to discover unexpected flaws from an end-user perspective.
Globalization Testing: Validates application behavior across different languages and regions.
Internationalization (I18N): Testing software design for multi-language translation and support using property files or resource bundles.
Localization (L10N): Regional format validation covering currency, dates, pincodes, and localized graphics.
Compatibility Testing: Verification of application functionality across diverse operating systems, browsers, and hardware configurations.
Usability & Accessibility Testing: Evaluation of user-friendliness, layout ergonomics, and compliance with accessibility standards (such as 508 Compliance / ADA).
Software Test Life Cycle (STLC) & Documentation
STLC Phases: Requirements Collection / System Study -> Test Plan Creation -> Test Case Writing -> Requirement Traceability Matrix -> Test Execution -> Defect Tracking -> Test Execution Report -> Retrospect Meeting.
Test Artifacts & Documents:
Customer Requirement Specification (CRS) / Software Requirement Specification (SRS) / Functional Specification (FS): Documents translating client needs into technical development requirements.
Test Plan: Central strategy document covering scope, test types, schedules, risk mitigation, roles, and entry/exit criteria.
Test Case Design Techniques: Derived using Error Guessing, Equivalence Partitioning, and Boundary Value Analysis (BVA).
Requirement Traceability Matrix (RTM): Mapping matrix connecting requirements to specific test cases to ensure complete test coverage.
Defect Report: Detailed record of identified defects containing Defect ID, Severity (Blocker, Critical, Major, Minor), Priority (High, Medium, Low), Steps to Reproduce, and Status (Open, Assigned, Fixed, Closed, Re-open, Rejected, Duplicate, Cannot be fixed, Postponed, Not Reproducible, RFE).