Advanced Testing Techniques: Tips from the trenches

Software testing is undeniably hard. Rob and Graeme have worked with many teams over many years through consulting with a wide range of companies. Through this perspective we have had a unique opporunity to see the entire continuum of testing successes and failures. This has ranged from highly effective teams that can confidently deploy changes multiple times a day through to teams struggling to deploy twice in a year.

One of the key things we've observed in the teams that are highly effective is a pragmmatic approach to software testing and a realisation of how to effectively and judiciously use test automation to accelerate delivery speed and confidence. On the other end of the spectrum, we ourselves have written (and seen) everything from heavily mocked, time-consuming implementation tests that impede refactoring, 24 hour long brittle automated UI test suites and 4 week long regression testing cycles (as well as everything in between).

We both have a strong passion for code quality, automated testing, DevOps and getting valuable features out quickly and safely to users. This passion, combined with our extensive experience has led to us uncovering and adopting a number of testing techniques and mindsets which we, and teams we have worked with, have found highly effective at reducing overhead of testing while improving confidence and utility.

In this presentation, we will blow apart the traditional testing mindset/methodologies and contrast them with the battle-tested pragmatic approaches we've been using. We will also leave attendees with some new, highly effective testing techniques for their toolbelt that are easy to get started with.