Software Testing: Perception versus Reality

Tags: testing, jira, qa, agile
Published: 2020-03-06 11:21:14

“A tester’s role is only to find bugs.” “Software testing is an expensive proposition.” Right? If you are in the Quality Assurance business or a software tester, you may have had your share of eye-rolls at the above-mentioned remarks.

Because believe it or not, software testing is no longer an end of cycle activity. Neither is the gate-keeping approach to quality the right one. The role of testing and testers has evolved over the years. Yet such sweeping statements, myths and stereotypes still continue to prevail. So, let’s bust some of these myths and find out what’s true and what’s just perception.

1.Testing is just about trying to break the code and find flaws.
“Testers don’t like to break things; they like to dispel the illusion that things work.” Kaner, Bach, Pettichord

Stress testing which is only one part of the quality assurance mix, determines the ability of the program, application, device or network to perform under various loads or stress. It involves qualitative evaluation of factors like availability or the application or network’s resistance to denial of service(DoS) attacks.

But that’s not what testing is limited to. Performance testing is simply one part of the puzzle. There are several factors like usability, functional testing, unit testing, regression testing and so on and so forth.

2. Software testing is an end of cycle activity
Software testing is above all a process and not an activity or phase that has a definite start and end point. True, there are exit criteria defined for the cycle to reach completion.

In recent years, the approach is to shift testing to the left of the development cycle. So, that testing occurs in parallel to development and this iterative/incremental approach can shorten the time to market.

3. Software Testing is too expensive
If you think quality is too expensive, try making a mistake. The true cost of software failure goes much beyond financial losses.

Testing early and often can significantly reduce your overall development cost and allow you to release products on time, resulting in better time to market and improved ROI. Testing without planning and reducing testing budget at the cost of quality, results in buggy releases often causing much damage to the brand and products.

Investing in the right people, processes in a tool goes a long way in making your product successful.

4. Tested Software is Bug-free!
This is the most common fallacy. That tested and released products are bug-free. It is difficult to produce any application that is 100% perfect even after several layers and rounds of testing. This is because of the dynamic nature of the SDLC, the changing requirements, the multitude of devices and various other factors.

5. AI Bots will steal QA jobs
Many software pundits have declared doom and gloom. Artificial Intelligence and Machine Learning are about to take over the traditional testing jobs. Is it true?

While AI and ML have enhanced the software testing process, making it more prescriptive, predictive and accurate, tester jobs are quite secure. What AI and ML led intelligent testing has changed is the way we test; the scope and potential of quality assurance.

With the rapid adoption of test automation and AI/ML in software testing, QA professionals will of course need to amp up their skills and continue learning with the trends.

6. When a bug escapes, it is a testing failure
Quality is everyone’s responsibility. More so in the Agile and DevOps era, where traditional lines between development and operations have blurred. The introduction of test-driven development, behavior-driven development and several other techniques ensure that all the important stakeholders have a contribution towards the overall quality of the product release..

7. Automated testing can fully eliminate the need for manual testing
As they say, a fool with a tool is still a fool. Just as no piece of software can be fully defect-free, human intervention is extremely important for quality software.

What automation does is that it makes many cumbersome, repetitive, voluminous aspects of QA easier. But good tests are equally important. The tests need to be current and designed well.

Automation, Continuous Integration and Continuous Delivery have made cycles faster and products better. But the right implementation and strategy play their role. Also, some aspects of QA are better served by manual testing.

The rapid changes in the digital economy mean that testers have to learn and unlearn and organizations have to redefine their processes and approach to quality.