Why you need testers in a new team

We usually think of testers coming in at the end and checking things were built right. This can be via manual or automated tests, but the prevailing view is still I need a thing to be built so I can test it.

Testing is much more than that, a lot of testing can happen before we’ve built something and we need championing to ensure we bake quality in from the start. This type of testing won’t be the traditional “I asked for X… check it did X… Pass” testing and so teams and hiring managers need to understand what this testing looks like.

Testing early in development

There’s so much more to testing than checking a finished product meets specifications. Just like the old saying “prevention is better than cure” a lot of testing can be done earlier to prevent bugs from ever happening (speeding up your team to delivery).

Refining the ask – When we’re early in building a product there might be a lot of uncertainty about what we want, this leads to assumptions which could lead to things not as we want. Testing can ask questions to help refine out what you’re asking for.

Raising risks from designs – Like with refining the ask, uncertainty can lead to assumptions which leads to defects, by reviewing designs and architecture we can tease out potential risks and issues early. Raising these issues early means that the team can build software with these issues in mind and avoid defects happening.

Exploring the build – Testing can happen before a product is completed, you can look at services and components and explore the code to uncover potential issues earlier. This can include working with developers on where to add closer to the code tests or to run and debug code with them. This can also be working as a liaison between development and product, demoing and explaining what’s been built to help them know if it’s what’s wanted.

Regression pack / Deployment checks – these are the traditional tests that go “I asked for X… check it did X… Pass”. These are important to ensure that what we want to stay the same, stays the same even when we deploy the code or make changes to it. These are the tests that we’d automate and would usually wait to have something to test against before starting.

But ideally we should keep on top of these tests and get writing them as we build the code, especially if the code will change a lot / we’re working fast paced, so that we have safety that desired behaviour doesn’t change.

Baking quality in earlier

When we’re starting with development and architectural designs, some of the decisions we make can have a massive impact on the product we build for years to come. It’s not always likely of feasible that we’ll have the time or desire to rebuild the core of our software much later on, which means these initial parts of the system need to be robust and make for a good foundation.

Non functional considerations like performance and security (and even usability) need to be designed and architected in from the start. They’re not something that you can just bolt on at the end, which means we need to champion for them early. Testing should be benchmarking what we build for these considerations from the start so that we know that they are fit to be the foundations we build upon.

Testers can also help with really helping to define what “good enough now” means for a product in the early says and help to explain what your path may be to “good enough later”. It may be that the team just hasn’t considered what they’re missing and haven’t thought to ask about certain behaviours or considerations (we don’t know what we don’t know).

For hiring managers and recruiters

As a testing community we need to help organisations understand how there’s so much more to testing than the old school “I asked for X… check it did X… Pass” checks. Teams need to understand the real value that testers can bring into teams earlier and know to ask for the right type of testing!

When we talk to recruiters looking for a first tester into an organisation help them to understand what testing is needed in the problem space. That this testing needs to be championing quality, working with uncertainty, active (not reactive) and an exploratory generalist. Don’t be afraid to challenge the view that new teams just need automation or scripted testing (this might be the only testing the hiring manager knows about).