Test mühitləri və staging
1) Məqsəd və məsuliyyət sahəsi
Test mühitləri real oyunçulara və pula təsir etmədən sürətli rəy və istehsala yaxın şərtlər verərək buraxılış riskini azaldır. iGaming üçün bu, ödənişlər (PSP), KYC/AML, məsuliyyətli oyun (RG) və mövsümi zirvələrə görə kritikdir.
2) Ətraf mühitin taksonomiyası
Dev (yerli/qum qutuları): tərtibatçıların sürətli iterasiyaları, minimal asılılıqlar, fitness.
CI/Test (inteqrasiya): montaj, vahid/inteqrasiya, müqavilə testləri, mocha e2e.
Staging (pre-prod): qida ilə maksimum paritet (versiyalar, konfiqlər, topologiya), «buraxılış məşqi».
Perf/Load: funksional yoxlamalara mane olmamaq üçün yük/stress testləri üçün təcrid olunmuş mühit.
Sec/Compliance Sandboxes: təhlükəsizlik yoxlamaları, RG/PII siyasəti, SoD.
DR/Failover Lab: qəza və regionlararası feylover ssenariləri.
Hər bir mühitin öz ad sahələri var: 'tenant/region/environment'.
3) Qida ilə paritet (staging-first)
Konfiqurasiya: GitOps, eyni sxemlər və validatorlar; fərqlər - yalnız mənalarda (açar/limit/end).
Topologiya: xidmətlərin eyni versiyaları, şəbəkə siyasətləri, balanslaşdırıcılar, cache/DB növləri.
Data: sintetik və ya yığılmış; heç bir «xam» PII.
Telemetriya: eyni daşbordlar/alertlər (yalnız eşik səviyyələri və uçuş limitləri fərqlidir).
4) Məlumatlar: strategiya və gigiyena
Sintetik generatorlar: depozitlər/dərəcələr/KUS, psevdo-BİN, saxta sənədlər üçün real paylama.
Surətlərin qablaşdırılması: identifikatorların birtərəfli heşləşdirilməsi, həssas sahələrin ŞIFR maskalanması.
Siding: determinated ID ilə «script dəsti» (qeydiyyat → depozit → bahis → settl → çıxış).
TTL və təmizləmə siyasəti: köhnə məlumatların avto-purging, həcm limitləri.
Replay-trafik (shadow): qeydlər/yan təsirləri olmadan oxumaq.
5) Virtuallaşdırma xidməti və xarici provayderlər
PSP/KYC/CDN/WAF kontrakt mocha və variativ cavablarla (uğur, soft/hard decline, time-auts) emulasiya olunur.
Müqavilə testləri (consumer-driven): interfeyslərin və nümunələrin fiksasiyası.
Test doubles bayraqla keçir: 'real' sandbox 'virtualized'.
6) İzolyasiya və çoxhədlilik
Namespace per tenant/region k8s/ -saxlama.
CPU/IO/Net kvotaları və limitləri, bir test bütün mühiti aşağı salmaz.
PR/feature filialında efemer stendlər: dəqiqələrdə qalxır, saatlarla/günlərlə yaşayır, sonra təkrar emal olunur.
7) CI/CD konveyer və geytalar
Поток: `build → unit → contract → integration → e2e (virtualized) → security scan → staging → canary → prod`.
Staging keçid geytlər:- yaşıl unit/contract, sxemlər və konfiqurasiya linterləri;
- risk-sinif dəyişikliklər (policy-as-code), pəncərələr freeze;
- SLO-geyt staging (qırmızı SLI yoxdur).
- uğurlu «reliz məşqi» (miqrasiya, konfiqlər, fitzeflaglar, alertlər);
- post-monitorinq çek siyahısı;
- yüksək risk (PSP-routing, RG-limitləri, ixrac PII) 4-eyes imzalar.
8) Buraxılış məşqləri (staging drills)
DD/sxemlərin miqrasiyası: dry-run + dönüşümlülük (aşağı miqrasiyası), vaxt qiymətləndirilməsi.
-Release: Kanarya addımlar, SLI auto-rollback.
Ficheflags: 5-25% auditoriya daxil, guardrails yoxlama.
Status-səhifə/comm-şablonları: mesajların işlənməsi (xaricə göndərilmədən layihələr).
Hadisə-bot: bot komandaları təlim həyəcan kimi runbook hərəkətləri çalıştırmaq.
9) Qeyri-funksional yoxlamalar
Yük/stress/endurance: real zirvələrin profilləri (matçlar, turnirlər), p95/p99 hədəfləri, növbələrin həddindən artıq istiləşməsindən qorunma.
Nasazlıq müqaviməti (chaos): şəbəkə nasazlıqları, replikaların düşməsi, provayderlərin time-autları, qismən feylover.
Təhlükəsizlik: DAST/SAST/IAST, gizli tarama, SoD yoxlama, avtorizasiya/audit reqressiyaları.
Complayance: KYC/AML/RG Script, tənzimləyicilərə hesabatların ixracı, geo-sərhəd məlumat.
Maliyyə: kəsirli/kənar hallarda ledcerin düzgünlüyü, ödənişlərin/settllərin idempotentliyi.
10) Ətraf mühitin müşahidə edilməsi
Eyni SLI/SLO kartları və alertlər (səviyyələr daha yumşaqdır).
Sintetika istifadəçi yollarını təkrarlayır: giriş, depozit, bahis, nəticə.
Exemplars/trace RCA üçün mövcuddur; PII olmadan log.
Drift Detector: Git runtime (versiyalar, konfiqlər, fitness).
Cost-metrik: $/saat mühit, $/test, «ağır» dashboard.
11) Accessories, SoD və Təhlükəsizlik
RBAC/ABAC: rollar/tenant/region; Prod sirləri mövcud deyil.
JIT-idarəetmə hüquqları, məcburi audit.
Məlumat siyasəti: PII qadağası, obfusion, geo-yaşayış.
Şəbəkə izolyasiyası: staging xarici prod sistemlərinə yaza bilməz.
12) Performans və dəyər (FinOps)
Efemer stendlər → auto-utilization; gecə şedulerləri idle-klasteri söndürür.
Əsas qatların paylaşılması (Observability, CI-cache), lakin test yüklərinin izolyasiyası.
«Bahalı» testlərin kataloqu; paralellik limitləri; QoS sinfi üzrə prioritetləşdirmə.
13) İnteqrasiya (əməliyyat)
Incident-bot: '/staging promote 'rollback', '/drill start ', vaxt məşqləri.
Release-gates: qırmızı SLO staging prod-reliz blok.
Feature-flags: ümumi bayraq həll xidməti, trafik seqmenti.
Metrics API: eyni end-point və metrik kataloqlar, cavablarda «mühit nişanı».
14) Artefaktların nümunələri
14. 1 PR efemer mühit manifesti
yaml apiVersion: env. platform/v1 kind: EphemeralEnv metadata:
pr: 4217 tenant: brandA region: EU spec:
services: [api, payments, kyc, games]
dataSeed: "scenario:deposit-bet-withdraw"
virtualProviders: [psp, kyc]
ttl: "72h"
resources:
qos: B limits: { cpu: "8", memory: "16Gi" }
14. 2 Provayderlərin kataloqu (virtuallaşdırma)
yaml apiVersion: test. platform/v1 kind: ProviderMock metadata:
id: "psp. sandbox. v2"
spec:
scenarios:
- name: success rate: 0. 85
- name: soft_decline rate: 0. 1
- name: timeout rate: 0. 05 latency:
p95: "600ms"
p99: "1. 5s"
14. 3 «Buraxılış repetisiyası» yoxlama siyahısı (sıxma)
DB miqrasiyası: vaxt, geri dönüş;
konfiqlər/fitzeflaglar: diff, kanareya, SLO geytaları;
alert/dashboard: bağlı, heç bir flapping;
status-layihələr: hazır;
əks plan: 'T + 5m', 'T + 20m' metrik.
15) RACI və proseslər
Env Owner (SRE/Platform): paritet, access, qiymət, dashboard.
Domain Owners: test ssenariləri, oturmaq, müqavilələr, KPI.
QA/SEC/Compliance: yoxlamalar, hesabatlar, RG-nəzarət.
Release Manager: geytlər, təqvim, freeze/maintenance.
On-call/IC: P1 ssenarilərinin məşqlərində iştirak edirlər.
16) KPI/KRI mühit
Lead Time to Staging: commit → staging, mediana.
Change Failure Rate (staging): prod qədər geri qaytarma payı.
Parity Score: versiya/konfiqurasiya/topologiya uyğunluğu (hədəf ≥ 95%).
Test Coverage e2e kritik yollarla: giriş/depozit/bahis/çıxış.
Cost per Test / per Env Hour.
Drift Incidents: uyğunsuzluq halları Git runtime.
Security/Compliance Defects: Prod əvvəl tapıldı.
17) Tətbiqi yol xəritəsi (6-10 həftə)
Ned. 1-2: ətraf mühit inventarizasiyası, GitOps kataloqu, konfiqurasiya sxemləri, baza məlumat sidləri, provayderlərin müqavilə testləri.
Ned. 3-4: staging-paritet (versiyalar/topologiya), PR efemer stendləri, PSP/KYC virtualizasiya xidməti, SLO geytaları.
Ned. 5-6: buraxılış məşqləri (yoxlama vərəqləri, bot komandaları), yükləmə profilləri, chaos dəstləri, ətraf mühitin daşbordları.
Ned. 7-8: məlumat siyasəti (obfusion/TTL), SoD/RBAC, FinOps-şedulinq, dəyər hesabatları.
Ned. 9-10: DR/Feylover-lab, komplayens skriptləri, WORM auditi, komanda təlimi.
18) Antipattern
«Staging ≠ prod»: digər versiyalar/konfiqalar/şəbəkə qaydaları.
Test → tənzimləyici risklər üçün prod-PII kopyalama.
Xarici provayderlərin virtuallaşdırılması yoxdur → qeyri-sabit/bahalı testlər.
SLO geytlərinin/məşqlərin olmaması → prodda sürprizlər.
TTL olmadan «əbədi» test məlumatları → zibil və yanlış effektlər.
Bir stenddə birgə yük və funksional yoxlamalar.
Gecə/həftə sonu sıfır utilizasiya → büdcə yandırılması.
Yekun
Test mühitləri və staging keyfiyyətli istehsal infrastrukturudur: qida pariteti, təmiz məlumatlar və virtual provayderlər, ciddi CI/CD geytləri, buraxılış məşqləri, müşahidə və FinOps. Bu çərçivə CFR və MTTR-ni azaldır, buraxılışların proqnozlaşdırılmasını artırır və iGaming platformasının gəlirini və uyğunluğunu qoruyur.