Does The Test Blockchain Get Reset/Cleared?
They can do. There's no guarantee that the public testnets will persist for the amount of time you need them.
If we're talking about the proof of work testnets, we're currently on the third iteration, the "Ropsten Revival" testnet. The original Ropsten was a victim of spam attacks and was retired before being revived. Going back further, the Morden testnet was taken down I think because it lacked replay protection. (Or something similar?)
So in the past testnets have only been reset as a consequence of attacks or upgrade requirements. That doesn't mean these will be the only reasons going forward.
because you can withdraw as much as you want from things like faucet.metamask.io
The supply from faucets isn't (shouldn't be) limitless. Else you could accumulate enough test ether to potentially spam/attack the network.
There are some details about the tiered withdrawal limits for the Rinkeby testnet faucet, here. (Rinkeby is PoA, not PoW as Ropsten is, but still gives you an idea of how faucets have to be limited.)
In response to one of the comments on the other answer:
but I think if the contract you are using becomes inactive then it is deleted or you cannot access it anymore.
That shouldn't be the case. The testnet should operate in the same way as the main net. Contracts shouldn't just disappear :-)