Insofar as most people know of software testing they mostly think in terms of making sure that the program does what it’s supposed to and not what it isn’t. Which is broadly true, but the prevailing idea outside the industry is that it’s largely rote application of steps to achieve a desired or expected outcome.
For me, and for many others, this simply is no longer true. If you can reduce a process to this kind of simplistic list by all means do it, but do it in automation where you can! Humans are slow, fallible and easily confused and imaginative . Computers are fast, reliable, able to hold many things in memory at once, but completely unimaginative. So when you have a simple, repetitive task, hand it off to a computer, you’ll be much happier and it’ll be much more reliable.
Testing these days is much, much more than rote checking and assessing. Most of the job is actually based on creativity and the so called “Soft Skills”, combined with a slice of analytical thinking and domain knowledge. Testing is about learning and probing and experimenting and recording and analysing. Plodding through a test script is so passé when you can have a computer do that and free the humans for designing tests, code reviewing, pairing with developers and generally thinking about the product and spotting where the flaws could be before they become actual bugs. Talking to developers, product owners and sometimes clients to discern the actual requirements. Converting test results into a sensible and comprehensible format for developers and non-developers.
Long story short: What people think testing is, is what computers are good for, what people don’t think of is the thought, psychology and technical nous combined that a good tester needs.
If you want to talk to me about this, you can reach me here on Github or on Twitter @Testing_crafty