Questions
2 questions per exam
Difficulty
Medium
Importance
High yield for University theory exams
Overview
Software testing is a systematic process of verifying that a software application functions as expected and meets user requirements. Mastering this topic is essential for university exams as it bridges the gap between software development theory and practical quality assurance. Students should grasp the core methodologies and the distinction between internal code verification and external behavioral validation.
Unit vs Integration Testing
Unit testing focuses on validating individual components or modules in isolation, while integration testing assesses how these components interact. Understanding the hierarchy of testing is crucial for defining how software subsystems collaborate effectively.
- Unit testing is performed by developers using frameworks like JUnit or NUnit
- Integration testing identifies interface defects and data communication errors
- Bottom-up integration focuses on lower-level modules first
- Top-down integration tests higher-level modules using stubs
- Big-bang testing involves integrating all modules simultaneously
Black-Box vs White-Box Testing
These represent the two fundamental strategies based on visibility into the internal code structure. Black-box testing relies on functional specifications, whereas white-box testing requires knowledge of the underlying source code logic.
- Black-box tests focus on input-output mappings without seeing the code
- White-box testing employs path analysis and branch coverage
- Black-box is also known as behavioral or functional testing
- White-box is also known as structural or glass-box testing
- White-box is highly effective at finding hidden logic errors
Test Case Design
Test case design involves creating a set of conditions or variables to verify a specific software requirement. A well-structured test case ensures maximum coverage with minimal redundancy, which is a common requirement in examination case studies.
- Equivalence Partitioning divides input domain into valid and invalid classes
- Boundary Value Analysis tests values at the extreme edges of ranges
- Decision Table Testing uses logic matrices for complex conditions
- State Transition Testing tracks system behavior across different states
- Error Guessing relies on the tester's experience to find likely failure points
Exam Tip
Always draw a V-model diagram or a comparative table when asked to distinguish between testing levels; examiners award significantly more marks for visual clarity.
Common Mistakes
- Confusing the purpose of stubs (used in top-down) with drivers (used in bottom-up) integration
- Ignoring the fact that black-box testing can be applied to unit levels, not just system levels
- Failing to provide a concrete example or diagram when explaining Boundary Value Analysis
More Revision Notes
Ready to test yourself?
Play topic-wise Testing questions in Aspirant Arcade — gamified MCQ practice.
Download Free