Software programming has evolved over the decades and consequently, testing, which is an integral part of software development, has also gone through a series of changes. 

It all started with the programming and debugging phase, when finding errors during debugging was considered testing. In 1957, testing got an individual identity and was treated as a separate activity from the debugging process. Till the late ’70s, testing was seen as an exercise to ensure that the software works as per the specified requirements. It was then extended to find the errors, besides ensuring the proper functioning of the software. In the ’80s, the testing activity was also considered as a measurement of quality. With this, it gained more importance and was treated as a clearly defined and managed process of the software development life cycle.  By the mid-’90s, the testing process had its own life cycle.

In this article, we have segregated the phases of software testing evolution in terms of different eras for a better understanding.

The Era of Programmers and Testers – Software Testing Introduction 

Development and testing were treated as mutually independent activities during this era. Once the software was ready, it was passed on to the testing team for verification. Testers were not very actively involved during the requirement analysis phase and had limited interactions with business stakeholders. They were heavily dependent on the knowledge passed on to them via documentation done during design and development or gathering knowledge from developers who wrote the code. Lack of insight into the requirements and expectations of the customers led to limited testing strategies used by the testing team. The testers would develop a test plan based on their understanding of documentation and test the software in an ad-hoc manner. This obviously had certain limitations and the testing was not comprehensive.

Testing evolved and then moved to next era – era of Exploratory Testing  Manual Testing

The Era of Exploration and Manual Testing

The late ’90s saw the advent of various methodologies like agile testingexploratory testing, etc. Testing was done manually using detailed test cases and test plans.

Exploratory testing gave freedom to test and break software in indigenous ways by exploring the software within the gamut of testing charters. 

Expansive and intensive growth of the software development process needed more comprehensive ways of testing. The incremental and iterative approach employed by agile testing helped in achieving this goal. Iterative way of testing paved way for automating the tests that were repetitive in nature.

Revolutionary Cloud Based Testing Platform - Webomates CQ

The Automation Era

With the advent of the new millennium, multiple new approaches surfaced which gave a complete makeover to software testing. These approaches revolutionized the approach to testing. Testing was now deemed as an integral part of SDLC at every step. Quality assurance and control in every phase gained importance.

Automation took testing to an entirely different level. With a plethora of automated testing frameworks, the testers were further empowered to carry out their tasks with improved efficiency. Automation helped in performing regression testing and sanity testing with speed and accuracy.

This era also saw the need for scaling up the testing process. Crowdsourcing and Cloud testing aided the business in managing the testing of the products at a faster pace, with less investment in infrastructure in terms of resources. Click to know more about this article: Testing evolution

 

Read more

Adhoc Testing

what is an RTM

AI-based UI Testing