Test Stratejisi¶
Bu belge, IQV Integration API kalite kanıtlarının nasıl sınıflandırıldığını tanımlar.
Kodun mevcut olması, canlı bir dağıtımın doğrulandığı anlamına gelmez.
Üç kanıt seviyesi¶
| Seviye | Ad | Anlam |
|---|---|---|
| IMPLEMENTED | Kod / betikler mevcut | Özellik depoda vardır |
| AUTOMATED TESTED | Birim / betik / statik paket | Tekrarlanabilir otomatik kontroller CI veya yerel hatlarda geçmiştir |
| LIVE E2E VALIDATED | Gerçek OS / Docker lab | Kurulum / güncelleme / yeniden başlatma / sağlık gerçek makinede veya daemon üzerinde çalıştırılmıştır |
Seviye 1 veya 2 başarısını asla Seviye 3 başarısı saymayın.
Test seviyeleri¶
Seviye 1 — Birim / bileşen¶
*_test.goiçeren paketlerdego test ./... -count=1scripts/**/tests/altındaki PowerShell / Bash birim testleri- PowerShell AST parse /
bash -n(yalnızca sözdizimi)
Bunlar izole davranışı kanıtlar. Windows Service, systemd veya Docker dağıtım başarısını kanıtlamaz.
Seviye 2 — Entegrasyon¶
İsteğe bağlı MongoDB destekli testler (örnekler):
internal/inbound/workorder/mongo_integration_test.gointernal/outbound/machineevents/mongo_integration_test.go
Varsayılan pipeline davranışı: CONDITIONAL / SKIPPED, ta ki:
text
MONGODB_INTEGRATION_TEST_URI=<üretim-olmayan URI>
INTEGRATION_ACTOR_USER_ID=<geçerli ObjectId> # test gerektiriyorsa
Bu testleri asla üretim veritabanlarına yönlendirmeyin.
Seviye 3 — Dağıtım E2E¶
Gerçek ortamlar:
| Dağıtım | Canlı E2E (tarihsel lab sayfaları ve commit notları birlikte okunur) |
|---|---|
| Windows Native Service | Tarihsel lab YES (45 PASS). Operatör beyanlı e2202ac alt kümesi ayrıca kayıtlı. |
| Ubuntu systemd | Offline kurulum / reboot / NO-OP LIVE PASS. Inbound POST BLOCKED / RETEST REQUIRED. |
| Linux Docker | Eski sayfalar: karışık / ForceRedeploy fail sonra kod düzeltmesi. Operatör beyanlı e2202ac ayrıca kayıtlı. |
| Windows Docker | Eski sayfalar: RETEST REQUIRED. Operatör beyanlı e2202ac ayrıca kayıtlı. |
Karşılaştırma: Canlı E2E Kabul.
Bakınız:
Durum sözlüğü (EN/TR tutarlı)¶
| Durum | Anlam |
|---|---|
| PASS | Çalıştırıldı ve başarılı (canlı veya otomatik, etiketlendiği gibi) |
| AUTOMATED PASS | Otomatik paket geçti |
| FAIL | Çalıştırıldı ve başarısız |
| NOT RUN | Çalıştırılmadı |
| NOT E2E VALIDATED | IMPLEMENTED (ve belki otomatik) ancak canlı dağıtım E2E yok |
| CONDITIONAL | Ortam / araç gerektirir (ör. Mongo entegrasyon URI) |
| SKIPPED | Bilinçli atlandı (eksik araç / ön koşul) |
Standart doğrulama komutları¶
text
go fmt ./...
go vet ./...
go test ./... -count=1
go build ./cmd/iqv-integration-api
Betik / doküman araçları (mevcut olduğunda):
```text
PowerShell AST parse: scripts/windows/*/.ps1¶
bash -n: scripts/linux/*/.sh¶
powershell -File scripts/windows/common/tests/.Tests.ps1 bash scripts/linux/common/tests/.sh mkdocs build -f mkdocs.en.yml --strict mkdocs build -f mkdocs.tr.yml --strict ```
Bu dokümantasyon döngüsünde kullanılan Windows geliştirme lab ortamında bilinen atlamalar:
| Kontrol | Durum | Neden |
|---|---|---|
go test -race ./... |
SKIPPED | cgo gerektirir; o ortamda yok |
| PSScriptAnalyzer | SKIPPED | Araç kurulu değil |
| ShellCheck | SKIPPED | Araç kurulu değil |
| Docker daemon E2E | NOT RUN | Canlı compose/build E2E için Docker daemon yok |