Ok, so testnet is pretty much another blockchain.
As its name states it's a blockchain that is used for testing purposes, it works exactly like normal bitcoin mainnet, except for the coins that circulate on testnet have pretty much no value and are used to perform whatever tests you may want.
Currently there are approx. ~30000 blocks on testnet and difficulty is below 100, makes it very easy to generate blocks, that's why I use it to test my pool. I can generate loads of testcoins and see how my pool reacts to an OK block, an orphan block, if payments to testnet addresses are handled correctly etc.
To start your client in test mode simply close it and restart it with the -testnet switch, it'll then start to download the testnet blockchain up to its current latest block, and then you're good to go.
Bitcoin block explorer and the bitcoin faucet both have a testnet mode that is very useful to view your generated blocks, or to get 50 testcoins sent to you.