From Bugs to Glory: The Exciting Story Behind World Tester’s Day
It is safe to say that bugs are the mortal enemies of the software-defined universe and testers are the Jedi constantly fighting to save the day. Today the terms 'bug' and 'debugging' have become intrinsic to our vocabulary. We don't want buggy software; we don't want bugs ruining any online experience; we don't want bugs to interfere with security. The role of testers, as such, in delivering reliable software is undeniable. Given their role in the software development universe, having a day dedicated to them as Testers Day is not just fair, it is warranted.
All About World/International Tester's Day
Tester's Day is not a day that is randomly celebrated on the 9th of September. This day is special in the lives of all testers as it was on this day, way back in 1947, that the first bug was discovered in a computer.
Don't get us wrong; it is not that the term 'bug' had never been used before. Back in the 1800s, Thomas Edison reported many bugs in his designs. However, it was only on September 9th, 1947, that a group of computer scientists and engineers pioneered by Grace Hopper discovered an actual, 'living' bug in a computer.
How Did It All Start?
The story behind World Tester's Day started when Grace Hopper, a computer scientist at Harvard University, was hard at work on the Mark II Calculator (designed by Howard Aiken). Hopper and her team discovered that the Mark II Calculator was delivering consistent errors. When they opened up the computer and looked into its hardware, they found an actual bug!
This bug, a moth, was stuck between the two solenoid contacts of the electromechanical relay and disrupted the electronics of the computer. Hopper and her team then detailed the incident in the work log, pasted the moth there as evidence of a 'bug,' and referred to the action of eliminating the error as 'debugging'.
From Turing to Hetzel – The Software Testing Evolution
Tests back then focused more on the hardware as its reliability was crucial to the proper functioning of the software. The focus on testing continued as computer science progressed.
Then in 1949, Alan Turing came up with the Turing Test. This test explained how software must adapt to the requirements of a project. It detailed that a machine's or a reference system's (logic) behavior must be indistinguishable. The focus on testing continued to improve software outcomes as this field marched on its path of progression. Then in 1957, Charles L Baker spoke of the importance of test development as more expensive and complex applications were developed. Baker spoke of the importance of designing tests that ensured that the software met pre-defined requirements. He also spoke of identifying ways to improve program functionality through debugging.
Later in 1979, Glenford J. Myers introduced a radical change in the procedure to detect faults in a program. Meyers said, "Software testing is the process of running a program with the intention of finding errors."
His concern was that to demonstrate that the program was flawless, testers could subconsciously select test data that had a low probability of causing program failures. To alleviate this, he focused on changing the goal. Instead of trying to prove that the program was perfect, he tried to demonstrate that the program was flawed. By trying to 'break the program' they would inevitably move towards greater software quality.
1983 saw testers integrate analysis, revision, and testing activities during the software life cycle to improve testing and, consequently, development outcomes. It was in 1988 that William Hetzel refined the concept of software testing and published the article "The Growth of Software Testing." Here, he redefined the concept, purpose, and methodology of testing.
Celebrating the Transformative Power of Testing
There has been tremendous progress made over the past 70 years in the world of testing.
It is important to visualize how the world of software testing has evolved. Testing has now transformed from just being a corrective activity that takes certain measures to make the program work. It has become a continuous presence across the entire software development lifecycle.
Today, testing has shifted left and has become more integrated into the development process than ever before. In fact, testing today has become more complex in the face of constant technological and product evolution. In the same vein, the role of the tester is expanding as:
- The threat footprint expands
- Bugs and vulnerabilities become more sophisticated
- The threat landscape evolves
- The focus on seamless, intuitive experiences increases
Therefore, testing today can no longer be an afterthought. It is no longer a mere corrective activity but one that directly impacts product acceptance and advocacy and, consequently, organizational outcomes. But as products become complex and business-critical, testing must evolve too. To that end, testers today have the power of no-code and intuitive technologies such as AI to accelerate testing velocity, increase the testing footprint, and improve test outcomes.
New Tools Coming to the Fore
AI-powered, no-code test automation platforms like ACCELQ are accounting for the exact needs of testers today. In effect, a tool like ACCELQ does the heavy lifting for testers, removes redundant and laborious work like test creation and test maintenance, and provides deep and clear insights into testing activities and outcomes.