Open In App

History of Software Testing

Last Updated : 17 Nov, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Software testing is one of the important steps in the development of a project. It ensures that the project is working fine in every scenario and gives the perfect output as expected. It helps to avoid unwanted things like bugs, unnecessary costs, and unnecessary time. But how does this become so important? Was this always an important part of development? You’ll get to know all of this further in this article.

Importance of Software Testing

Incomplete or missed software testing has led to disasters such as heartbleed bugs, the crash of an Airbus A400M, etc. 

  • Product reputation: Late delivery or software bugs can damage the brand’s reputation.
  • Customer satisfaction: Testing helps to make sure that the software is free from bugs and that the product meets the customer’s requirements. Software that is bug-free and satisfies all the customer requirements ensures a satisfied customer base. 
  • Uncovers errors: Software testing early in the development cycle helps to uncover bugs before the product goes to the market.
  • Improves software reliability: When the development team leaves ample room for testing it results in improved software reliability and high-quality software product with fewer bugs.

Heartbleed Bug

Heartbleed bug was a security bug in the OpenSSL cryptography library, which is a widely used implementation of the TLS protocol. It was announced on April 7, 2014. 

  • Every time when the user visits the website and fills password to log in then the website has to check if it is correct. 
  • Now the browser exchanges the password with the computer where the information on the website is stored. 
  • To avoid vulnerabilities in this process websites use software that ensures safety. 
  • One such software is OpenSSL which provides SSL encryption with communication. 
  • Now there is a parallel communication going on between the browser and the company computer which checks whether the company computer is still active or not. 
  • And this communication is called a heartbeat and it is not encrypted. Now unfortunately hackers could manipulate this conversation in OpenSSL and steal critical information from the company computers.

This was a classic example of the problems that could occur when software testing is not done properly.

History of Software Testing

  • Early 1950: Computer scientist Tom Kilburn is credited with writing the first piece of software on June 21, 1948, at the University of Manchester in England. It performed mathematical calculations using machine code instructions.
  • 1950: The Turing test was introduced this year which checks the intelligence of machines.
  • 1957: Debugging was considered a software testing method at that time. In 1957 Charles L. Baker (RAND Corporation) distinguishes program testing from debugging in his review of the book Digital Computer Programming by Dan McCracken. Now developers start testing their software in real-world scenarios. This gave a boost to software quality assurance testing which is an important part of SDLC i.e. Software Development Life-Cycle.
  • 1958: In this year the first team is formed specifically for testing by Gerald M. Weinberg.
  • 1961: A specific chapter on software testing was introduced in the book “Computer Programming Fundamentals” by Gerald Weinberg & Herbert Leeds.
  • 1968: Software testing was mentioned in a report by NATO.
  • 1970: In 1970 and Winston Royce described a waterfall model in the paper Managing the Development of Large Software Systems, presented to IEEE WESCON.
  • 1971: Richard Lipton proposed the concept of mutation. Mutation Testing is a type of software testing in which certain statements of the source code are changed/mutated to check if the test cases are able to find errors in the source code.
  • 1973: Cause Effect Graphing-based technique was introduced. 
  • 1978: Functional testing was introduced by William Howden.
  • 1979: In this era, the focus was to break the code and find some errors. That’s why it is called a destruction-oriented era. The term breakage testing came in this era which means to test code in such a way that it breaks.
  • 1983: The first version of the IEEE 829 Standard for Software Test Documentation was published in 1983. Now the focus of testers is to check the quality of the software. They check the software until there are approximately no errors in the code.
  • 1985:  Autotester, the first commercial test tool for the PC is released by AutoTester.
  • 1986: Software quality engineering was founded by David Gelperin and William Hetzel. 
  • 1988-2000: Testing had reached a qualitatively new level, which led to the further development of methodologies, and powerful tools for managing the testing process.
  • 2004: Selenium, a web application testing tool was developed.
  • 2005: SoapUI was released in the month of September and it became quite popular.
  • 2008: Software testing company Altom is founded, also the testing service Applause was launched this year.
  • Present: Now there are different types of testing for software that checks different aspects of the software in different scenarios. Artificial intelligence is also being used for testing software based on the behavior of the end users. Now testers perform different types of testing like Unit testing, Integration testing, Acceptance testing, Performance testing, etc.

Passing all these tests makes software unbreakable. Now there are different testing frameworks that can automate these tests and make the life of a tester easy. Some examples of these frameworks are PHPUnit, Mocha, and RSpec which use PHP, JavaScript, and Ruby programming languages respectively.

Software Testing History

 

Timeline Software Testing Era
1950 The Turing test was introduced. Debugging-oriented Era (Early 1950s): This was the phase during the early 1950s where there was no distinction between testing and debugging. There was no concept of testers, the developers used to write codes and when encountered an error, they would debug the issues.
1958 The first testing team was formed by Gerald M. Weinberg. Demonstration-oriented Era (1957-1978): During this era, testing was carried out as a separate activity in software development. A clear distinction was there between debugging and software testing. The major goal during this phase was to make sure that the software requirements are satisfied and that the software meets the customer’s expectations.
1961 Testing was introduced specifically in a book by Gerald Weinberg & Herbert Leeds.
1968 NATO mentioned software testing in a report.
1970 Winston Royce mentioned the waterfall model in a paper.
1971 Richard Lipton proposed the concept of mutation.
1973 Causing effect graphing technique was introduced.
1978 Functional testing was introduced by William Howden.
1979 Glenford J. Myers introduced the separation of debugging from testing in 1979. Destruction-oriented Era (1979-1982): During this phase, the focus is on breaking the code and detecting undiscovered errors. The destruction-oriented approach failed as software would never get released as finding one bug and fixing it could also lead to another bug.
1985 The first testing tool was introduced by AutoTester. Evaluation-oriented Era (1983-1987): The focus here is to evaluate and measure the quality of the software. Testers test the software up to an acceptable point until they reach a point where the number of detected bugs was reduced.
1986 Software quality engineering was founded by David Gelperin and William Hetzel. 
2000 Behavioral and test-driven development was introduced. Prevention-oriented Era (1988-2000): This focuses on conducting tests to show that the software meets its specification. Code here is divided into testable and non-testable where testable codes had fewer bugs than the non-testable code. 
2004 Selenium testing tool was developed. The current Era is focused on using AI tools, cross-browser testing tools, etc. 
2005 SoapUI was released.
2008 The testing service Applause was found.
Present A.I.-driven testing.


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads