Raise your hands if you said or heard any of the following:
Testing is about: checking the system finding bugs Trying to break the system Testers are responsible for quality Testing is a phase after development
Today I am going to show you how agile testing is none of these things
Let’s look at testing as a phase. How many of you have boards like this with a test column after the dev column? This is traditional thinking
In agile testing is an activity that takes place THROUGHOUT It’s just another task. A great tip is to use different coloured stickies for test tasks and try to get them done first. Even if you don’t do TDD, get the tester to brainstorm what they are going to test before any code gets written
A great technique is the show me column. Most teams do code reviews, and usually the last task to get done Instead review every task, dev and test by showing someone else on the team Drives shared knowledge, identifiies and fixes issues faster Bugs are more expensive the later you fix them, using this you can fix them within hours of them being introduced.
Now lets talk about finding bugs How many of you measure tester performance based on the number of bugs they find Or how about the number they don’t find that are found in the wild?
Consider this star Can you work out how many points it has? Write down your answer How many of you wrote down something other than 5? If this was code, we just found a bug How could we prevent that bug?
What if we told you this was one point, and this was not a point How many of you would have written down 5. Asking a few questions before you assumed what we meant would have prevented bugs
By asking questions early, before code is written you can prevent bugs Focus on making sure the whole team has a shared understanding before any code gets written Often teams make assumptions in planning. Don’t Ask even the most stupid questions. If it’s not clear to you, it’s not clear to everyone Make sure everyone leaves the room with the same picture in their mind 6 month report story
Most testers we know, explain there jobs by saying the check stuff Does the system work Does it meet the spec Does 1 + 1 = 2 You know what’s really good at checking stuff? Computers! If it’s a simple check – automate it. Free up testers from checking
Best way to automate – testers write test cases, devs write fixture. Put the two together and you have an functional level test before any code is written.
So if tester’s aren’t checking what should they be doing? Understanding the user needs, making sure they system that is built will solve a real business need Do exploratory testing that computers suck at and giving feedback on how the system behaves Most importantly ask “how can you test it” People who do TDD know that code written this way is designed to be testable. Testers should help by asking how can we test this up front.
Many testers are proud of their ability to break stuff But lets face it broken systems don’t help anyone. Instead of a blame game between dev and test it’s more useful to collaborate
Testers and developers should be working together to build the best possible system. Not trying to catch each other out.
Tell Maersk Story – if we show you the acceptance tests you might just build a system that makes them pass !
Testers tell developers how you will test it before they build it, chances are they will build it right.
Often testers are seen as the owners of the quality gate They alone get to say if something is ready for release Often they seem dead against products being released, mostly because they will be blamed if quality is not good
In agile the whole team is repsonsible Testers aren’t the last people in the chain anymore, they are just part of a team taking pride in their work
To summarise the agile testing mindset is about:
Testing as an activity not a phase Prevent bugs rather than finding them Being a tester give feedback not a checker Helping to build rather than breaking The team being responsible for quality not just the tester
We’d like to leave you with my top 3 tips to make your testing more agile
We’ll be around tonight and tomorrow if you have questions