Advanced Testing

Unleash the fuzzy monkeys

Previous: Reacting to failure Next: Common Problems In Testing

Now we've looked at the common ways to test a website we can take a glance at some of the more advanced tools and techniques available. Developers have contributed incredible open source tools to the testing community, and while they can be quite complex to set up it's definitely worthwhile at least looking at what's out there. Some of the software might improve your products.

Our first port of call is gremlins.js. Gremlins is the ideological child of Netflix's Chaos Monkey software that randomly shuts down parts of their infrastructure to see if the service can cope. While it sounds like a crazy thing to do to, Chaos Monkey has a tremendous effect on making Netflix a hugely resiliant product - in real life things fail, and the best way to know if you can cope with that failure is to give it a try. gremlins.js doesn't shut down random parts of your application, but it does swamp the page with huge amounts of random interactions.

By producing a storm of concurrent events in the browser, gremlins.js is able to find the strange edge cases where two things happening at once brings about an error that can stop the page working entirely. These are bugs that are incredibly hard to find by methodically testing each element in the page. They need things to happen at the same time.

There's much more content coming soon(ish). If you're interested in reading it as it's added, please subscribe to my email updates. You won't get many emails - it'll only be one a month at most, and your email address will never be shared with any third parties. I would recommend adding something like "+testtheweb" to your email name, eg onion2k+testtheweb@gmail.com, to make filtering easy, and to be sure that your address has not been shared. It's supported on gmail, hotmail and many other email providers.

Many thanks to Tinyletter for their awesome (and free) service.

powered by TinyLetter

Previous: Reacting to failure Next: Common Problems In Testing