1.2 2nd copy
1.2 2nd copy
2. Levels of Testing
1. Unit Testing
o Tests individual components (functions, modules, classes) in isolation.
o Done by developers.
o Identifies algorithm and programming errors.
2. Integration Testing
o Tests how units interact with each other.
o Done after unit testing.
o Identifies interface-related issues (e.g., parameter mismatches).
3. System Testing
o Tests the complete software system against specifications.
o Conducted by testers.
o Identifies performance issues and functionality failures.
4. Regression Testing
o Conducted during maintenance after changes to the software.
o Ensures new changes don’t introduce defects in previously working features.
o Helps detect regression bugs (existing functionality breaking due to
modifications).
3. Testing Activities
7. Smoke Testing
• Analogy to pesticides: Bugs that survive one test type cannot be eliminated by
repeating the same test.
• Requires applying multiple testing techniques over time.
• Different testing methodologies act as bug filters (e.g., equivalence partitioning,
path testing, MCDC testing).