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 reveiew 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 fiinding 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?
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 funcional 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 reponsible Testers aren’t the last people in the chain anymore, they are just part of a team taking pride in their work
Expo:QA Tutorial Agile Testing Techniques for the Whole Team