Software Testing Notes
1. Introduction to Software Testing
Software Testing is the process of evaluating and verifying a software application to ensure that it
works according to the specified requirements.
The main goal of testing is to identify defects, improve quality, and deliver reliable software to users.
2. Objectives of Software Testing
- Finding defects and errors in software.
- Ensuring software meets business and user requirements.
- Improving software quality and reliability.
- Reducing risks and maintenance costs.
3. Types of Software Testing
A) Manual Testing:
Manual testing is performed by testers without using automation tools. Testers execute test cases
manually and verify the expected results.
B) Automation Testing:
Automation testing uses tools and scripts to execute test cases automatically. It helps in faster
execution and repeated testing.
4. Levels of Software Testing
Unit Testing:
Testing individual components or modules of software.
Integration Testing:
Testing the interaction between different modules.
System Testing:
Testing the complete software system.
Acceptance Testing:
Testing whether the software meets customer requirements.
5. Software Testing Techniques
Black Box Testing:
Testing software functionality without knowing the internal code structure.
White Box Testing:
Testing software by analyzing internal code and logic.
Grey Box Testing:
Combination of black box and white box testing.
6. Software Testing Life Cycle (STLC)
1. Requirement Analysis
2. Test Planning
3. Test Case Design
4. Test Environment Setup
5. Test Execution
6. Defect Reporting
7. Test Closure
7. Defect Life Cycle
New -> Assigned -> Open -> Fixed -> Retest -> Verified -> Closed
8. Common Testing Tools
- Selenium: Automation testing tool for web applications.
- JMeter: Performance and load testing tool.
- TestNG: Testing framework for Java applications.
- Jenkins: Continuous Integration tool.
9. Advantages of Software Testing
- Improves software quality.
- Increases customer satisfaction.
- Reduces software failures.
- Ensures better performance and security.
Conclusion
Software testing is an essential part of software development. Proper testing helps organizations
deliver high-quality, secure, and reliable software products.