The importance of humans in software testing

Software testing began as a human activity and has evolved, right along with coding, to embrace an increasing amount of automation. The pressure to automate is quite strong. It speeds the development process and cuts costs, at least most of the time. But is it always the go-to solution?
Benefits_Config_Full-iloveimg-resized.jpeg

Contact Us We cut software testing from weeks to days. Let’s talk for 15 minutes to see if we can accelerate your digital delivery too. Schedule a call with our CEO Ash Conway.

The reality is there are some things that automation can't do.  The most important of which is making value judgments concerning an application.  The reason for this is that the amount of information necessary to enable a machine to make such judgements is prohibitively large.  Computers require and execute instructions and will continue to do so into the foreseeable future.  Computers don't have that unique mix of logic and instinct that forms the basis of human thinking.

Software testing, like so many other areas of life, has become formalized.  Whenever we humans find ourselves doing something over and over again, we like to break down our activities into chunks that can be easily seen and manipulated.  We then invent tools to help us manipulate these chunks.  However, tools are useless without tool users.  Neither a software testing tool or stone hammer can accomplish much without a skilled hand.

The proof of this is that exploratory testing has become an important element in the software development process.  It enables new ideas to emerge that would not be covered in scripted testing.  Exploratory testing is now becoming a discipline unto itself.  Templates, testing techniques and models have all been developed to enhance exploratory testing, and classes are now being taught in the subject.

Exploratory testing is a purpose driven ad hoc activity.  In this respect, it embraces much of user experience and user acceptance testing and is a part of the development lifecycle.  Even so, it is quite different from simply using test case scenarios and requires intelligent participation and imagination. Which are two things that human beings are quite good at.

There is a subtlety to software testing, the same as there is a subtlety to coding itself.  Both coding and testing are an expression of human creativity.  While advances in AI are moving machines closer to human capabilities, there is still a long way to go.  The reality is that by the time a machine can replace the tester under all circumstances, it could probably do the coding as well.  Which isn't likely anytime soon.  And so, human beings will still be a part of the software development process  for a long time to come.

Bug Newsletter

Keep up to date with the latest in beta, bug & product testing.

User acceptance testing tools & teams

Quickly assess the quality of your software, websites & mobile apps