top of page

What is a bug?



ISTQB definition:

A defect (bug, fault) - is an imperfection or deficiency in a work product where it does not meet its requirements or specifications.


Human language:

Human beings are fallible and thus, when they work, they sometimes introduce defects. Defects and bugs are synonyms.

A bug is - a general term describing any unexpected hardware or software problem. In short, it is any behavior or result that a program or system gets, but was not designed to do. Software bugs can be caused by many factors, including unclear requirements, programming errors, software complexity, lack of communication, timeline deviation, errors in bug tracking, documentation errors, deviation from standards, and much more.


The rate at which people make defects increases when they are under time pressure when they are working with complex systems, interfaces, or code, and when they are dealing with changing technologies or highly interconnected systems. While we commonly think of failures being the result of ‘bugs in the code’, a significant number of defects are introduced in work products such as requirements specifications and design specifications. We can detect a bug at any stage of the software development lifecycle. Ideally, defects are removed in the same phase of the life cycle in which they are introduced.


Bugs can have a wide-ranging impact on the product’s performance, from minor issues such as unintended text formatting that can be overlooked to major ones that make the software impossible to use such as causing a program to crash, freezing the computer, or causing damage to hardware. Other bugs qualify as security bugs and might, for example, enable a malicious user to bypass access controls in order to obtain unauthorized privileges. That's why we have the terms bug severity and bug priority, which we will describe in separate articles.

Life example:

Example 1: functional bug

The development team builds functionality on the website. Functionality is a New section named Electronics.

After the development team has developed this module, the QA Engineer starts testing it. During testing, the QA Engineer navigates to the first section of the developed module named Deals and clicks on the Holiday Tech Deals.

The expected result of this action is: the Holiday Tech Deals page is displayed with the corresponding products.

But instead of seeing it, the error is displayed: Sorry, we are having technical issues. But we will be back in a flash.

This is our bug because the expected behavior is that the developed section works, while in our case the user is unable to use the page. In this example, the issue will be the highest impact on the users and thus should be fixed as soon as possible, which means the severity and priority of this issue will be the highest.


Example 2: Design bug The development team builds header elements on the https://www.walmart.com/

Such as:

  • Site Logo;

  • Departments;

  • Services;

  • Search field;

  • My Items;

  • Account;

  • Bag.

The requirement is: All components in the header menu should be aligned in the same line. Our design is:

After the development team has developed all components in the header, the QA Engineer starts testing it. During testing, the QA Engineer notices that the Search field is not aligned with the other elements of the header.

This is our bug because the expected behavior is that all components in the header menu should be aligned in the same line.

Conclusion:

So, if you are asked at an interview: What is a bug? The best way to answer is:

A bug - is a general term describing any unexpected hardware or software problem. In short, it is any behavior or result that a program or system gets, but was not designed to do.

746 views

Recent Posts

See All
bottom of page