It appears that your use case -- you want to publish the beta version on CPAN without having the non-beta-testers get it too -- is not supported by xdg's essay.
I see two possible approaches: 1: leapfrogging. Release the beta versions with version numbers that are less than the latest release version. This approach might require some planning, possibly including bumping the version number on the current stable to make space. The beta testers will have to jump through something of a hoop, depending on their tools and skill with them, so you'll have to support them in that. 2: release beta versions in an entirely separate name-space, so instead of having the beta after Awesome::Application 3.003 having confusing version number just call it Awesome::Application_betatest 3.004 and let them coexist. Some research may be required to figure out the best way to do that -- you don't want CPAN.pm pulling in the Betatest version of something unreleased because it includes something that it thinks is a proper upgrade, for instance. The additional end-user control over what code is participating in the testing, for a module, with less risk, could be good, too, for a module.