TestRPC is a "fake" blockchain that lives only on your computer. It is a great tool for testing, as it allows for free, quick, simulations of all blockchain interactions. This works well with Truffle to allow you to test your smart contracts.
Provisioning the Development Environment [10 min video]
In Decypher TV's past videos, you may have noticed Jordan Leigh using node.js in a command line interface to show his demos. Much of the development with Solidity and Ethereum depends on node.js and npm modules. In this video, Jordan shows you how to provision your development environment with node, including setting it up on a remote instance.
An Introduction to Ethereum Testnets - Karl Floersch, 2016 [5 min read]
Read through this article by Karl Floresch to install TestRPC on your computer. This will help you learn a little bit about the differences between TestRPC and Live Testnets.
Choosing an Ethereum Client - Truffle Documentation [Exercise]
This quick section from the Truffle Docs summarizes the differences between private networks and public networks (including testnets).