DEV Community

Mashhood Ali
Mashhood Ali

Posted on

Bug Reports Kept Arriving as Messy Chats, So I Built a Tracker That Fits in One Page

When I started doing QA testing, I noticed something fast. Bugs did not arrive as bug reports. They arrived as chat messages. "The login is broken." No severity. No steps to reproduce. No expected result, no actual result. Nothing a developer could act on, and nothing I could hand to a client as proof of the work.

I wanted a proper tracker, but the real ones all wanted accounts, servers, and subscriptions. I was testing small things. I needed something I could open and use in ten seconds.

So I built QA Bug Tracker. A complete bug-tracking tool for manual QA work. Report defects with severity and steps to reproduce, triage by filter and search, track the fix rate, and export the report as JSON or CSV. No server, no install, no framework. Just open the page.

What it does

A bug has the fields a real report needs. Severity, module, steps to reproduce, expected result versus actual result. The lifecycle is simple: report, open, fixed, reopen, plus delete.

Triage is built in. Live search, a severity filter, and a status filter narrow the list as you type. The stats update as bugs change: total bugs, open count, critical-open count, and fix rate percentage.

The export is the part I cared about most. One click gives you a JSON or CSV report, the format a QA tester actually hands to a developer or a client. That was the whole point. A chat message is not a deliverable. A report is.

Everything persists in localStorage, so bugs survive a refresh. On first run, three realistic sample bugs are seeded so the workflow is visible immediately.

How to run it

Just open index.html in a browser. No server, no install, no build step. It works offline.

The severity guide

The tracker uses four levels, and I wrote the guide into it because new testers always ask what counts as what.

Critical blocks core use, like a login button that does nothing. Major means a feature is broken but a workaround exists, like a discount code being ignored. Minor is visual or non-blocking, like a footer overlapping content. Trivial is cosmetic polish, like a typo in a label.

Getting severity right matters more than people think. A report with five "critical" bugs, where four are typos, teaches the developer to ignore you.

What I would add next

Screenshot attachments on bug reports, assignee and due-date fields, and importing a previously exported JSON report back into the tracker. For now it does the core job, and it does it without asking you to sign up for anything.

Repo: https://github.com/MASHHOOD2019/qa-bug-tracker

Top comments (0)