# Bug Hunt: From Stack Trace to Fix

> Source: https://sukruyusufkaya.com/en/learn/claude-ustaligi/bug-avi
> Updated: 2026-05-11T13:48:32.792Z
> Category: Claude Ustalığı
> Module: 4. Coding with Claude
**TLDR:** Workflow for systematically finding a bug with Claude: minimum repro, hypothesis, isolation, fix, regression test.

# 5 Adımlı Bug Avı

1. **Minimum repro:** Hatayı tetikleyen en küçük örnek.
2. **Hipotezler:** Claude'a 3-5 olası sebep çıkarttır.
3. **İzolasyon:** Hangi hipotez doğru? Test yaz.
4. **Fix:** Düzeltme + test (red → yeşil).
5. **Regresyon testi:** Hatayı koruyacak test eve gir.

```text
<role>Sen kıdemli bir Python debugger'sın.</role>

<minrepro>
```python
{{minimum_repro}}
```
</minrepro>

<stack_trace>
{{traceback}}
</stack_trace>

<environment>
Python 3.12, pandas 2.2.0, numpy 1.26
</environment>

<task>
1. Olası 3-5 sebebi listele.
2. Her sebep için bir test üret (failing).
3. En olasıyı işaretle ve neden onu seçtiğini açıkla.
4. Fix öner.
5. Regresyon testi yaz.
</task>
```

```python
# Klasik off-by-one örneği — Claude'la nasıl avlanır?
def slice_last_n(seq, n):
    # bug: list[-0:] tüm liste döner!
    return seq[-n:]

print(slice_last_n([1,2,3,4,5], 2))  # beklenen [4,5] → ✓
print(slice_last_n([1,2,3,4,5], 0))  # beklenen [] → bug, [1..5] dönüyor

```

**Önce:**
```python
def slice_last_n(seq, n):
    return seq[-n:]
```

**Sonra:**
```python
def slice_last_n(seq, n):
    if n <= 0:
        return []
    return seq[-n:]
```

### Hipotez sayısını üç tutman lazım

Claude'a "olası sebepleri listele" dediğinde 3-5 ile sınırla. Daha fazlası dağıtır; daha azı edge case kaçırır.

### Failing test = altın standart

Bug'ı doğrulamak için **failing test yaz**. Sonra fix yap, test geçsin. Bu yaklaşım hem hatayı kanıtlar hem regresyonu engeller.

### Production logları nasıl yardım eder?

Stack trace dışında **çevreleyen log satırları** ve **request id'ler** ile beraber Claude'a ver. Çoğu zaman hata sebebine 1 mesajda ulaşırsın.

**Boşluk doldurma egzersizi (text):**
```text
Bug avının ilk adımı _____ repro üretmektir. Hipotez sayısını _____ ile _____ arasında tut. Hatayı koruyacak test _____ testidir.
```

> ✋ Kontrol noktası: `q-403-mc1`