Testing is fundamentally about finding defects (option D). Options A, B, and C describe 'showing that the program works' or 'is defect free' - these are impossible to prove and represent destructive thinking. The correct mindset is that testing can only prove defects exist, not that they don't.