Career Guide

How to Write a Bug Report: 9 Proven Tips + Template

A practical guide for testers on writing clear, reproducible bug reports — with a copy-ready template, severity vs priority table, good vs bad examples and 9 proven tips.

✍️ By QA Jobs India📅 25 Oct 2026⏱ 7 min read

Finding a bug is only half the job. If the developer cannot understand or reproduce it, the bug bounces back as “Cannot reproduce”, the fix gets delayed and your credibility takes a hit. Knowing how to write a bug report that is clear, complete and easy to act on is one of the most valuable — and most underrated — skills a tester can have.

Interviewers know this too. Many QA interviews in India include a task like “Find bugs on this page and report them”, and hiring managers judge your report as much as the bugs you find. This guide gives you the anatomy of a strong bug report, a copy-ready template, real examples and nine tips used by experienced testers.

Key takeaways

  • A good bug report is reproducible, specific and neutral in tone.
  • The title alone should tell a developer what is broken and where.
  • Always include numbered steps, expected vs actual result, environment and evidence.
  • Severity is the impact on the system; priority is the urgency to fix.

What is a bug report?

A bug report (also called a defect report or issue) is a document that describes a deviation between the expected and the actual behaviour of software. The ISTQB glossary defines a defect report as documentation of the occurrence, nature and status of a defect. In most Indian companies, bugs are logged in Jira, Azure DevOps, Bugzilla or a similar tracker, and the report moves through statuses such as New, Open, In Progress, Fixed, Retest, Reopened and Closed.

The goal of the report is simple: give the developer everything needed to reproduce, understand and fix the problem without coming back to you with questions.

Anatomy of a good bug report

FieldWhat to writeExample
Title / SummaryWhat is broken + where + under what conditionCheckout: “Place Order” button stays disabled after applying a valid coupon
EnvironmentBuild, URL/env, OS, browser/device, app versionQA env, build 4.12.0, Chrome 129, Windows 11
PreconditionsData or state needed before the stepsLogged in as a user with 2 items in cart
Steps to reproduceNumbered, one action per step1. Open cart 2. Enter coupon SAVE10 3. Click Apply
Expected resultWhat should happen, per requirementDiscount applied, button enabled
Actual resultWhat actually happensDiscount applied, button stays disabled
Severity / PriorityImpact and urgencyCritical / P1
AttachmentsScreenshot, screen recording, console/network logsvideo.mp4, console.txt
ReproducibilityAlways, intermittent (x out of y)5/5 attempts

How to write a bug report: 9 proven tips

1. Reproduce it before you report it

Try the scenario at least two or three times. Note whether it happens every time or intermittently, and on which browsers or devices. A bug you can reproduce reliably gets fixed far faster.

2. Search for duplicates first

Check the tracker for existing reports using key words from the screen or error message. If a duplicate exists, add your new information as a comment instead of creating a new ticket.

3. Write a title that stands on its own

Use the pattern [Module] — what fails — when. “Login not working” is weak. “Login: OTP screen shows blank page when mobile number has a +91 prefix” tells the developer exactly where to look.

4. Keep steps short, numbered and complete

One action per step, starting from a known state. Include the exact test data you used — usernames, amounts, coupon codes, file names. Do not skip “obvious” steps; what is obvious to you may not be obvious to someone else.

5. Separate expected and actual results

Expected result should come from the requirement, user story or acceptance criteria — mention the story ID if you have it. Actual result should describe only what you observed, including any exact error message text.

6. Attach evidence

A screenshot with the problem area highlighted, a short screen recording for flows, and browser console or network logs (from DevTools) for web apps. For APIs, include the request, response body and status code. For mobile, add device logs where possible.

7. Set severity and priority honestly

Do not mark everything as Critical. Inflated severity reduces trust and buries truly important issues. See the table below.

8. One bug per report

If you find three problems on one screen, log three tickets and link them. Combined reports are hard to track — one part gets fixed, the rest gets forgotten.

9. Stay neutral and factual

Describe the software, not the developer. Avoid words like “terrible” or “obviously”. A respectful, factual report builds a good working relationship with the development team.

Severity vs priority

CombinationExample
High severity, high priorityPayment fails for all UPI users
High severity, low priorityApp crashes on a rarely used legacy report page that few users open
Low severity, high priorityCompany name misspelled on the home page banner
Low severity, low priorityMinor alignment issue in the footer on one browser

Testers usually set severity; priority is often finalised by the Product Owner or lead, based on business needs.

Copy-ready bug report template

Title: [Module] - [What fails] - [Condition]
Environment: [Env/URL], Build [x.y.z], [OS], [Browser/Device + version]
Preconditions: [User role, data, settings]
Steps to reproduce:
  1.
  2.
  3.
Expected result: [As per story/requirement ID]
Actual result: [What happened, exact error text]
Reproducibility: [Always / 3 of 5 attempts]
Severity: [Critical / Major / Minor / Trivial]
Priority: [P1 / P2 / P3 / P4]
Attachments: [Screenshot, video, console log, API response]
Notes: [Workaround, first seen in build, related tickets]

Bad vs good: a real-style example

Bad: “Search is broken. Please fix ASAP.”

Good: “Job search: results page shows ‘No jobs found’ when the keyword contains a trailing space.” Environment: staging, Chrome 129 on Windows 11. Steps: 1. Open the home page. 2. Type “QA engineer ” (with a trailing space) in search. 3. Press Enter. Expected: matching jobs listed, same as “QA engineer”. Actual: “No jobs found” message; the network tab shows the API called with the untrimmed keyword. Reproducibility: 5/5. Severity: Major. Attachment: screen recording plus API request and response.

The good version tells the developer the exact input, the likely cause and how to verify the fix — that is a report developers love.

Common mistakes to avoid

  • Vague titles such as “Issue in page” or “Not working”.
  • Missing build number or environment, so the developer tests the wrong version.
  • Reporting your assumption of the cause as fact — share it as a note instead.
  • Logging feature requests as bugs; raise them as improvements.
  • Never retesting: always verify the fix and run nearby regression before closing.

Bug reports and test cases go hand in hand — see our guide on how to write test cases, and learn the tracker workflow in Jira for testers.

🚀 Put your bug-reporting skills to work

QA Jobs India shares 100+ fresh QA & software testing openings every morning — manual, automation, API and remote roles.

See today’s QA jobs →

FAQs

How to write a bug report in an interview task?

Use the template above, keep titles specific, number your steps and add severity. Quality beats quantity — five clear bugs impress more than twenty vague ones.

What is the difference between a bug and a defect?

In daily practice they are used interchangeably. Formally, a defect is a flaw in the work product; a failure is what you observe when it executes.

What should I do if a bug is not reproducible?

Report it with the frequency observed, timestamps, logs and recordings, and mark it intermittent. Logs often reveal the cause.

Who decides bug priority?

Testers suggest it, but the Product Owner or project lead usually confirms priority based on business impact.

Which tools are used for bug tracking in India?

Jira is the most common, followed by Azure DevOps, Bugzilla, MantisBT and Redmine.

Conclusion

Once you know how to write a bug report that is reproducible, specific and neutral, developers start trusting your tickets — and that trust is what turns a tester into a respected team member. Save the template, practise on any website you use daily, and then put the skill to work: check today’s QA openings and apply with confidence.

SIGN UP ONCE
Once you sign up, you get all this
Sign up now
  • 100+ fresh QA jobs daily + Direct HR email IDsLive every morning at 9 AM — apply straight to HR
  • Weekly Mega Job Fair800+ QA jobs from India & around the world, every week
  • Certified QA coursesUp to 17 courses, with certificate
  • AI ATS Resume BuilderFree resume points included
  • Full LinkedQA feedEvery post, fully unblurred
  • Complete QA Material libraryInterview Q&A, cheat sheets, templates & roadmaps

Instant activation right after payment · One login for jobs, courses, resume & LinkedQA

💎 Get every QA opening, every day

Join QA Jobs India Premium for 100+ verified QA jobs daily with HR contact details.

✓ You're subscribed — job alerts arrive daily at 9 AM
Scroll to Top