Software Testing
Sign in

Software Testing

print Print email Email
Business Consultant

The birth of ‘Software Engineering’

With the development of higher performance chips (from transistors in 1956 to development of integrated chips in 1958), computers started evolving.

As a result of this drastic chip progress, new computers were being released in the market almost every year or two, rendering existing ones obsolete. Just to understand the ‘revolution’ in hardware, in a span of roughly twelve years the computers evolved from first generation to fourth generation!

Hardware was made for specific task, which means for scientific and business application, hardware was different. Programmers had to rewrite all their programs to run on these new machines. Also the software were more like custom built, that means they were for specific hardware and had to be re written for newer hardware! Software did not have much value hence were bundled with hardware and sold more in the form of free software with hardware!

Programmers spent lot of time fixing the old programs than writing new ones. Programming was considered as sophisticated job and impossible to completely understand. Management of the software work was almost non existence. Hence there was no estimation of when the project will get completed. Quality was more of a luxury, which ultimately had impact on the business.

The advent of higher capacity computer made the idea of building of large system possible, which was earlier thought to be unfeasible. Implementation of such large application required large software system to be built. Building such application without having adequate process or means of managing the job resulted in many failures, which came to be known as “software crisis”.

In 1968, a Software conference was sponsored by NATO Science Committee for discussing the software crisis. The word “software engineering” was first introduced here.

A popular definition:

“The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software”.