Ana içeriğe geç

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.go içeren paketlerde go test ./... -count=1
  • scripts/**/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.go
  • internal/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

İlgili operasyon dokümanları