Testing provides the answers to (at least ) 4 questions.
Is my implementation correct? Does the app match the documented or at least mental image of how it is supposed to behave.
Did my latest change break anything?
Is my app secure? From both innocent users and devious people.
Is my app's performance sufficient?
For #1, there needs to be at least one test per "feature" and probably many for major features.
It is very easy to make errors of omission here if you are both the developer and the test developer.
For #2 starting out with the discipline of writing the test suites along with the code (and faithfully running it) is key.
For #3, Make sure that URLs accessed outside of normal program directing operations behave properly with respect to permissions. You probably don't want one user to be able to modify or even another user' info but if they can just type in ../user/505 and get to everything there that's probably a problem. I'm sure there is a lot of other things that should be tested here, so other people chime in here please.
Testing performance and scaling robustness for an app with a tremendous amount of traffic
isn't something I know much about.
Looking at the test cases for Django itself provide a sense of the granularity of what should be tested.Django trunk tests
Django docs have a good article on testing: search the docs for testing.