Which is better between bug vs defect?
I am wondering, in software development testing, what is the difference between a bug and a defect?
Countless definitions that make a distinction between 'bug' vs 'defect' exist. They disagree with each other. They include direct opposites (Bug is A, Defect is B versus Bug is B, Defect is A). To my knowledge, not a single one of these definitions is in wider use. Any distinction made between the terms will be specific to your company, maybe even specific to your group, in your department, in your company. There are some who claim there is a clear difference, like this one: A bug is the result of a coding error A defect is a deviation from the requirements
or that one: A bug is a problem at the time of testing, whereas a defect is a problem that got by the customer in production time.
or another one: A defect is an effect, usually caused by human error, of writing correct code. [...] A bug is not a mistake in coding. A bug is the system doing something that isn’t incorrect per se… but it wasn’t purposefully designed in and you didn’t see it coming. or from a comment on this answer: "Bug" suggests that the problem, once noticed, is (or is believed to be) trivial to fix. "Defect" (as in "defective by design") suggests that it is not, also that it is a consequence of imperfect specification or design.
or from another answer in this thread: [...] if the specification says software should do something and the software does that, it's not a bug. But if that makes the software unsuitable for its intended use, it's a defect.
Even more definitions can be found in other answers of this thread. These definitions are completely at odds with each other. They are also at odds with how I see the terms being used in reality. There is no consistent distinction between the terms that is used across any significant parts of the software industry. The only somewhat widely used definition is the one that doesn't make a distinction between bug and defect. Without further context of your work environment and their specialised usage of the terms, both 'defect' and 'bug' just mean: "an issue someone encountered, or might possibly encounter, when using the software". But as one can see from the various other answers in this thread, that is not widespread enough to be called "the definition".