How are Ethereum contracts tested? I've seen Truffle which referrers to itself as an Ethereum development framework. Are there any other frameworks and what is their level of maturity? Is there a de facto standard framework used by most contract developers?
How would one go about testing the Greeter contract (https://chriseth.github.io/browser-solidity/) for example?