The Essence of Automated Testing

Introduction

Before the advent of automated testing, software was tested exclusively manually. Software engineers or testers would manually test the software. Although it did not require any additional software testing frameworks, such practice was deemed highly time-consuming, repetitive, and boring. It was this way because any software change would warrant a complete retest to check for software regression. In other words, a complete retest would be warranted to ensure that any features that were working before, remain working according to specifications.

To somewhat limit the time-consuming requirements of manual testing, the software would be tested at sample intervals, perhaps after a series of changes were made, or after a bug was identified and fixed. The challenge with intermittent manual testing, as opposed to testing after every change, is that it increases the chances of software regression creeping in undetected. The later the bugs are identified, the more costly they are to fix.

The cost of identifying bugs

Fixing software bugs is costly since it demands time from software engineers. However, the time requirement is not constant. Naturally, the time required to fix bugs varies depending on who is fixing it and whether the individual(s) fixing the bug are the same individual(s) who introduced it in the software. Even if the individuals involved are held constant, the time required to fix a bug is still variable.

The IBM Systems Sciences Institute has suggested that the cost of fixing a bug increases depending on how far along the software development process the software is. Fixing such bugs might entail disabling certain features of the software. After fixing the bug, these features will need to be plugged back in and then tested again.

The cost of a bug goes up based on how far down the SDLC (Software Development Life Cycle) the bug is found. When a bug is found in production, the code needs to be fixed, a battery of regression tests needs to be run, and any further issues resolved before the bug may be considered fixed. The increase in costs as a function of time is shown in the figure below:

Get hands-on with 1400+ tech skills courses.