Bug
Bug in software testing refers to an error, flaw, failure, or fault in a software application or system that causes it to produce an incorrect or unexpected result, behave in unintended ways, or deviate from its specified requirements. Bugs are defects in the software that arise during design, development, or maintenance and are typically identified during testing or real-world usage.
Key Characteristics of a Bug:
- Deviation from requirements: a bug occurs when the software does not perform according to its documented specifications or user expectations.
- Impact on functionality: bugs can affect the software’s functionality, performance, usability, or security.
- Reproducibility: a bug is usually reproducible under specific conditions, which helps developers identify and fix the issue.
- Lifecycle: bugs follow a lifecycle that includes detection, reporting, triage, fixing, verification, and closure.
The Bug Lifecycle:
- Discovery: Bug is identified and documented by a tester or user.
- Reporting: Bug details are logged in a tracking system with steps to reproduce, expected vs. actual behavior, and severity.
- Triage: The bug is prioritized based on its impact and urgency.
- Fixing: Developers work on resolving the bug.
- Verification: Testers validate the fix to ensure the bug is resolved and hasn’t introduced new issues.
- Closure: The bug is marked as closed if it is no longer reproducible.
Bug Severity and Priority:
- Severity:
- Critical: Affects core functionality or causes system crashes.
- Major: Affects significant functionality but has a workaround.
- Minor: Affects non-essential functionality or appearance.
- Trivial: Cosmetic issues with negligible impact.
- Priority:
- High: Must be fixed immediately due to business impact.
- Medium: Needs to be fixed soon but not critical.
- Low: Can be fixed later or deferred.





