Software Testing Lifecycle (STLC)
Software testing is a structured process that is performed after or along with software development to ensure the application work correctly and meets user requirements.
Software Testing Lifecycle (STLC) Define step by step testing activity to ensure software quality.
Phases of Software testing Life Cycle SDLC
1. Requirement Analysis:
This is the first phase of STLC
Test Plan answer:
- What to test?
- How to test?
What Happens:
- Study SRS document
- Identify testable requirements
- Clarify doubts with BA/Client
Documents Created:
- RTM (Requirement Traceability Matrix)
- Requirement Clarification Notes
Examples:
- Login should work with valid credentials
- Password must be minimum 8 characters
- Is OTP required?
2. Test Planning:
Decide how testing will be done.
- Test plan is a blueprint of testing activities.
- It act as a contract between testing team and project team.
Test plan answers:
- What type of testing
- Who will test
- Tools
- Risk and backup
- Timeline
Important Contents of Test Plan
- Test Objective (Purpose of testing)
- Scope of Testing (What is included and excluded in testing)
- Test Strategy (Approach or method of testing)
- Test Environment (Required hardware, software, tools)
- Test Schedule / Timeline (Testing start and end dates)
- Roles & Responsibilities (Who does what in testing)
- Test Deliverables (Documents/reports to be submitted)
- Risk & Mitigation (Possible risks and backup plan)
- Entry Criteria (Conditions to start testing)
- Exit Criteria (Conditions to stop testing)
What Happens:
- Decide testing scope
- Select tools & resources
- Prepare timeline
- Test Plan
- Test Strategy
Examples:
- Manual testing for UI
- Automation for regression
- Tools: Jira, Excel
Test Plan vs Project Plan
Test Plan Project Plan
- Focuses only on testing activities Focuses on entire project
- Prepared by Test Manager / QA Lead Prepared by Project Manager
- Defines testing scope, strategy, schedule Defines overall project scope, timeline, budget
- Includes test cases, risks, entry/exit criteria Includes development, testing, deployment plans
- Used by testing team Used by entire project team
Test Plan vs Test strategy
Test Plan Test Strategy
- Describes what, when, and who will test Describes how testing will be done
- Project-specific document High-level document
- Prepared by Test Manager Prepared by QA Lead / Management
- Includes schedule, resources, risks Includes testing approach, levels, types, tools
- Changes for every project Usually same for organization
3. Test case Design / Test case Development:
A test case is a set of steps, input, and expected result used to check whether a feature is working correctly.
Types of Test Cases:
- Functional Test Case – Checks functionality (login, payment, search).
- Non-Functional Test Case – Checks performance, security, usability.
- Positive Test Case – Valid input (correct username & password).
- Negative Test Case – Invalid input (wrong password).
- Boundary Test Case – Tests limits (min/max values).
- Regression Test Case – Re-test after changes.
- Smoke Test Case – Basic check of main features.
Example (Login Page Test Case)
- Test Case ID: TC_01
- Feature: Login
- Input: Valid username & valid password
Steps:
- Open login page
- Enter username
- Enter password
- Click login
Expected Result: User should successfully login and see dashboard
Related Items in Test Case Document:
- Test Case ID
- Test Scenario
- Preconditions
- Test Steps
- Test Data
- Expected Result
- Actual Result
- Status (Pass/Fail)
- Remarks
4. Test Environment Setup:
Test environment setup means preparing hardware, software, network, and tools required to perform testing.
What It Includes
- Installing required software (application, database, browser)
- Configuring server and test database
- Setting up test data
Document Created
- Test Environment Setup Document (contains details of configuration)
- Environment Checklist (to verify everything is ready)
Example
- For testing a Login Web Application:
- OS: Windows 11
- Browser: Chrome, Edge
- Database: MySQL
- Server: Localhost / Test Server
- Test Data: Sample user IDs and passwords
5. Test execution:
Test execution is the phase where testers run the test cases to check whether the software works correctly.
What Happens in Test Execution
- Testers execute test cases step by step
- Compare actual result with expected result
- Mark status as Pass or Fail
- If failed → log a defect (bug)
Document Created
- Test Execution Report
- Bug Report / Defect Report
Example
- Test Case: Login with valid username & password
- Expected Result: User should login successfully
- If user clicks login and page crashes ❌
- → Tester marks test case as Fail
- → Creates Bug Report
Bug / Defect Report Contains
- Bug ID
- Description of issue
- Steps to reproduce
- Expected Result
- Actual Result
- Severity & Priority
- Status (Open, Fixed, Closed)
6. Test Cycle Closure:
Test Cycle Closure is the final phase of testing where the testing process is completed and results are reviewed.
Activities in Test Cycle Closure
- Check if all test cases are executed
- Verify all critical defects are fixed
- Prepare Test Summary Report
- Conduct Test Closure Meeting
- Document lessons learned
- Documents Created
- Test Summary Report
- Test Metrics Report
- Lessons Learned Document
Example
- Project: Online Shopping Website
- Total Test Cases: 100
- Executed: 100
- Passed: 95
- Failed: 5 (fixed and retested)
Testing Techniques:
1. Black Box Testing Techniques
- (Test without seeing internal code)
- Equivalence Partitioning
- Boundary Value Analysis
- Decision Table Testing
- State Transition Testing
- Use Case Testing
Example:
Check login page with valid & invalid inputs without knowing the code.
2. White Box Testing Techniques
- (Test by seeing internal code)
- Statement Coverage
- Branch Coverage
- Path Coverage
- Loop Testing
- Condition Coverage
Example:
Check if all conditions in login code are executed.
3. Experience-Based Techniques
- (Based on tester’s experience)
- Exploratory Testing
- Error Guessing
- Checklist-Based Testing
Example:
Tester guesses common mistakes like leaving fields empty.
Testing Tools:
- Selenium (Automation testing)
- Playwright (Automation testing)
- JUnit (Unit testing)
- JMeter (Performance testing)
- TestNG (Test framework)
- Jira
- Excel
- Bugzilla
Comments
Post a Comment