RE: what is the difference between bug, defect, proble...
According to me the definition and difference is as under:
Error: It is the term used to describe a non-conformance to the explicitly stated requirement. For example: Let me explain with an example. If the requirement mentions 5 Plus 3 Divided by 4; the programmer codes to add 5 and 3 first; and then divides the result [8] by 4 to arrive at result 2. But if the actual/intended application requirement is to first divide 3 by 4 and then add 5; expecting a result 5.75 then this is a classic Design/Code Error.
Bug: Assume that the programmer has actually understood the intended requirement correctly but has declared/stored the result as an integer to show a result of 5 instead of 5.75 – this is called a Bug. Here the programmer has to declare the variable as “double or float” and not “int”.
Defect: A defect is any of the above but found/un-covered in the “released-application” - running in the “Production Servers” [gone “Live”] or may be in “Beta-Release”.
“Defect Trackers” have been christened as such because they are used to report “Defects” in the software post-release; whereas the issues reported by the Testing Team are predominantly called “Incident Reports” and not “Defect Reports”!
However each organization follows its own terminologies for different contexts and processes; many individuals may want to contradict and confront me with his/her opinion on this. But that is a fact-of-life in Software Industry and an Occupational Hazard at that!!!
Fault: When the application runs without any issues in the intended Production Environment under normal circumstances but misbehaves after continuously running for about a month or after performing about a million transactions then we call this condition as Fault.
Let me explain this with an example – Lets say an ‘Order Entry cum Processing’ application has been deployed in a server accessed by public to place orders for movie tickets. Initially when the application starts running – that is when the Application Server is re-started with old log files trashed/removed – the application runs with a throughput of 100 transactions per minute. But after about one million transactions if the application’s throughput reduces to about 50 transactions per minute then we call this condition as a FAULT.
Technically in this case probably the Database connections are not closed properly leading to too many Open Connections and hence waiting for a DB connection-object in the Connection Pool - leading to degradation of performance/throughput. Or may be the application is constructed to create avoidable “new” objects and expecting the JVM to clean up the garbage – which may also cause degradation in throughput over time. This is what I call as Fault. On restart the application works fine – so this is a classic case where you don’t find any apparent Error.
Oxford Definitions are as under:
ERROR >>> noun 1 a mistake. 2 the state of being wrong in conduct or judgment. 3 technical a measure of the estimated difference between the observed or calculated value of a quantity and its true value.
ORIGIN Latin from errare ‘to stray err’
BUG >>> noun - an error in a computer program or system.
ORIGIN of unknown origin
DEFECT >>> noun - a shortcoming imperfection or lack.
ORIGIN Latin defectus from deficere ‘desert or fail’
FAULT >>> noun 1 an unattractive or unsatisfactory feature; a defect or mistake. 2 responsibility for an accident or misfortune. 3 (in tennis) a service that infringes the rules. 4 Geology an extended break in a rock formation marked by the relative displacement and discontinuity of strata.
RE: what is the difference between bug, defect, proble...
Reading the details description I could not stop you from understanding that many of those thing written by author are not correct.
There are many stories why the name Bug called so? Bug is usually an insect like ladybird with attacks cloths or things like that for its food. Now how is it related to software. The answer is a story: long back when computer programs were becoming popular In US for certain company they had an issue with the software they have created for a hardware based application. This problem could niot be fixed even after writing and re writing the code.Later an electronics engineer found that this abnormality is due to some small insects which interrupted the data flow to the system and later they called it BUG this news spread over and later issues or defects became better known as BUGS