Exploring Software Testing Phases: Unit, Integration, System, and Acceptance Testing