Building the Perfect Cassandra Test Environment by John Berryman.
John outlines the qualities of a Cassandra test framework as follows:
- Light-weight and available — A good test framework will take up as little resources as possible and be accessible right when you want it.
- Parity with Production — The test environment should perfectly simulate the production environment. This is a no-brainer. After all what good does it do you to pass a test only to wonder whether or not an error lurks in the differences between the test and production environments?
- Stateless — Between running tests, there’s no reason to keep any information around. So why not just throw it all away?
- Isolated — Most often there will be several developers on a team, and there’s a good chance they’ll be testing things at the same time. It’s important to keep each developer quarantined from the others.
- Fault Resistant — Remember, we’re a little concerned here that Cassandra is going to be a resource hog or otherwise just not work. Being “fault resistant” means striking the right balance so that Cassandra takes up as little resources as possible without actually failing.
Projects without test environments are like sky diving without a main chute, only the reserve.
If it works, ok. If not, very much not ok.
With John’s notes, you too can have a Cassandra test environment!