Before going into the worst bugs, do you know why computer program errors are called “bugs” and why developers like myself “debug” programs? It all goes back to September, 1945. Here is the story:
Moth found trapped between points at Relay # 70, Panel F, of the Mark II Aiken Relay Calculator while it was being tested at Harvard University, 9 September 1945. The operators affixed the moth to the computer log, with the entry: “First actual case of bug being found”. They put out the word that they had “debugged” the machine, thus introducing the term “debugging a computer program”.
Here is the log, with the moth still taped by the entry:
source
Now on to the worst moths… Oops, I mean bugs. Wired News published an article about history’s worst software bugs. Here is a summary of the 10 worst software bugs in chronological order:
1962 — Mariner I space probe. A bug in the flight software for the Mariner 1 causes the rocket to divert from its intended path on launch.
1982 — Soviet gas pipeline. Operatives working for the CIA allegedly plant a bug in a Canadian computer system purchased to control the trans-Siberian gas pipeline. The resulting event is reportedly the largest non-nuclear explosion in the planet’s history.
1985-1987 — Therac-25 medical accelerator. A radiation therapy device malfunctions and delivers lethal radiation doses at several medical facilities.
1988-1996 — Kerberos Random Number Generator. The authors of the Kerberos security system neglect to properly “seed” the program’s random number generator with a truly random seed.
1990 — AT&T Network Outage. A bug in a new release of the software that controls AT&T’s #4ESS long distance switches causes these mammoth computers to crash.
1993 — Intel Pentium floating point divide. A silicon error causes Intel’s highly promoted Pentium chip to make mistakes when dividing floating-point numbers that occur within a specific range.
1995-1996 — The Ping of Death. A lack of sanity checks and error handling in the IP fragmentation reassembly code makes it possible to crash a wide variety of operating systems by sending a malformed “ping” packet from anywhere on the internet.
1996 — Ariane 5 Flight 501. Working code for the Ariane 4 rocket is reused in the Ariane 5, but the Ariane 5’s faster engines trigger a bug in an arithmetic routine inside the rocket’s flight computer.
2000 — National Cancer Institute, Panama City. In a series of accidents, therapy planning software created by Multidata Systems International, a U.S. firm, miscalculates the proper dosage of radiation for patients undergoing radiation therapy.
I noticed that “Y2K” did not make the list. I guess because it was not the worst or it was not a bug, or is it?
---Thanks to awards.net
Search For Knowledge
Monday, August 20, 2007
Friday, August 17, 2007
A wonderful learning experience on testing
A true story about learning about software testing… a long while ago I had a boss named Bob. At the time I was fairly new to software testing. Bob had knowledge on many topics. He had an approachable way about him that made working with him and for him one of my most positive experiences in my life. I realize now the primary reasons for this: I love to learn and enjoy the role of the student. Bob was a great teacher by nature. Together for a long stretch we made a great pair.I use to ask Bob time and time again, what should I learn now? He would sit back at his desk and think about this. Then he would take a book from his bookshelf. Sometimes he would suggest reading a whole book and sometimes just a section. The concept of not reading a book front to back like a novel gave me permission to take what I wanted and leave the rest. He’d answer in ways like this: learn a little more SQL, learn more about data types, or go look read more about user interface standards. Sometimes depth, sometimes breadth. But here’s one point. he knew me. He knew what I knew, he knew pretty well what I didn’t know and he knew clearly what my work objectives and challenges were – and sometimes he would ask me, what are your current frustrations or stopping points? This made my asking Bob a good question because he had a frame of reference. This is an important point – sometimes people email me this same question, so please consider that I’m going to be limited in how I answer the question because I don’t know you and I don’t know your background. And I don’t know what you might be trying to accomplish. But you do.I remember one day after working with him for years, I asked the same age old question. Bob, what should I learn? He looked up at his bookshelf turned to me and said; it may be time for you to teach. I was actually sad that day; I wanted to remain the student. But with a deep sigh, I accepted that it might be time to pass on some knowledge and that it was also time for me to continue on my own.I had resolve this continuing question for myself. I think I learned a bit or more about learning from Bob. I look for my educational gaps. I know where they are. I have a mix of topics that interest me, topics I feel/know I need to learn more and sometimes topics I need learn to resolve new technical challenges at work. Sometimes I catch up on pure software testing materials from the work of other people in the field.Bob hasn’t been my boss for a decade or more now. But I was fortunate to have had the time with him. Years later, I find myself hiring testers. I share every book I own. I highlight sections, I point out websites. I suppose, the cycle repeats. It feels good to help other people. Though a large part of me I suspect remains a grasshopper.
-Thanks Karen N. Johnson for sharing the great time with ur teacher.
-Thanks Karen N. Johnson for sharing the great time with ur teacher.
Friday, August 10, 2007
Intelligent search engine?
Today I searched the basic functions of the project I'm working with, and performed some search options available with. The application used to perform some default search if we not specified (default specification is there) anything. I removed all the default search input and performed the search. (Without any input) But it result me the same default search. Actually I expected some error message to insist the end user to give some input (intelligent programming…:-). But it was not. (it has a special specification to result everything in the DB)
Then I did an empty search test in some famous search engines. Just open some search engines, without entering any search key perform the search. Aaha it all returns to its original page. This happened to most of the search engine like Google, yahoo, AltaVista, etc.
What I expect in the search engine is this.
The search engine may result some message (error) to the user to enter some input or at least it may lead to the web search help page.
The search engine may provide some search result about the empty space (preferably white space or blank space).
I really don’t know what is right on this case. Anyone want to comment about this…pls shoot.
Then I did an empty search test in some famous search engines. Just open some search engines, without entering any search key perform the search. Aaha it all returns to its original page. This happened to most of the search engine like Google, yahoo, AltaVista, etc.
What I expect in the search engine is this.
The search engine may result some message (error) to the user to enter some input or at least it may lead to the web search help page.
The search engine may provide some search result about the empty space (preferably white space or blank space).
I really don’t know what is right on this case. Anyone want to comment about this…pls shoot.
The Web Testing CheckList
The Checklist
The links in the checklist lead to a discussion of each issue.
Validation
Validate the HTML
Validate the CSS
Check for broken links
Flexibility
Try varying window sizes
Try varying font sizes
Speed
Access the site via a modem
Check image size specifications
Accessibility
Test accessibility
View in text browser
Browser independence
Try different browsers
Check printed pages
Switch Javascript off
Switch plug-ins off
Switch images off
Other checks
Check non-reliance on mailto
Check no orphan pages
Check sensible page titles
want full details...visit http://www.xs4all.nl/~sbpoley/webmatters/checklist.html
The links in the checklist lead to a discussion of each issue.
Validation
Validate the HTML
Validate the CSS
Check for broken links
Flexibility
Try varying window sizes
Try varying font sizes
Speed
Access the site via a modem
Check image size specifications
Accessibility
Test accessibility
View in text browser
Browser independence
Try different browsers
Check printed pages
Switch Javascript off
Switch plug-ins off
Switch images off
Other checks
Check non-reliance on mailto
Check no orphan pages
Check sensible page titles
want full details...visit http://www.xs4all.nl/~sbpoley/webmatters/checklist.html
Friday, August 3, 2007
THINK OUT OF BOX AND FIND MORE BUGS
Hi everyone,
For good software tester, out of box thinking is very essential. So that he can find some good bugs in the application. And make that application a fool proof one.
Let me give an example. If a programmer is coding for a Building Lift then he won't code for every floor. He may code for a single floor (like first floor) then slightly change the code and use that in other floors.
Here the out of box thinking works. If you test the application in every floor you may find some bugs, but a smart tester will specifically do testing for ground (lower) floor and the top (upper) floor.
The ground floor may not need the options for going down and the top floor don’t require going up.
This is how the out of box thinking works…
Regards,
-Jerry-
For good software tester, out of box thinking is very essential. So that he can find some good bugs in the application. And make that application a fool proof one.
Let me give an example. If a programmer is coding for a Building Lift then he won't code for every floor. He may code for a single floor (like first floor) then slightly change the code and use that in other floors.
Here the out of box thinking works. If you test the application in every floor you may find some bugs, but a smart tester will specifically do testing for ground (lower) floor and the top (upper) floor.
The ground floor may not need the options for going down and the top floor don’t require going up.
This is how the out of box thinking works…
Regards,
-Jerry-
Friday, July 27, 2007
A Review of Error Messages
What Does a Good Error Message Look Like?
A well-constructed error message
should identify the program that is posting the error message
should alert the customer to the specific problem
should provide some specific indication as to how the problem may be solved
should suggest where the customer may obtain further help
should provide extra information to the person who is helping the customer
should not suggest an action that will fail to solve the problem and thus waste the customer’s time
should not contain information that is unhelpful, redundant, incomplete, or inaccurate
should provide an identifying code to distinguish it from other, similar messages
Want to read more about error messages...visit
http://www.developsense.com/essays/AReviewOfErrorMessages.html
Thanks to MICHAEL
A well-constructed error message
should identify the program that is posting the error message
should alert the customer to the specific problem
should provide some specific indication as to how the problem may be solved
should suggest where the customer may obtain further help
should provide extra information to the person who is helping the customer
should not suggest an action that will fail to solve the problem and thus waste the customer’s time
should not contain information that is unhelpful, redundant, incomplete, or inaccurate
should provide an identifying code to distinguish it from other, similar messages
Want to read more about error messages...visit
http://www.developsense.com/essays/AReviewOfErrorMessages.html
Thanks to MICHAEL
No User Would Ever Do That
"No user would ever do that!"
"No user would ever try that!"
"No user would ever need that feature!"
"That's a cool idea, but no user would ever want it."
When developers say, "No user would ever do that," what they really mean is "No user that I've thought of, and that I like, would do that on purpose. In the Rapid Software Testing course, James and I have been encouraging testers to probe that statement for users that the developer didn't think of, for users that the developer doesn't like (like hackers or inexperienced users), or for things that legitimate, likable users might do by accident.
It recently occurred to me, though, that developers often say this after a tester has done something that has surprised the developer. "No user would ever do that!" "Well, I'm a user, and I just did it." "Yeah, but... you're not a real user."
One implication from this exchange is that testers aren't real users. Another is that testers' questions, actions, requirements, needs, and tactics don't matter. Fair enough--but let's keep that idea in mind, and maybe revisit it, when we hear another common software development question: "Why did it take you so long to find that bug?"
Posted by MICHAEL in his BLOG....Thanks to him
"No user would ever try that!"
"No user would ever need that feature!"
"That's a cool idea, but no user would ever want it."
When developers say, "No user would ever do that," what they really mean is "No user that I've thought of, and that I like, would do that on purpose. In the Rapid Software Testing course, James and I have been encouraging testers to probe that statement for users that the developer didn't think of, for users that the developer doesn't like (like hackers or inexperienced users), or for things that legitimate, likable users might do by accident.
It recently occurred to me, though, that developers often say this after a tester has done something that has surprised the developer. "No user would ever do that!" "Well, I'm a user, and I just did it." "Yeah, but... you're not a real user."
One implication from this exchange is that testers aren't real users. Another is that testers' questions, actions, requirements, needs, and tactics don't matter. Fair enough--but let's keep that idea in mind, and maybe revisit it, when we hear another common software development question: "Why did it take you so long to find that bug?"
Posted by MICHAEL in his BLOG....Thanks to him
Subscribe to:
Posts (Atom)
