This document discusses different levels of software testing including unit, integration, system, and acceptance testing. It focuses on unit testing and describes how to plan and prepare for unit testing. Key points include:
- Unit testing involves testing individual software components like functions, methods, and classes. Good practice is to plan unit tests to target specific defect types.
- Preparing for unit tests involves planning the approach, designing test cases and procedures, and developing any auxiliary code needed to run the tests. Test cases should cover normal and abnormal behavior.
- When testing classes as units, testers focus on interactions between methods in the class. Choosing classes or individual methods as the test unit involves tradeoffs around complexity and cost