You need to pick up a basic book about project management, read it and practice what you learn from it. Check out the Wikipedia article about project management is is a good starting point: http://en.wikipedia.org/wiki/Project%5Fmanagement
A way to break down projects is to set milestones and do rough estimation to reach those milestones. Don't over complicate things. Usually project planning and estimates are unreliable in the beginning of a project. But as you go along estimation and plans improve as you get to know what your are building.
You could break you project down into 4-hour tasks but that would be micromanaging (unless you really can fit a unit of work into 4-hrs :)) I'd recommend against it, specially in the beginning of a project.
Regarding programmers testing their code:
It is pretty common today to have programmers test their code, testing is a huge domain like project management. For instance you do different kind of testing in the different stages of the system development life cycle:
During development you could do test driven development->make your developers write the test first and when their code is verified against the test it is ready to be committed to whatever source code repository you use.
Once all your code is submitted and you have a early version of your software you could do internal testing, like system testing where you have testers or programmers to test the application.
When you're happy with the systems testing you could do user acceptance testing before deploying it anywhere. User acceptance testing should be performed by whoever is your target users.
I wish you good luck with your project :)