0% found this document useful (0 votes)
33 views12 pages

Types of Bugs Bugs Life Cycle

The document discusses types of bugs and the bug life cycle. It identifies several types of bugs including arithmetic, logic, syntax, resource, multi-threading, and teamworking bugs. It then outlines the typical stages a bug progresses through from initial reporting as "New" to being "Closed" once fixed and verified. The stages include being assigned, opened, fixed, pending retest, retest, verified, reopened, closed, and other potential statuses.

Uploaded by

bhavana16686
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views12 pages

Types of Bugs Bugs Life Cycle

The document discusses types of bugs and the bug life cycle. It identifies several types of bugs including arithmetic, logic, syntax, resource, multi-threading, and teamworking bugs. It then outlines the typical stages a bug progresses through from initial reporting as "New" to being "Closed" once fixed and verified. The stages include being assigned, opened, fixed, pending retest, retest, verified, reopened, closed, and other potential statuses.

Uploaded by

bhavana16686
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Bugs

Types of bugs
Bugs Life Cycle

Types of Bugs

Arithmetic bugs.
Logic bugs.
Syntax bugs.
Resource bugs.
Multi-threading programming bugs.
Teamworking bugs.

Arithmetic bugs

Division by zero.
Arithmetic overfloworunderflow.
Loss ofarithmetic precisiondue
toroundingornumerically unstablealgorithms.

Logic bugs

Infinite loopsand infiniterecursion.


Off-by-one error, counting one too many or too few
when looping.

Syntax bugs.

Use of the wrong operator, such as performing


assignment instead ofequality test. For example,
in some languages x=5 will set the value of x to 5
while x==5 will check whether x is currently 5 or
some other number. In simple cases often the
compiler can generate a warning. In many
languages, the language syntax is deliberately
designed to guard against this error

Resource bugs

Null pointerdereference.
Using anuninitialized variable.
Using an otherwise valid instruction on the wrongdata type(seepacked
decimal/binary coded decimal).
Access violations.
Resource leaks, where a finite system resource (such asmemoryorfile
handles) become exhausted by repeated allocation without release.
Buffer overflow, in which a program tries to store data past the end of
allocated storage. This may or may not lead to an access violation
orstorage violation. These bugs can form asecurity vulnerability.
Excessive recursion which though logically valid causesstack
overflow.
Use-after-free error, where apointeris used after the system has freed
the memory it references.
Double free error.

Multi-threading
programming bugs

Deadlock, where task A can't continue until task B


finishes, but at the same time, task B can't
continue until task A finishes.
Race condition, where the computer does not
perform tasks in the order the programmer
intended.
Concurrency errors incritical sections,mutual
exclusionsand other features ofconcurrent
processing.Time-of-check-to-time-of-use(TOCTOU)
is a form of unprotected critical section.

Teamworking bugs

Unpropagated updates; e.g. programmer changes


"my Add" but forgets to change "mySubtract",
which uses the same algorithm. These errors are
mitigated by theDon't Repeat Yourselfphilosophy.
Comments out of date or incorrect: many
programmers assume the comments accurately
describe the code.
Differences between documentation and the actual
product.

Bug Life Cycle

New: When a defect is logged and posted for the first


time. Its state is given as new.
Assigned: After the tester has posted the bug, the lead
of the tester approves that the bug is genuine and he
assigns the bug to corresponding developer and the
developer team. Its state given as assigned.
Open: At this state the developer has started analyzing
and working on the defect fix.
Fixed: When developer makes necessary code changes
and verifies the changes then he/she can make bug
status as Fixed and the bug is passed to testing team.
Pending retest: After fixing the defect the developer
has given that particular code for retesting to the tester.
Here the testing is pending on the testers end. Hence its
status is pending retest.
Retest: At this stage the tester do the retesting of the
changed code which developer has given to him to check
whether the defect got fixed or not.

Verified: The tester tests the bug again after it got


fixed by the developer. If the bug is not present in the
software, he approves that the bug is fixed and changes
the status to verified.
Reopen: If the bug still exists even after the bug is
fixed by the developer, the tester changes the status to
reopened. The bug goes through the life cycle once
again.
Closed: Once the bug is fixed, it is tested by the tester.
If the tester feels that the bug no longer exists in the
software, he changes the status of the bug to closed.
This state means that the bug is fixed, tested and
approved.
Duplicate: If the bug is repeated twice or the two bugs
mention the same concept of the bug, then one bug
status is changed to duplicate.

Rejected: If the developer feels that the bug is not


genuine, he rejects the bug. Then the state of the bug is
changed to rejected.
Deferred: The bug, changed to deferred state means
the bug is expected to be fixed in next releases. The
reasons for changing the bug to this state have many
factors. Some of them are priority of the bug may be
low, lack of time for the release or the bug may not
have major effect on the software.
Not a bug: The state given as Not a bug if there is
no change in the functionality of the application. For an
example: If customer asks for some change in the look
and field of the application like change of colour of
some text then it is not a bug but just some change in
the looks of the application.

You might also like