Modül 6 · Domain 6 — Testing with Copilot (%10-15) · ⏱ 13 dakika

Test coverage ve quality gates

Test coverage and quality gates

Bu derste neler öğreneceksin

  • Coverage metrikleri ve Copilot ile nasıl artırılabileceğini anlamak
  • CI/CD pipeline'ında AI üretimi kod için quality gate stratejisini kavramak
  • Coverage ≠ kalite ayrımını açıklamak
  • GitHub Actions ile Copilot test akışını entegre etmeyi öğrenmek

Coverage metrikleri — ne ölçer?

MetrikAçıklamaCopilot ile hedef
Line coverageKaç satır çalıştı%80+
Branch coverageif/else dalları kapsandı mı%75+
Function coverageKaç fonksiyon test edildi%90+
Statement coverageİfade bazlı kapsam%80+

Copilot ile coverage boşluklarını kapatma

  1. Coverage raporu üret (jest --coverage, pytest --cov)
  2. Kapsanmayan satırları veya branch’leri bul
  3. Copilot Chat’e ver:
"#file:coverage-report.txt 
The lines 45-60 in PaymentService.ts are not covered.
Write tests specifically targeting the error handling branches
in those lines."

GitHub Actions’da quality gate

# .github/workflows/test.yml
name: Test & Coverage
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
      - run: npm ci
      - run: npm test -- --coverage --coverageThreshold='{"global":{"lines":80}}'

Bu konfigürasyon, line coverage %80’in altına düşerse CI’ı kırar — AI üretimi kod dahil tüm kod bu eşiği geçmek zorundadır.

AI üretimi kod için özel quality gate yaklaşımı

AI üretimi kod normal kod kadar ya da daha fazla gözden geçirilmeli:

  1. Code review zorunluluğu: Branch protection + required reviewers
  2. Static analysis: ESLint/Pylint CI’da çalışmalı
  3. Security scanning: GitHub Advanced Security veya Dependabot
  4. Test coverage threshold: Otomatik eşik kontrolü

Sınavda beklenen senaryo

“Geliştirici Copilot ile tüm yeni feature’ı yazdı. Kod review sürecini nasıl değiştirmeli?”

Cevap: Değiştirmemeli — AI üretimi kod aynı review sürecinden geçer. AI üretimi olması inceleme gereksinimini azaltmaz, aksine artırır.

Sırada ne var?

Bir sonraki derste AI üretimi kod review pattern’i — Copilot’un yazdığı kodu incelerken nelere dikkat edilmeli.