Kasu:
- Võimalus mõista funktsionaalseid, regressiooni-, servajuhtumite ja kokkupõrketestide kihte ning koostada tehisintellektiga teststsenaariume ja servajuhtumite loendeid
- Võimalus silumist kiirendada, kirjutades tehisintellektiga automaatse testkoodi ning eraldades logi- ja krahhianalüüsis mustreid
- Mõistes, et tehisintellekti veadiagnoos ei ole tõendusmaterjal, vaid hüpotees, tuleb põhjust tõestada logide ja reprodutseerimisega ning veaaruande reprodutseeritavuse tähtsus.
Kui mäng välja antakse, mängivad mängijad seda viisil, mida arendaja ette ei kujutanud: takerduvad seintesse, kasutavad inventari ära, jõuavad võimatutesse kohtadesse, põhjustavad kokkujooksmisi. Kvaliteedi tagamine (QA — quality assurance); See on mängu süstemaatilise testimise protsess enne väljalaskmist ning vigade (vead), krahhide, ebastabiilsuse ja halbade kogemuste leidmine ja parandamine. See on üks töömahukamaid, kuid kriitilisemaid lülisid mängude tootmises. Tehisintellekt kiirendab kvaliteedi tagamist paljudes punktides: testjuhtumite genereerimine, veaaruannete analüüs, logide ülevaatus, automaatne testkoodi kirjutamine, silumine ja tootmisetappide täpsustamine. Kuid tehisintellekt ei asenda inimtestija intuitsiooni ja mängutunnetuse hindamist.
Selles üksuses saate teada, kuidas kasutada tehisintellekti kvaliteedi tagamisel ja silumisel; Õpid teststsenaariumide kavandamist, logianalüüsi, automaatse testi kirjutamise ja veateate distsipliini.
QA kihid ja tehisintellekti koht
QA on mitmekihiline. Funktsionaalne testimine: kas funktsioon töötab (kas uks avaneb, kas salvestuskoormus). Regressioonitest: kas uus muudatus rikkus selle, mis varem töötas? Edge case testing: ebatavalised sisendid (lähtestage laoseisu, kaks võtit korraga, piirväärtused). Jõudluse/krahhi testimine: kas mäng on stabiilne. Mängu käigu/kogemuse test: lõbus, intuitiivne. AI on tugev esimeses neljas: stsenaariumide genereerimine, servajuhtumite loetlemine, testkoodi kirjutamine, logide analüüsimine. Viimane – kogemus – kuulub inimesele.
Kvaliteedi voog samm-sammult:
- Genereerige testjuhtumeid (funktsionaalsete ja servajuhtumite loend AI-ga).
- Kirjutage automatiseeritud testimine (kood korduvate kontrollide jaoks).
- Käivitage ja koguge (logi vead, logid, kokkujooksmised).
- Analüüsige (uurige logi ja veamustrit tehisintellektiga).
- Teatage ja kontrollige (selge, korratav veaaruanne; testparandus).
Vihje: Äärejuhtumeid on raske leida, sest disainer mängib oma mängu "õigesti". Küsige tehisintellektilt: "Mida mängija prooviks, kui ta tahaks seda süsteemi murda?" Loetlege ärakasutamine ja servajuhtumid.
Automaatne testimine: jätke kordamine masina hooleks
Igas versioonis samade asjade käsitsi testimine on väsitav ja vigadetundlik. Automaattestimine paneb need kontrollid koodi: kas funktsioon tagastab õige tulemuse iga kord, kui seda kutsutakse, kas süsteem on oodatud olekus. Unity ja Unreal pakuvad testimisraamistikke; AI on nende testide kirjutamisel kiire. See on eriti väärtuslik regressiooni jaoks: kui muudatus rikub midagi, mis varem töötas, läheb test punaseks. Vaadake üle tehisintellekti tehtud testid ja veenduge, et need kontrollivad, mis on tõeliselt tähendusrikas – tühi test on hullem kui mitte testida.
Ettevaatust. Silumisel annab AI mõnikord väljamõeldud seletuse kui "tõenäolise põhjuse" (hallutsinatsioonid). Ärge aktsepteerige vea põhjust lihtsalt sellepärast, et tehisintellekt teile nii ütles; Tõestage põhjus logimise, reprodutseerimise ja testimise teel. Vale diagnoos lükkab õige leidmise edasi.
Paljundamine: silumise süda
Vea parandamise esimene nõue on selle usaldusväärne reprodutseerimine. Viga, mida kirjeldatakse kui "juhtub mõnikord", ei saa parandada, kuna te ei saa kontrollida, kas parandus töötas. Nii et kõige väärtuslikum silumine on vea esinemise täpsete tingimuste kitsendamine (mis sammud, olukord, mis ajastus). AI aitab seda kitsendada: saate anda sümptomid ja osalised paljunemise etapid ning öelda "soovita tingimusi ja kitsendavat strateegiat, mis võivad selle käitumise käivitada". Kuid tegelikult teete kitsendamise mängu käivitades; AI loob hüpoteese, te kõrvaldate need.
Salakavalad on eriti ajaarvamisega (rassiseisundiga) ja mälu olekuga seotud vead; need esinevad ainult teatud järjestuses või koormuses. Selliste vigade puhul on oluline lisada logisse ajatempli ja olekuteave; AI saab seda rikkalikku logi analüüsida ja näha mustrit ("viga juhtub alati siis, kui need kaks sündmust juhtuvad hiljuti"). Pidage meeles silumise kuldreeglit: kõigepealt mõista, siis paranda. Arusaamata parandamine peidab vea, kuid ei lahenda seda ja tekitab sageli mujal uue vea.
kolm minikarpi
Juhtum 1 – Edge case jaht. RPG-s katsetas meeskond varude süsteemi "tavalises" mängus ja arvas, et see on kindel. Nad lasid tehisintellektil öelda "proovige seda inventari murda" ja genereerisid 30 äärmuslikku juhtumistsenaariumi; Neist 4 olid tõesed vead (0 kaaluühiku jagamist, samaaegne ühekordne). Enne avaldamist parandatud.
Juhtum 2 – logianalüüs lahendas krahhi. Mäng jooksis juhuslikult kokku; krahhi logid olid sadu ridu. Kui tehisintellektile logid anti ja mustrit küsiti, selgus, et krahh toimus alati konkreetse stseeni ülemineku ja vähese mälu korral. Selle vihjega leidis programmeerija mälulekke; Õnnetuste määr langes nulli.
Juhtum 3 – naasmine valest diagnoosist. Üks programmeerija usaldas tehisintellekti selgitust, et "selle vea põhjustab see funktsioon" ja nokitses sellega pool päeva; tulemusi ei tulnud. Kui ta tootmisetapid uuesti täpsustas ja logis, oli viga hoopis teises kohas. Õppetund: AI diagnostika on hüpoteesid, mitte tõestus.
Neli kopeeritavat malli
1) Edge juhtumi/kasutusstsenaariumi genereerimine:
Teie roll: pahatahtlik kvaliteedikontrolli testija. Kirjeldan järgmist süsteemi: [süsteem, reeglid]. Ülesanne: loetlege 20 äärmuslikku stsenaariumi, mis üritavad seda süsteemi rikkuda, ära kasutada või ootamatusse olekusse viia. Igaühe jaoks: mida proovida, oodatav tulemus, võimalik viga.
2) Automatiseeritud testi kirjutamine:
Mootor: [Unity 2022.3 / Unreal 5.3]. Testi raamistik: [täpsustage].Kirjutage automaattestid järgmise funktsiooni/süsteemi jaoks: [kirjeldus/kood]. Kaasake tavajuht, piirjuht ja vigane sisend.Veenduge, et iga test kinnitab midagi tõeliselt tähenduslikku; Tühjade/mõttetute testide kirjutamine.
3) Logi/krahhi analüüs:
Allpool on mängu krahhi/vealogid: [log].Ülesanne: märkige korduvad mustrid, levinumad tingimused (stseen, mälu, ajastus) ja võimalikud algpõhjused. Esitage iga põhjus kui "tõestamist vajav hüpotees"; räägi selgelt. Ütle mulle ka, kuidas kontrollida.
4) Veaaruande selgitus:
Tehke järgmine ebamäärane veaaruanne selgeks ja reprodutseeritavaks: [toores aruanne]. Väljund: pealkiri, samm-sammult taasesitamine, oodatav tulemus, tegelik tulemus, sagedus, keskkond. Kui teave on puudu, loetlege vajalik teave.
Nõrk viip / Tugev viip
Nõrk viip:
Minu mängus on viga, parandage see.
Pole konteksti, pole logi ega reprodutseerimist; AI on ennustav ja hallutsinatsioonide oht on suur.
Võimas viip:
Minu mängus Unity 2022.3 on viga: mängija sooritab kiire salvestamise laadimise, mõnikord kahekordistub laoseis. Paljundamine: [sammud].Seotud kood: [kleepida]. Logi: [kleebi].Ülesanne: loetlege võimalikud algpõhjused kui tõestatavad hüpoteesid, andke iga kontrollimisviis ja võimalikud parandused. Looge olematu põhjus; Kui te pole kindel, andke mulle teada.
Paljundamine, kood, logi ja "esitlemine hüpoteesina" muudavad diagnoosi usaldusväärseks.
QA kihtide tabel
kiht
Mida see testib?
AI panus
inimlik osa
funktsionaalne
Kas funktsioon töötab?
Skript, testkood
Sisseastumisotsus
regressioon
Kas vana asi on katki?
automaatne test
Otsus ulatuse kohta
äärmuslik juhtum
ebatavaline sisend
Stsenaariumi tootmine
prioriteet
Krahh/jõudlus
sihikindlus
Logi analüüs
Algpõhjuse kinnitus
Kogemused
meelelahutus, intuitsioon
piiratud
täiesti inimlik
Levinud vead
- Testin lihtsalt "tavalist" mängu. Servad plahvatavad pärast vabastamist.
- AI-diagnoosi eksimine tõestuseks. Miks on tõestatud logi ja testimisega.
- Tühjade automatiseeritud testide kirjutamine. Mõttetu testimine loob enesekindluse illusiooni.
- Ebamäärane veaaruanne. Kordumatut viga ei saa parandada.
- Regressioonitesti vahelejätmine. Iga parandus võib põhjustada uusi vigu.
Kokkuvõttes
QA on distsipliin, mis teeb mängu mängija jaoks valmis. AI; genereerib äärmuslike juhtumite stsenaariume, kirjutab automatiseeritud teste, analüüsib logisid ja täpsustab veaaruandeid. Kuid nende diagnoosid on hüpoteesid, kogemuste hindamine on inimlik ja iga parandus nõuab uuesti testimist. Korrake AI-ga refleksi "kes suudab seda murda ja kuidas"; Kogute tõendeid.
Rakenduse ülesanne
Valige oma mängust süsteem. Looge malliga „edge case/exploitation stsenaariumi genereerimine” 20 stsenaariumi ja testige tegelikult viit kõige riskantsemat. Looge leitud vea kohta taasesitatav aruanne malliga „Veaaruande täpsustamine”.
kontrollnimekiri
- [ ] Lõin servajuhtumi tekstiga "Kes ja kuidas saab selle lõhkuda?"
- [ ] Kirjutas ja vaatas üle korduvate kontrollide automaattestid.
- [ ] Pidasin AI-diagnoosi hüpoteesiks ja tõestasin seda logi/testiga.
- [ ] Teatasin vigadest reprodutseeritavalt.
- [ ] Testisin iga parandust regressiooni jaoks uuesti.