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?
| Metrik | Açıklama | Copilot ile hedef |
|---|---|---|
| Line coverage | Kaç satır çalıştı | %80+ |
| Branch coverage | if/else dalları kapsandı mı | %75+ |
| Function coverage | Kaç fonksiyon test edildi | %90+ |
| Statement coverage | İfade bazlı kapsam | %80+ |
Copilot ile coverage boşluklarını kapatma
- Coverage raporu üret (
jest --coverage,pytest --cov) - Kapsanmayan satırları veya branch’leri bul
- 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:
- Code review zorunluluğu: Branch protection + required reviewers
- Static analysis: ESLint/Pylint CI’da çalışmalı
- Security scanning: GitHub Advanced Security veya Dependabot
- 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.