A bug is an incoherent behavior from the application which is visible by the end user.
Incoherent behavior and bug
A bug is an incoherent behavior but the opposite is not true.
The main difference between them is the impact on the end user, for an incoherent behavior to be a bug it needs to be visible from the end user.
This makes a bug a tangible concern to be handled where often the incoherent behavior is the root cause from the bug and can live for year without having a real impact.
What to test
While testing our objective is to make the application as stable as possible for the end user.
Due to that it is important that tests we write focus on bugs rather than incoherent behavior from the application and that for a simple reason, most of the incoherent behavior will end up invisible to the end user.
This is not the case for bugs as per definition they are visible to the end user and by focusing on them rather than all incoherent behavior we will save a lot of time by not writing tests with little to no value.