I reckon that any of us using a computer has the experience that the applications you’re using do not always act the way you expect it to do. This might be a matter of ignorance, i.e. simply not knowing how it works, but it also could be that they are not behaving as intended. The latter is what we call a bug. In the words of Wikipedia:
A bug is an error, flaw or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.
I tend to narrow this down to:
A bug is an untested feature.
This short definition highlights that any kind of bug, be it a real fault, an unexpected result, or whatever, boils down to the fact that this behavior was not revealed by testing. No scenario was thought up to uncover this behavior before the application was released, only to be discovered in daily usage.
Read the full article on opgona.training where it was originally posted: Test Automation: It’s Not A Buzz Word, But A Grand Helping Hand.