Software engineering
Software Testing
5 self-contained study topics — notes, diagrams, formulas, and worked examples for exams and GATE.
Topics
- Unit and Integration TestingUnit testing verifies individual modules in isolation using mocks and stubs, while integration testing verifies that combined modules interact correctly; together they catch defects at increasing scope.
- Black Box and White Box TestingBlack-box testing derives cases from the specification without seeing the code (using equivalence partitioning and boundary values), while white-box testing derives cases from the code structure to achieve statement, branch or path coverage.
- Test Case Design TechniquesTest-case design techniques systematically derive effective tests: decision tables cover condition combinations, pairwise testing tames combinatorial explosion, and state-transition testing exercises event-driven behaviour.
- Automation TestingTest automation runs tests programmatically for fast, repeatable feedback; the test pyramid advises many cheap unit tests, fewer integration tests, and few slow UI tests, all run automatically in CI.
- Defect LifecycleThe defect lifecycle tracks a bug from discovery to closure through defined states; severity and priority guide handling, and metrics like defect removal efficiency measure how well defects are caught before release.