Identifying Different Types of Bugs in your Software

Identifying Different Types of Bugs in your Software

Working as a software tester involves identifying different bugs that could be terrorizing your product without knowing. So today we’re all going to become entomologists, and no not actually studying bugs like roaches and flies, we’re going to study the bugs that crawl around in different mobile apps and web apps.

I think a common mistake that people make is defining every error found in software as a bug. Sometimes they are, sometimes they aren’t. Sometimes what is referred to as “bugs” might actually be a premeditated flaw that is working as Designed. It could also just be a defect. Defects are errors in the product that are found by the tester. It could be a User Interface error, Calculation error, Logical error, and so on.

Bugs, however, are defects in a computer program that cause it to behave incorrectly. They actively show the difference between the product’s expected result and the actual results displayed and it could cause the program to crash or produce invalid output.

In this article, I’d outline their different types and create a list with questions for you to use to identify bugs so that you also have fun while reading this.

bugs.gif

We can classify bugs into three main categories. By priority🐞, By severity🦂, and By nature🕷.

When classifying by nature we have 5 major types of bugs. The Big 5, The High 5, whichever one you’d prefer to call it. I call them the Big 5. As someone suffering from a chronic case of short-term memory, I use the acronym F-CUPS. The bug F-cups (I like it because it sounds like “the bug f**kups” and that’s exactly what bugs do 😂) are completely different categories of bugs but are all based on the bugs nature. So what exactly is the difference between all these types of bugs you ask? Let’s find out.

  • 🐜Functional bugs are – in my opinion- the most common to find actually. They involve defects that are identified when something doesn’t work the way it’s supposed to. For example, you click on a button and it doesn’t take you to the right page, or it doesn’t even work at all. Its behavior is different from what is required of it. I generally think they are the most common because they can be easier to identify when compared to the other ones.

  • 🐛Compatibility bugs are – think of when something is relative, like how some people like some things and some absolutely hate it just like that. Compatibility bugs are, just like their name implies, defects that have to do with the software not functioning correctly in specific environments. Software should work the same way everywhere because for starters you need to be able to accommodate all types of Users using different types of devices or browsers. Compatibility bugs are also necessary for accessibility. The product should have a consistent performance on all hardware, devices, operating systems, browsers, etc.

  • 🐞Usability bugs have to do with things that make it harder for the user to complete the action. They are things that can make the product difficult or annoying to use and could leave the user with a bad impression of the product or software. They hinder User experience and could make users leave bad reviews on your app. A very popular example of this is - not having error messages on your app, or having error messages that aren’t explanatory. It’s very bad practice to just have general error messages like “Something went wrong” when a button is clicked, the user should be able to identify where the particular error is. It is always better to put “Invalid xxx please verify it is correct and try again” than to put something vague. Another example is using very vague icons that don’t tell what they could be used for just by looking at them, or an overly complex signup procedure.
  • 🐝Performance bugs are defects that are identified due to the speed, stability, response time, and resource consumption of the software. Performance testing cannot be performed manually because it would require quite a number of resources, the proper monitoring system might not be available and it would be daunting to perform the tasks over and over again. This is why we use tools performance testing tools like Apache JMeter, Load Runner, and so on. Knowing how to perform performance testing is a very good skill to have though.
  • 🦟Security bugs: The funny thing about testing is that you can actually specialize in just one aspect of testing. Security testing involves testing for any weaknesses in the software’s firewall. This is also an aspect of cybersecurity. You’re testing for any areas in which hackers and fraudsters could get through, anything that could cause a security attack. The most common areas that security testing is performed for are – encryption errors, susceptibility to SQL injections, XXS vulnerabilities, buffer overflows, weak authentication, and logical errors in role-based devices.

Below are some simple examples of Bugs and you get to determine what nature of bugs they belong to. Happy Testing!!!

1) After filling my signup form, I kept trying to submit by clicking on the signup button but no action was performed and I couldn’t signup.

2) Every time I try to add an item to my cart by clicking the “Add to cart” button, I get a notification that my item has been added to the cart but when I open my cart it’s not there

3) When I open the webpage using Safari, some essential buttons are missing and I can’t perform some actions, but when I tried it on chrome it worked just fine.

4) When I click on the back button, the app crashes

5) I discovered that if I click on this tab 5 times, I have access to all the details of people that have performed transactions in the last minute

6) I wanted to signup but there were so many forms to fill. Am I signing up to join the FBI? I will give you 1 star.

7) There are so many spelling errors on this webpage!

8) The name field accepts numbers

9) On my phone, the page says “Click this button to register →” but there is no button visible, however using my friend's phone the button is displayed beside the text.

10) The Privacy Policy link is not functional

11) All the images of the different flavors of ice cream are not displayed when I use Chrome but when I opened the webpage with Firefox all of them were displayed

12) I changed my password recently but when I tried logging in with my old password due to habit, I could still log in using that previous password.

Feel free to put your answers in the comment section!