Detailed Explanation of Bug in Software Testing

Table of contents

1. What is a bug

2. Elements of bugs

3. Bug level

4. Bug life cycle

5. What should I do if I have a dispute with the developer on the bug?

6. Summary


1. What is a bug

Bugs refer to software defects or errors found during software development or use, also known as faults or defects. It usually manifests as abnormal behavior or function of the software that cannot be used normally, which will have a negative impact on the quality of the software and user experience.

For example, if some functions exist in the specification, but the corresponding function is not implemented, this is also considered a bug; or if a function is not mentioned in the specification, but a certain function affects the normal use of users, then this is also considered a bug


2. Elements of bugs

The elements of a bug are usually:

The version where the problem occurs, the environment where the problem occurs, the steps that occur, the expected result, the actual result

That is, under what environment, what steps we have taken, and what unexpected results have been triggered, we can correctly describe a bug


3. Bug level

For bugs, there are also different bug levels

When we distinguish between different bug levels, their punishment mechanisms are also different

At the same time, different bug levels can be distinguished, and it can also be seen that a developer's development quality is linked to each other.

Regarding the level of bugs, in fact, the definition of each company is inconsistent, so when we define the level of bugs, we need to refer to the company's specifications

But our definition of Bug level can often be defined as the following levels:

  • Blocker (crash): problems that block development or testing work, such as causing system crashes, crashes, endless loops, and loss of database data
  • Critical (serious): some important functions of the system are lost, the database is saved and called incorrectly, and user data is lost
  • Major (General): The function is not fully implemented but does not affect the use, such as long operation time, long query time, etc.
  • Minor (secondary): Interface, performance defects, suggested issues, solutions that can be optimized, etc.

By defining the bug level, it can help the development team to be more targeted when dealing with bugs, and devote more energy to dealing with high-level bugs, so as to ensure the stability and reliability of the software. At the same time, the bug level is also one of the important indicators to measure software quality, which can help product managers and other related personnel evaluate the stability and usability of software, so as to make better decisions.


4. Bug life cycle

Similar to others, Bug also has a Bug life cycle, that is, the process from the very beginning to the final disappearance

We can often define the life cycle stages of bugs as the following:

  • New: Newly discovered bugs, whether they are assigned to developers for modification without review

  • Open: It is confirmed that it is a bug, and it is considered that it needs to be modified and assigned to the developer

  • Fixed: The bug status will be changed to fixed after the developer fixes it

  • Rejected: not a bug

  • Delay: It is confirmed that it is a bug, the bug priority is not high and the developer cannot fix the bug immediately

  • Closed: Bug confirmation completed

  • Reopen: Bug repair is not complete, modified to reopen

For a newly discovered bug, we set its status to New and add it to the bug management platform

After the review, it will be divided into two stages:

  • If the bug is not a bug, we set its status to Rejected, and at the same time change the bug to Closed status, that is, the bug has been fixed;
  • If the bug is a bug, we set its stage to Open and assign the bug to the developer. At this time, if the priority of the bug is not high and the developer cannot fix the bug temporarily, the status of the bug will be Set it to Delay, and then fix it after a while
  • If the bug is not set as Delay, it will be fixed by the developer and set to Fixed state, and then tested again by the tester, if the Bug repair is not completed, it will be set to Reopen state, and the developer will modify it again;
  • If the bug repair is completed, it will be set to the Closed state, and the bug will be confirmed to be repaired

For the life cycle of the above bug, we can express it in the form of drawing:

 


5. What should I do if I have a dispute with the developer on the bug?

Disagreement with development on bugs is a high-frequency interview question in test interviews. The solution to this interview question is as follows:

  • First reflect on the description of my own bug creation is not very clear

  • Developers do not recognize the bug level, the bug level must be justified (enterprise bug definition specification)

  • Developers think that bugs are small problems and don’t want to solve them. We stand in the perspective of users and communicate reasonably and friendly

  • Testers should not only ask questions, but also better be able to propose solutions to reduce the burden on developers

  • It is indeed a bug, but friendly communication cannot solve the problem, so initiate a bug review

6. Summary

Bug is a problem that testers often encounter and needs to be dealt with during the testing process. Understanding bugs will help improve the test quality of testers and reduce the occurrence of bugs, and it will help us to control the process after entering the company control and familiarity.

Guess you like

Origin blog.csdn.net/yss233333/article/details/130044681