Laadunvarmistus ja testaus AI Commerce -alustassa
Kuvaus AI Commerce -alustan laadunvarmistuksen ja monivaiheisen testauksen periaatteista, tavoitteista ja käytännöistä sopimusteknisessä muodossa.
Sisällysluettelo
Laadunvarmistuksen tavoite ja rajaus
AI Commerce -alustan laadunvarmistus muodostuu monivaiheisesta testauksesta, staattisesta analyysistä, julkaisuporteista ja tuotannon virheraportoinnista. Tavoitteena on varmistaa järjestelmän korkea laatu, täyttää tekniset ja liiketoiminnalliset laatustandardit sekä minimoida tuotantoympäristöön päätyvät virheet. Testit eivät yksin takaa virheettömyyttä, joten laadunvarmistukseen kuuluvat myös regressiosuoja ja tuotannossa havaittujen poikkeamien käsittely.
Laadunvarmistus kohdistuu ensisijaisesti alustan omiin toimintoihin ja niiden välisiin sopimuksiin. Testauksen kulloinenkin kattavuus, hyväksymiskriteerit ja tuotantoon siirron ehdot määräytyvät toteutuksen sekä sovitun toimituksen mukaan.
Kolmansien osapuolten rajapintojen erityiskohtelu
Kustomoitujen kolmansien osapuolten rajapintojen oma logiikka ei kuulu AI Commerce -alustan yleisen toimivuustakuun piiriin. Ulkoisiin rajapintoihin sisältyy tapauskohtaisia muuttujia, joiden ennakkokartoitus voi vaatia laajaa työtä ja aiheuttaa kohtuuttomia kustannuksia. Siksi kolmannen osapuolen koko järjestelmän tai oman liiketoimintalogiikan virheettömyyttä ei voida taata alustan laadunvarmistuksella.
Ulkoisten integraatioiden testaus keskittyy sovittuihin prosesseihin, integraatiopisteisiin ja regressiosuojaan. Tarkoitus on havaita, jos sovittu ja lukittu rajapintakäytäntö rikkoutuu myöhemmässä päivityksessä. Tapauskohtaisen integraation testauslaajuus, testidata, vastuut ja hyväksyntä pitää sopia erikseen.
Backendin monivaiheinen testaus
AI Commerce -backendin testaus sisältää smoke-testit, yksikkötestit ja integraatiotestit. Smoke-testit tarkistavat kriittisten perustoimintojen toimintakunnon ennen syvällisempiä testausvaiheita. Yksikkötestit tarkistavat yksittäisiä funktioita ja koodiyksiköitä PHPUnitilla. Integraatiotestit varmistavat järjestelmän osien ja rajapintojen yhteentoimivuutta sekä ehkäisevät niiden välisistä sopimusvirheistä syntyviä ongelmia.
Suorituskykytestauksen sopimusluontoiseksi tavoitteeksi on ilmoitettu palvelimen alle 10 millisekunnin vastausaika myös korkean kuorman tilanteissa. Tätä lukua ei pidä tulkita kaikkia sivuja, rajapintoja, verkkoviiveitä tai kolmansien osapuolten palveluja koskevaksi yleiseksi takuuksi ilman erillistä mittausmenetelmää, testiympäristöä ja hyväksyttyä palvelutasomäärittelyä.
Frontendin tarkistukset ja regressiotestaus
AI Commerce -frontend tarkistetaan nykyisessä toteutuksessa SvelteKitin ja TypeScriptin työkaluilla. svelte-check tarkistaa Svelte- ja TypeScript-rakenteita, ESLint valvoo lint-sääntöjä, Vitest ajaa yksikkötestejä ja Playwright tukee käyttöliittymän päästä päähän -testausta. Lisäksi projektissa on omia laatuportteja, jotka estävät hyväksymättömiä rakenne-, sopimus- ja käyttöliittymämalleja.
Vanha ilmaus Svelte-Linter ei kuvaa nykyistä yksittäistä työkalua. Julkaisun estävät virheet määräytyvät käytössä olevien tarkistuskomentojen ja CI-/julkaisuputken mukaan; esimerkiksi käyttämätön CSS, puuttuvat importit tai ylimääräiset ominaisuudet voivat näkyä eri tarkistimissa. Sisäisiä ja ulkoisia kehittäjiä koskevat samat sovitut laatuportit, kun heidän muutoksensa viedään samaan toimitusputkeen.
Tiukka tyypitys ja staattinen analyysi
AI Commerce -backendissä käytetään PHP:n tiukkaa tyypitystä, PHPUnit-testejä ja PHPStan-staattista analyysiä. Tyyppivihjeet, tietorakenteet ja sopimusrajat tarkistetaan ennen tuotantoon siirtoa. Fail-fast-periaate tarkoittaa, ettei odottamatonta tyyppiä tai muuta ohjelmointivirhettä peitetä oletusarvolla tai hiljaisella ohituksella, vaan juurisyy korjataan.
Staattisten analyysien ja muiden laatuporttien hyväksyntätavoite on nolla virhettä. Yksittäinen notice-, tyyppi- tai analyysivirhe estää tuotantoon siirron silloin, kun se rikkoo toimitusputken porttia. Tämä tekninen käytäntö ei korvaa toiminnallista testausta, integraatiotestausta tai liiketoiminnan hyväksyntää.
Virheraportointi ja CloudWatch-lokitus
AI Commerce -adminin JavaScript- ja SvelteKit-virheitä kerätään selaimesta backendin POST /api/frontend-errors -päätepisteeseen. Backend kirjoittaa puhdistetun virhetietueen erilliseen frontend-virhelokiin, ja tuotantoympäristön lokimääritys toimittaa tämän lokivirran CloudWatchiin. Backendin omat sovellusvirheet kirjoitetaan vastaavasti palvelimen lokivirtaan CloudWatch-agentin kerättäväksi.
CloudWatchiin toimitettavat frontend- ja backend-lokit mahdollistavat sellaisten ongelmien havaitsemisen ja käsittelyn, joita testaus ei paljastanut. Sopimusluontoinen väite lokien aktiivisesta seurannasta ja nopeasta reagoinnista edellyttää kuitenkin sovittuja hälytys-, päivystys- ja palvelutasokäytäntöjä.
Laadunvarmistuksen kokonaisuus
AI Commerce -alustan laadunvarmistus yhdistää smoke-testit, PHPUnit-yksikkötestit, integraatiotestit, Svelte- ja TypeScript-tarkistukset, ESLintin, Vitestin, Playwrightin, PHPStanin, omat laatuportit ja tuotannon lokituksen. Menetelmien tarkoitus on tehdä virheistä näkyviä ennen julkaisua ja lyhentää reagointiaikaa tuotannossa.
Laadukas ja luotettava verkkokauppa-alusta ei synny yhdestä testistä tai työkalusta. Kattavuus, suorituskyky, rajapintavastuut, seuranta ja reagointilupaukset pitää sitoa mitattaviin hyväksymiskriteereihin ja voimassa olevaan sopimukseen.