Computers were huge in 1947, machines were of as big as room running on mechanical relays and lighting vacuum tubes. At that time the state of the art was Mark II, a giant computer being built at Harvard University. Technicians were operating the new computer through its paces when it suddenly stopped working. They scrambled to figure out why and discovered, stuck between a set of relay contacts deep in the bowels of the computer, a moth. It had apparently flown into the system, attracted by the light and heat, and was zapped by the high voltage when it landed on the relay. The computer bug was born. Well, okay, it died, but you get the point.
What Is a Bug?
You can understand what occurs when software fails. It can be inconvenient in use for example when a computer game doesn't work properly, or it can be extremely harmful (catastrophic), resulting in the loss of life. It can cost only pennies to fix but millions of dollars to distribute a solution. In the examples, above, it was obvious that the software didn't operate as intended. As a software tester you'll discover that most failures are hardly ever this obvious. Most are simple, subtle failures, with many being so small that it's not always clear which ones are true failures, and which ones aren't.
Why Do Bugs Occur?
Now you understand that what bugs are, you might have question why they take place. What you'll be amazed to find out is that most of them are not caused by computer programming errors. Lot of studies has been performed on very little to extremely large projects and the results are always the same. The number one cause of software bugs is the specification (see Figure 1.1.
The Cost of Bugs
Software does not just appear there's usually a planned, methodical development process used to create it. From its origin, programming, through the planning and software testing, to its use by the public, there's the possibility for bugs to be found. Figure shows an example of how the cost of fixing these bugs can grow over time.
The cost to fix bugs can increase dramatically over time.
What Exactly Does a Software Tester Do?
It's remarkable that "fixing" a bug does not necessarily involve correcting the software. It could mean adding a comment in the user manual or providing special training to the customers. It could require changing the statistics that the marketing group advertises or even postponing the release of the buggy feature. You'll learn throughout this book that although you're seeking perfection and making sure that the bugs get fixed, that there are practical realities to software testing. Don't get caught in the dangerous spiral of unattainable perfection.
“The aim of a software testing is to find bugs, find them as early as possible, and ensure they get fixed”.
0 comments:
Post a Comment