Basics of Unit, Widget, and Integration Testing