Critical (showstoppers) — these bugs block a part of the functionality or business logic, thus making a user unable to use the product. The absence of navigation to some parts of the functionality is also considered to be a critical bug.
Another example is when the app crashes and stops working completely or when a user gains access to some parts of the functionality which are not meant for the user with this access level. Other examples of critical bugs include problems with adding a publication when it is not added to the database and the data are lost; difficulties with registering or logging in to a website and other painful user experience.
Major — primary functions work well but secondary ones don’t. For instance, the program sends the mail but it does not show the message statistics. Or when there is an option to upload a profile photo but a user is unable to do it. In general, this bug doesn’t affect the business logic but you still wouldn’t want to have it.
Minor — you should have an eagle eye to notice these bugs as they have no impact on the functionality. For instance, a part of the text has a different translation or a user’s photo size is smaller than minimum. This bug does not have an influence on the business logic, thus being non-critical.
Trivial bugs include typos in the texts of the buttons, a text block exceedings its boundaries, an image out of alignment or other small design errors. These software bugs are the easiest ones to identify. They have no impact on the functionality.