Why All Roads Lead to Testing

Why all roads lead to testing

Testing is a skill every software engineer should develop.

It’s easy to dismiss testing as a responsibility only some carry, but it’s best thought of as a hat that anyone can put on. How well you learn to wear this hat affects your career whether or not you’re a tester. Here’s why.

Ideas are cheap.

In tech, having an idea isn’t what sells– the success is in the execution.

iPhones didn’t become popular because it was the first mobile with a touchscreen. The Nintendo Switch isn’t ubiquitous because of its revolutionary hardware. Behind every successful product is a lot of testing.

Testing isn’t just for testers.

Every good software engineer does testing.

Debugging is a form of testing. Questioning requirements is a form of testing. Testers don’t (and shouldn’t) have a monopoly on testing. The reality is that everyone is doing it, often without calling it “testing”.

Testing is about people more than it is about machines.

The fundamental goal of any app is to address a human need.

Testing is finding new ways to represent and understand this need at all stages of development. Testing is a people problem, not a technical problem.

Humans are irrational.

The biggest challenge in building apps is human irrationality.

We don’t always want what we need, we don’t always know what we need, and even when we’re building for others, we don’t always work towards what we need. Testing is an attempt to make sense of this irrationality.

Testing is an attitude.

Getting good at testing extends to aspects beyond work.

Testing is a discipline of questioning. It’s having curiosity as a default state and trying to meet people where they are. These are things every project, and every community, needs in spades.

Testing is rarely the destination.

But some time, some how, all roads lead to testing.