The Psychology of Software Testing

It is common knowledge in the IT arena that software testing, variously described as Quality Assurance (QA) or Quality Control (QC), is the discipline of evaluating and verifying that a software product or application does what it is supposed to do prior to launch.

You have probably heard ad nauseum of all the techniques and different types of testing including functional, integration, user acceptance, performance, 508 compliance, etc. However, there’s even more going on behind the scenes when it comes to software testing. Psychology plays a major role, and the right psychological makeup and mindset can go a long way in developing strong Test Engineers.

The Right Mindset

It’s human nature to want things to work out favorably. This is called an Optimism Bias, which is the tendency to overestimate the likelihood of positive outcomes and downplay the possibility of negative ones. In other words, this is like a Test Engineer who is cheering for the code to work even before verifying whether it does or not.

The real story is that Test Engineers are tasked with looking for and identifying failures and problems in IT development projects, but all too often end up hopeful for successful functionality due to the pressure of the bias of the rest of the project.

This is the Optimism Bias at work. At Makpar, we believe it’s worse to NOT find anything wrong, than to uncover actual issues while testing. Makpar Test Engineers, acting more like forensic psychologists, know that the issues exist and conquer the Optimism Bias to interrogate the code and uncover software deficiencies thus developing a stronger product.

Psychology plays another role in the Software Test saga. It turns out that psychologists often make great Test Engineers because they are so adept at working beyond the initial layers to uncover the unforeseen health truth.

The Right Metrics and Language

Just as math helps humans to better understand the world, metrics in software testing is foundational in gauging the overall testing effectiveness and identifying the health of the system. Metrics also help in quantifying various aspects of software quality, identifying areas of improvement through trends, and making behavior-driven decisions that ensure the software meets the desired quality standards. This is a prime target to resist Optimism Bias. If not, then the metrics will elevate what worked well and less on what failed (where most of the improvement lessons reside).

In addition to the use of metrics in support of testing results, using the right descriptive language is vital. For example, Quality Assurance and Quality Control are two different disciplines and require diverse team roles and tasks. According to the American Society for Quality, Quality Assurance is the “part of quality management focused on providing confidence that quality requirements will be fulfilled.” Software Quality Control is the "part of quality management focused on fulfilling quality requirements."

We can further describe them like this: QA deals more with how the testing is occurring and if the rules are being followed (processed), and QC deals more with verification that the final system meets the requirements. In other words, is it the system that was planned and approved.

Final Thoughts

Details in all things matter in Software Testing. This is especially true when it comes down to the attitude towards testing the code, the details of metrics to tell a story, and the details of language and what role is being exercised, namely QA vs QC.

This quote sums up Makpar’s philosophy around test details:

“How you do anything is how you do everything. If you’re consistently doing something badly, then you’re probably doing everything else badly.”

Here is where a gut-check is necessary. Are you influenced by Optimism Bias? It’s good to remember that Optimism Bias is a psychological condition that can doom any software test effort. The goal is to develop a keen eye for seeking the truth and have the courage and develop the habit of uncovering every stone to find mistakes during Software testing. Defects are good!

From the project perspective, Software Testing needs to be fully backed throughout the entire software development life cycle, instead of being thought of as some kind of process attachment at the end. This supports the positive psychology around a robust testing culture, where everyone is encouraged to find and document mistakes.

Stay tuned for an upcoming Fed Mission Success podcast interview with John Murray, Software Test Manager at Makpar, about how his childhood love of Encyclopedia Brown books propelled him into a career in QA testing.

Previous
Previous

The Fed Mission Success Round Up: Government Decisions and AI; VA to Lean On Automation; and IRS Pro-Digitization Efforts 

Next
Next

The Fed Mission Success Round Up: Overhaul of Critical Infrastructure Cyber Policy; Public Sector App Security; and Contractors Banned from Using TikTok