For younger students who cannot be ready in 4 months, I have started with a partial test - for example, a student who can do approximately half the requirements (say, half the pattern, and all of the required kicks), the student would get one stripe, on one end of the belt, instead of a full promotion (one stripe on each end of the belt). I usually only do this for students testing to 9th gup; after that, they just test more slowly - although I do have a couple of developmentally delayed adults, and they test in smaller chunks because it takes them so much longer to learn new things, and deserve to have their accomplishments acknowledged as much as anyone else does.
I have seen other schools in which smaller, partial testings are done at regular intervals (usually only for students under 10, and sometimes the cutoff is younger); students must test for a certain number of stripes (usually not the same color as the stripe for a full rank) before they can test for the full rank - this lets younger students see their progress. Testing fees are generally not charged for this - sometimes, it is part of a formal testing; other times, the intermediate stripes are awarded for demonstrating a technique, pattern, or application in class, either for the instructor or for another, sufficiently senior student. I have also seen students receive certificates of completion for finishing the entire session - these are easy and cheap to make on a color printer.