The Evolution of Software Testing
Anyone who has worked with computers or software will attest to the wonders that technology can accomplish. But for software companies, creating the actual software is only half the battle; devising the method of testing it is equally challenging. And in order to create excellent software, an effective and efficient software testing process is needed. The purpose of this article is to take a look at software testing as we know it today.
WHERE IT STARTED
The origins of software testing can actually be traced back to the fifties, when the primary method of testing anything was debugging. In the late seventies, the approach evolved to one of destruction; basically, the testers would break down the code to find holes or gaps in it. This method was effective but it was not until the advent of prevention oriented methodologies that we began to enjoy the benefits of more robust software applications.
In 1979, Glenford J. Myers correctly hypothesized that there must be a distinction between debugging, which means identifying and eliminating bugs in the software code, and actually testing the software in real world settings. It was during this time that there was a distinct shift toward software testing as we know it today.
IMPORTANCE OF SOFTWARE TESTING
If you are reading this article on your computer, the Internet Browser you are using has gone through countless hours of testing to ensure the software is not only stable but secure as well. There are many shady characters out there trying to exploit weaknesses in the code and the only barrier between us and chaos is effective software testing.
Similarly, the operating system you are currently using on your computer is a work of human ingenuity. Envision having to draft a software program that not only can handle the ever changing needs of users, but can also manage hardware drivers and a host of other conflicting resources. It’s no wonder programmers work as hard as they do!
Every component of the system must act in harmony, and if the software is not coded correctly it will not only crash but could affect other programs within the same directory. Thus, to conduct effective software testing you must build something that works seamlessly, and then to make things interesting you need to figure out ways to make it crash in order to correct the associated flaws. Not an easy undertaking and surely not for the faint of heart.
An important question to ask is who will be using this software. Will it be a single end user or multiple users at the enterprise level or both? The level of complexity in the coding will be dictated by the end user. Will the software have a one-time release or will there be ongoing updates? This and similar issues are worth considering when programmers are hashing out ideas.
BOTTOM LINE
One certainty is that without sufficient testing any piece of software will eventually fail, leaving the user base unhappy and in search of another solution. All companies want happy users, and thus effective software testing is of paramount importance to their future and bottom line.
Author Bio: UniversalExams.com provides cost-effective self-study training packages for ISEB, CTFL and ISTQB certification exams. Packages have a 100% pass guarantee and include study guides, practice exams, diagrams, audio tutorials, flashcards, worksheets, revision papers, forum access, and more.
Category: Business Management
Keywords: software testing