According to classic software testing principles, testing is defined as executing code with the primary goal of finding defects. Demonstrating that a program works or is defect-free is logically impossible because testing can only prove the presence of defects, not their absence.