Happy software tester’s day: a brief history of software testing - Questers

Happy software tester’s day: a brief history of software testing

Have you ever wondered what would the IT industry be like if software developers didn't exist? Now, try to imagine a tech world without software testers. We can certainly say that the current state of tech would be very different. There are many celebrations in the field of information technology, but September 9 – the international Tester’s Day, is a prominent one. Without the assistance of these dedicated professionals, many errors and bugs would have slipped through and numerous critical software features might have gone unrealized. A stable quality assurance (QA) team contributes to the refinement of software products and streamlines workflow efficiency. The Tester’s Day is a celebration that recognizes the vital role that these experts play in shaping the tech landscape.

If you are intrigued by the historical context surrounding this particular date, proceed to the following paragraphs to gain insight.

The first computer bug in the history

On September 9, 1947, a remarkable event occurred in the computer world. While testing the computer Mark II Aiken Relay Calculator, the team of computer experts led by Grace Hopper, a well-known American computer specialist and a Rear Admiral in the US Navy, stumbled upon something that would become known in history as the world's first computer bug. They discovered a small moth between the electromechanical contacts and a person from the team mentioned the word "bug" for the first time.

In this context, the term became a synonym of a defect or error in the system.

Following the evolution of the software testing

After the discovery of the first computer bug, software testing began to evolve, with the main focus being on hardware due to its essential role in ensuring the proper functioning of software.

  • In 1949, Alan Turing published his first article highlighting the importance of performing tests on a program. Then, in 1950, he introduced the "Turing test," outlining how software should adapt to the requirements of the project and the behavior of the machine or reference system (logic) should be indistinguishable.
  • By 1957, Charles Baker had emphasized the need to develop tests that verify both the pre-developed requirements (testing) and the functionality of the program (debugging). As the applications became more complex and expensive, the emphasis on test development increased. The cost of fixing inconsistencies has a direct impact on the profitability of the project, which prompts a focus on increasing the number and quality of tests. The goal was to establish a clear link between the product and the testing phase to demonstrate that the software was functioning as expected.
  • In 1979, Glenford J. Meyers introduced a radical change in the bug detection procedures. He expressed the concern that, in an effort to prove program flawlessness, testers might inadvertently select test data with a low probability of causing the program to crash. To address this problem, Meyers advocated a change in perspective, claiming that by purposely seeking to demonstrate program flaws, testers could increase their success in identifying problems and thereby improve the quality of the software.
  • In 1983, a new methodology emerged that integrated analysis, revision and testing activities throughout the entire software life cycle. This approach aims to continuously evaluate the product throughout its development.
  • Then, in 1988, William C. Hetzel changed the concept of testing with his publication “The Growth of Software Testing”. He redefined testing as a holistic process encompassing the planning, design, construction, maintenance and execution of tests and test environments. This shift led to the early integration of the testing phase into the product development process, especially during the planning phase.

Thanks to these important developments, the field of software testing continues to make significant progress. But why is this evolution so essential?

Nowadays, software testers play a key role in the software development process. Their primary focus is on identifying defects and bugs in the software or in the code. They implement strict test procedures to check if the software meets the requirements and if there is a need to fix defects before it is released to the market.

In the modern IT environment, you can find a variety of jobs dedicated to software testing, including test analysts, test engineers, quality assurance analysts, software testers and many more. And for the experienced QA engineers, Questers is currently offering a range of career opportunities. To explore these with us, click here.