Testing should begin as early as the requirement gathering phase to identify issues before they become expensive to fix. Early testing allows for validation of requirements and design decisions, reducing the cost of changes compared to discovering defects in later stages like development or integration.