There are three honest answers to this question, depending on how you train. If you're using an adaptive platform like TrainerRoad, the algorithm is constantly inferring your FTP from your session quality — formal tests become less important. If you're self-coached on a structured periodised plan, every 6-8 weeks is the sweet spot. If you're working with a coach, they'll tell you when — typically at the end of each block.
The reason 4-week testing is too aggressive is simple: fatigue. Mid-block, you're carrying load. A 'test' at that point isn't measuring fitness — it's measuring fatigue tolerance. The number comes back lower than reality, you readjust your zones downward, and you under-train the next block. Joe Friel and the Roadman coaching network are unanimous on this: fewer high-quality tests beat more low-quality tests every time.
The reason once-a-year is too rare is also simple: zones drift. If your real FTP has moved 6% but your zones are calibrated to last year's number, every interval session is now mis-targeted. Easy rides creep into zone 3. Threshold work isn't actually at threshold. The training quality silently degrades and you don't know why your gains have stalled.
Practically, plan your testing into your periodisation up front. Most amateur build phases run 8-12 weeks. Test at the start (to set zones) and at the end (to measure the block). Take a deload week before the end-of-block test — even one easy week typically lifts the result by 3-7% versus testing under fatigue. That's not artificial — that's letting your body actually express the fitness it built.