Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Root Cause Analysis - Building a Bug Free System

Avatar for Gurzu Gurzu
August 28, 2025

Root Cause Analysis - Building a Bug Free System

In this episode of knowledge ketchup, QA Engineer Aashish talked about Root Cause Analysis (RCA). RCA helps uncover the underlying reasons for software issues, ensuring teams fix problems at their source rather than just addressing symptoms.

Avatar for Gurzu

Gurzu

August 28, 2025
Tweet

More Decks by Gurzu

Other Decks in Programming

Transcript

  1. QA Engineer Root Cause Analysis: Building a bug-free system How

    to find the real reason behind software issues Aashish Rawal
  2. What is RCA? 1 A process to find out why

    a bug happened Not just fixing the bug, but fixing the cause behind it 2 Analogy: Mopping water (bug) vs. fixing the leaking pipe (root cause) 3
  3. Why Do RCA? Purpose of RCA: 1 Prevent recurring bugs

    3 Save time and cost 2 Improve code quality 4 Improve team process and communication
  4. 5-Step RCA Process 🛠️ Simple RCA Process: 1 Describe the

    problem 2 Collect information (logs, screenshots, test cases) Ask “Why?” until you hit the root cause 3 Fix the root cause (not just the bug) 4 Take preventive action for the future 5
  5. RCA Example (Simple Bug) Bug: Login button doesn’t work on

    mobile. RCA Steps: 1 Why? → Click handler not firing ✅ Root Cause: Test plan missed mobile scope ✅ Fix: Add mobile testing + fix CSS Why? → CSS layer blocking it 2 Why? → Mobile not tested 3 Why? → Mobile testing not in test plan 4
  6. RCA Techniques 🧰 Common RCA Tools: ✅ 5 Whys –

    keep asking “Why?” until you find the root ✅ Fishbone Diagram – categories like process, people, code, etc. ✅ Bug Pattern Analysis – repeat offenders?
  7. RCA Template (Reusable Format) 📝 Problem: Booking failed on payment

    step ✍️ Impact: User can't complete booking ✍️ Root Cause: Payment gateway response not handled ✅ Fix: Add error handling logic ✅ Prevention: Add tests + code review checklist
  8. 🚫 RCA is NOT: A blame game ✅ RCA IS:

    Learning and improving Pointing fingers Fixing systems, not people Team-level maturity
  9. Deep Dive: 5 Whys Technique 🧠 Ask 'Why?' multiple times

    until you reach the root cause. 🎯 Helps identify process gaps, not just surface issues. Example: 1 Why did the booking fail? → Payment timeout. 2 Why timeout? → Server took too long to respond. ✅ Root Cause: Deployment config not reviewed. Why slow server? → High load and no scaling. 3 Why no scaling? → Auto-scaling not enabled. 4 Why not enabled? → Missed in deployment config. 5
  10. Deep Dive: Fishbone Diagram 🦴 Used to visually identify possible

    causes of a problem. ✅ Categories: 1 People (lack of training, communication gaps) 3 Tools (outdated software, poor integration) 5 Code (logic errors, missed edge cases) 2 4 Process (unclear steps, missing validation) Environment (network issues, hardware failures)
  11. RCA in Agile 🔄 RCA is part of continuous improvement.

    💬 During retrospectives: 1 Discuss recent bugs/issues. Perform lightweight RCA. 2 Document action items. 3
  12. Additional RCA Examples 🛫 Example 1: Flight class booking failure

    1 Root Cause 2 Backend missed business rule. Fix 📧 Example 2: Email not sent after booking Add validation + test. 1 Root Cause SMTP config changed during deploy. 2 Fix Add monitoring and pre-deploy checklist.
  13. Benefits of Doing RCA 🌟 Improves team learning and accountability.

    💡 Reduces repeated issues. 📈 Increases software reliability. 🔒 Builds trust with stakeholders and clients. ⚙️ Enhances processes and documentation.
  14. Summary of Key Points 🔍 RCA = Identify the real

    cause behind bugs 🧰 Use tools like 5 Whys and Fishbone Diagram 🎯 Focus on learning, not blaming 🚀 Improve processes to prevent future issues ✅ Make RCA a habit in QA/Dev cycle
  15. Final Takeaway 🔑 Key Message: “Fixing a bug helps today.

    Finding and fixing the root cause helps forever.”