Softtware Testing
Softtware Testing
Meeting user needs: Software should align with the functional and
non-functional requirements of its users.
Reducing risk and managing complexity: Use systematic
approaches to reduce the risks associated with software development.
Improving productivity: Employ methods and tools to streamline
development and increase efficiency.
Facilitating maintenance and evolution: Develop software that can
be easily modified or upgraded as requirements change.
1. Understanding Requirements:
• Role: Software testers are responsible for understanding the project’s
functional and non-functional requirements thoroughly.
• Responsibility:
o Collaborate with business analysts and developers to
understand the software requirements specification (SRS).
o Ensure clarity in the expected software features, performance
metrics, and user expectations.
2. Test Planning:
• Role: Testers create a test plan that outlines the testing strategy, scope,
objectives, and resources required for testing.
• Responsibility:
o Design a test plan that specifies what types of tests need to be
conducted (functional, performance, security, usability, etc.).
o Define the timeline and schedule for testing activities.
3. Test Case Design:
• Role: Software testers design and write test cases that cover all
possible scenarios, both expected and unexpected, to verify software
functionality.
• Responsibility:
o Create test cases and test scripts based on requirements and
design documents.
o Define both positive (valid inputs) and negative (invalid inputs)
test cases to ensure comprehensive coverage.
o Create manual and automated test cases, depending on the
testing strategy.
4. Test Environment Setup:
• Role: Testers set up and configure the test environment where testing
activities will take place.
• Responsibility:
o Ensure that the test environment mimics the production
environment as closely as possible.
o Install necessary software, libraries, databases, and hardware
configurations needed for testing.
5. Executing Tests:
• Role: Testers execute the planned tests, either manually or using
automated tools, to check for defects.
• Responsibility:
o Run manual and automated tests based on test cases.
o Verify the output against the expected results to identify any
mismatches or failures.
1. Requirement Analysis
Objective:
The purpose of this phase is to understand the testing requirements
based on the Software Requirements Specification (SRS) .
Activities:
• Study and analyze functional and non-functional requirements.
• Identify the testable requirements and areas.
• Interaction with stakeholders
2. Test Planning
Objective:
Test planning is a crucial phase where the QA lead prepares a detailed
test plan based on the requirements and the testing approach.
Activities:
• Prepare the test plan document, which includes
• Test objectives.
• Test strategy
• Resources
• Environment
• Schedule
• Risk analysis
• Test deliverables
• Objective:
• This phase involves designing and writing detailed test cases based on
the requirements gathered during the analysis phase. Test cases
describe the steps to be followed to validate each functionality of the
software, including the expected results.
Objective:
In this phase, the testing team sets up the environment where tests will be
executed. A properly configured test environment is essential for executing
test cases efficiently and accurately.
5. Test Execution
Objective:
The core phase of the STLC, test execution involves running the test cases
and identifying defects. During this phase, testers execute the test cases
and compare the actual results with the expected results to determine if
the software functions as required.
6. Test Closure
Objective:
The test closure phase concludes the testing activities and prepares a final
test report. It evaluates whether the testing objectives have been met and
documents lessons learned for future projects.