Break the Cycle: 12 Bad Habits QA Engineers Must Quit (and Smarter Ways to Fix Them)

Break the Cycle: 12 Bad Habits QA Engineers Must Quit (and Smarter Ways to Fix Them)

Software never fails to surprise us. It’s meant to work, yet sometimes it doesn’t. And when it doesn’t, fingers point at QA. But here’s the truth: quality isn’t just about finding bugs it’s about habits, mindset, and discipline.

Over the years (and across plenty of research papers and real-world lessons), I’ve seen a handful of bad QA habits repeat like a broken record. The good news? They can be fixed. Let’s dig into the habits that silently sabotage QA engineers and more importantly, how to kick them for good.

1. Living in the Happy Path Bubble

Too many testers only check if things work when everything is perfect.

Reality check: users rarely behave “perfectly.”A research study showed exploratory testing can be just as effective as scripted test cases, but with less effort.

  • Example: A team once missed a currency rounding bug in production because they only tested standard values. The error only surfaced when someone paid with three-decimal currencies.
  • Fix: Add short exploratory test sessions every sprint. Write a charter like “test all the weird input types.” This habit reveals the bugs that slip through happy paths.

2. The Vague Bug Syndrome

“Login not working” is not a bug report, it’s a riddle.

Research shows detailed context reduces defect triage time drastically.

  • Example: A mobile team cut their defect triage time in half simply by enforcing a standard bug template.
  • Fix: Always include Steps, Expected vs. Actual, Logs, Screenshots, Impact. Bugs should read like a story anyone can follow.

3. Playing the Blame Game

It’s easy to treat QA vs. Dev as a battle. But blame kills collaboration.

Google’s Project Aristotle found psychological safety is the #1 factor in high-performing teams.

  • Example: One company ran “bug bash” events where QA and Dev paired up. Not only did trust improve, but defect reopen rates dropped.
  • Fix: Pair-test with developers. Run blameless post-mortems. Focus on fixing, not finger-pointing.

4. Testing Without Risk Awareness

Not all bugs are equal. Missing a typo in a tooltip ≠ missing a payment failure.

ISO standards for risk-based testing stress prioritization.

  • Example: An insurance company used risk heatmaps to decide which APIs needed deep testing. Production bugs dropped where it mattered most.
  • Fix: Score features by impact × likelihood each sprint. Invest more testing where failure hurts most.

5. Worshipping the End-to-End Test

UI automation is powerful, but too much makes CI pipelines slow and flaky.

The “Test Pyramid” model warns against bloated end-to-end testing.

  • Example: A team cut build time from 90 minutes to 25 by moving validations to API tests.
  • Fix: Keep a lean UI suite. Push as much as possible down to unit and API tests.

6. Tolerating Flaky Tests

A flaky test is like a car alarm that goes off randomly, you stop trusting it.

Google’s research shows flaky tests waste huge engineering hours.

  • Example: One team created a “Flake Jail.” Any flaky test had to be fixed or deleted within 5 days. Result? CI got stable again.
  • Fix: Make tests hermetic (no shared DB, no random dependencies). Quarantine flaky tests, then fix or kill them.

7. Forgetting Security and Static Checks

Skipping static analysis = letting preventable bugs reach production.

Microsoft’s studies show static tools catch entire classes of bugs at scale.

  • Example: A fintech startup found a serious SQL injection early, thanks to static scanning in CI.
  • Fix: Gate pull requests with SAST (Static Application Security Testing) and dependency scanning.

8. Automating the Wrong Things

Automation isn’t a badge of honor; it’s about value.

Many teams burn months scripting brittle UI tests that add no confidence.

  • Example: A microservices team dumped brittle E2Es for contract testing. Release speed doubled.
  • Fix: Automate repetitive, high-value, stable scenarios first. Leave edge cases and visual quirks for humans.

9. Keeping Knowledge Locked Away

Tribal knowledge = future chaos.

DORA 2024 research proved strong documentation correlates with higher software quality.

  • Example: One platform team created simple “playbooks.” Suddenly, on-call escalations dropped because anyone could solve common issues.
  • Fix: Add lightweight How to Test notes and checklists in the repo.

10. Waiting Until the End

Treating QA as the last gate leads to expensive bugs.

Studies show “shift-left” QA getting involved early reduces defects dramatically.

  • Example: A “Three Amigos” workshop (BA, Dev, QA) before sprint start uncovered hidden assumptions before coding began.
  • Fix: QA should be in refinement, design reviews, and story acceptance discussions.

11. Obsessing Over Coverage Numbers

95% coverage looks great, until you realize the tests don’t actually assert anything.

Mutation testing research shows coverage alone doesn’t guarantee test quality.

  • Example: A team with 90% coverage still missed a rounding bug because the tests weren’t meaningful.
  • Fix: Try mutation testing in one module. It forces you to write stronger, assertion-rich tests.

12. Treating Bug Data as Dead Data

Most teams fix bugs but never analyze them.

IBM’s Orthogonal Defect Classification (ODC) method shows analyzing defect patterns points to process gaps.

  • Example: One team realized most defects were triggered by configuration. They added config validators bugs dropped instantly.
  • Fix: Add 2 extra fields in your bug tracker: Defect Type + Trigger. Review trends quarterly.


A Smarter Way Forward: 90-Day Fix Plan

Day 0–30:

  • Add a bug template, static analysis, and flake quarantine.
  • Measure: defect categories, CI flakiness, test mix.

Day 31–60:

  • Migrate fragile UI tests to API/unit tests.
  • Launch exploratory test charters.
  • Risk-score features in backlog.

Day 61–90:

  • Pilot mutation testing.
  • Introduce contract testing.
  • Add ODC-based RCA in retros.


Final Word

Bad habits don’t disappear overnight. But if QA engineers shift from being “bug finders” to quality enablers, collaborating early, automating wisely, learning continuously, the industry won’t just build software that works. It’ll build software people trust.

Quality is not an accident, it’s a habit. So let’s make it the right one.

Thomas Howard

Platform Engineering • Reliability • AWS • Terraform • CI/CD • Observability • DevOps • Kubernetes

2mo

This is a really comprehensive breakdown. I’ve seen every one of these habits play out in real teams, and the fixes you outline (especially flake quarantine, risk-based testing, and exploratory charters) make a massive difference. The 90-day plan is great. Turning QA from “bug finders” into real quality enablers is exactly where the industry needs to go.

Absolutely love this focus. Quality isn’t just a gate at the end—it’s a mindset baked into every step of the software lifecycle.

To view or add a comment, sign in

More articles by Kumudu Gunarathne

Others also viewed

Explore content categories