If you are not using any version control system I'd advise using git. Most of my own code is under git for multiple reasons (easy forking, easy patching and such).
But we are talking about testing, what does git have to do with it (you ask)
Easy, my friend: instead of a cron job you can use git hooks. To put it simply hooks allow you to run scripts when some action is done in a repository (such as commiting changes or merging). you can even use those on the server side!
On the topic of testing, in all my uni projects (and most of my personal ones) I have striven to attain a the best possible test coverage and I found one method to work great:
test driven development
if you use that method and hooks, sure you will feel like you are cranking out features at a slower rate but you WILL reap the benefits in the long run (less debugging). And if you have regression issues you can always write a test for that and then use git-bisect to find the first failing commit...
On the topic of using modules, after I read the second (iirc) famous book on perl wizardry I kinda fell in love with module-starter...