Voitot:
- Kyky ymmärtää toiminnallisia, regressio-, reunatapaus- ja törmäystestikerroksia ja tuottaa testiskenaarioita ja reunatapausluetteloita tekoälyllä
- Kyky nopeuttaa virheenkorjausta kirjoittamalla automaattista testikoodia tekoälyllä ja poimimalla kuvioita loki- ja kaatumisanalyysissä
- Ymmärtääkseen, että tekoälyn virhediagnoosi ei ole todisteita vaan hypoteesia, syy on todistettava lokeilla ja kopioinnilla ja virheraportin toistettavuuden merkitys.
Kun peli julkaistaan, pelaajat pelaavat sitä tavoilla, joita kehittäjä ei kuvitellut: juuttumalla seiniin, hyödyntämällä varastoa, pääsemällä mahdottomiin paikkoihin, laukaisemalla kaatumisia. Laadunvarmistus (QA — Quality assurance); Se on prosessi, jossa järjestelmällisesti testataan peliä ennen julkaisua ja löydetään ja korjataan virheet (bugit), kaatumiset, epävakaudet ja huonot kokemukset. Tämä on yksi työvoimavaltaisimmista mutta kriittisimmistä linkeistä pelituotannossa. Tekoäly nopeuttaa laadunvarmistusta monissa kohdissa: testitapausten luominen, virheraporttien analysointi, lokin tarkistus, automaattinen testikoodin kirjoittaminen, virheenkorjaus ja tuotantovaiheiden jalostaminen. Mutta tekoäly ei korvaa ihmisen testaajan intuitiota ja pelituntuman arviointia.
Tässä osiossa opit käyttämään tekoälyä laadunvarmistuksessa ja virheenkorjauksessa; Opit testiskenaarioiden suunnittelun, lokianalyysin, automaattisen testin kirjoittamisen ja virheraportoinnin kurinalaisuuden.
Laadunvarmistuksen kerrokset ja tekoälyn paikka
QA on monikerroksinen. Toiminnan testaus: toimiiko ominaisuus (aukeutuuko ovi, lataako tallennus). Regressiotestaus: rikkoiko uusi muutos aiemmin toimineen? Reunatapausten testaus: epätavalliset syötteet (nollaa varasto, kaksi näppäintä kerralla, raja-arvot). Suorituskyky/törmäystestaus: onko peli vakaa. Pelin kulku/kokemustesti: hauska, intuitiivinen. Tekoäly on vahva neljässä ensimmäisessä: skenaarioiden luominen, reunatapausten luettelointi, testikoodin kirjoittaminen, lokien analysointi. Viimeinen – kokemus – kuuluu ihmiselle.
Laadunvarmistusprosessi askel askeleelta:
- Luo testitapauksia (toiminnallinen ja reunatapausluettelo AI:lla).
- Kirjoita automaattinen testaus (koodi toistuvia tarkastuksia varten).
- Suorita ja kerää (lokivirheet, lokit, kaatumiset).
- Analysoi (tarkista lokia ja virhekuviota tekoälyllä).
- Ilmoita ja tarkista (selkeä, toistettava virheraportti; testikorjaus).
Vihje: reunakoteloita on vaikea löytää, koska suunnittelija pelaa pelinsä "oikein". Kysy tekoälyltä "mitä pelaaja yrittäisi, jos he haluaisivat rikkoa tämän järjestelmän?" Listaa hyväksikäytöt ja reunatapaukset.
Automaattinen testaus: Jätä toisto koneelle
Samojen asioiden manuaalinen testaus jokaisessa julkaisussa on väsyttävää ja virhealtista. Automaattinen testaus laittaa nämä tarkistukset koodiin: palauttaako funktio oikean tuloksen joka kerta kun sitä kutsutaan, onko järjestelmä odotetussa tilassa. Unity ja Unreal tarjoavat testauskehyksiä; Tekoäly on nopea näiden testien kirjoittamisessa. Se on erityisen arvokasta regression kannalta: jos muutos rikkoo jotain aiemmin toiminutta, testi muuttuu punaiseksi. Tarkista tekoälyn tuottamat testit ja varmista, että ne tarkistavat, mikä on todella merkityksellistä – tyhjä testi on huonompi kuin ei testiä.
Varoitus: Virheenkorjauksessa tekoäly tuottaa joskus keksityn selityksen "todennäköiseksi syyksi" (hallusinaatioksi). Älä hyväksy virheen syytä vain siksi, että tekoäly kertoi sinulle niin; Todista syy kirjaamalla, toistamalla ja testaamalla. Väärä diagnoosi viivästyttää oikean löytämistä.
Jäljentäminen: virheenkorjauksen sydän
Ensimmäinen vaatimus virheen korjaamiseksi on toistaa se luotettavasti. "Toistuu joskus" -vikaa ei voida korjata, koska et voi tarkistaa, toimiko korjaus. Joten arvokkain virheenkorjauksen työ on kaventaa tarkat olosuhteet, joissa virhe esiintyy (mitkä vaiheet, mikä tilanne, mikä ajoitus). Tekoäly auttaa rajaamaan tätä: voit antaa oireet ja osittaiset lisääntymisvaiheet ja sanoa "ehdottaa olosuhteita ja kaventavaa strategiaa, jotka voivat laukaista tämän käyttäytymisen". Mutta itse asiassa teet kaventamisen ajamalla peliä; AI luo hypoteeseja, sinä eliminoit ne.
Etenkin ajoitukseen (kilpailutilanteeseen) ja muistin tilaan liittyvät virheet ovat salakavalia; nämä esiintyvät vain tietyssä järjestyksessä tai kuormassa. Tällaisten virheiden tapauksessa on tärkeää lisätä aikaleima- ja tilatiedot lokiin. Tekoäly voi analysoida tämän rikkaan lokin ja nähdä kuvion ("virhe tapahtuu aina, kun nämä kaksi tapahtumaa tapahtuvat äskettäin"). Muista virheenkorjauksen kultainen sääntö: ymmärrä ensin ja korjaa sitten. Ymmärtämätön korjaus piilottaa virheen, mutta ei ratkaise sitä ja usein luo uuden virheen muualle.
kolme minilaukkua
Tapaus 1 – Reunakotelon metsästys. RPG:ssä tiimi testasi varastojärjestelmää "normaalissa" pelissä ja piti sitä vakaana. He saivat tekoälyn sanoa "yritä murtaa tämä luettelo" ja loivat 30 reunatapausskenaariota; Näistä 4 oli todellisia virheitä (0 painoerän jakamista, samanaikainen kertakäyttöinen). Korjattu ennen julkaisua.
Tapaus 2 – Lokianalyysi ratkaisi kaatumisen. Peli kaatui satunnaisesti; törmäyslokit olivat satoja rivejä. Kun tekoälylle annettiin lokit ja pyydettiin mallia, paljastui, että kaatuminen tapahtui aina tietyssä kohtauksen siirtymävaiheessa ja muistin ollessa vähissä. Tällä vihjeellä ohjelmoija löysi muistivuodon; Törmäysprosentti putosi nollaan.
Tapaus 3 – Paluu väärästä diagnoosista. Eräs ohjelmoija luotti tekoälyn selitykseen, jonka mukaan "tämä virhe johtuu tästä toiminnosta", ja puuhaili sitä puoli päivää; tuloksia ei tullut. Kun hän selvitti ja kirjasi tuotantovaiheet uudelleen, virhe oli aivan eri paikassa. Oppitunti: Tekoälyn diagnostiikka on hypoteeseja, ei todisteita.
Neljä kopioitavaa mallia
1) Edge-tapauksen/hyödyntämisskenaarion luominen:
Sinun roolisi: haitallinen laadunvarmistustastaja. Kuvailen seuraavan järjestelmän: [järjestelmä, säännöt]. Tehtävä: luettele 20 reunatapausskenaariota, jotka yrittävät rikkoa, hyödyntää tai saattaa tämän järjestelmän odottamattomaan tilaan. Jokaiselle: mitä kokeilla, odotettu tulos, mahdollinen virhe.
2) Automatisoitu testikirjoitus:
Moottori: [Unity 2022.3 / Unreal 5.3]. Testikehys: [määritä].Kirjoita automaattisia testejä seuraavalle toiminnolle/järjestelmälle: [kuvaus/koodi].Sisällytä normaali tapaus, rajatapaus ja viallinen syöte.Varmista, että jokainen testi vahvistaa jotain todella merkityksellistä. Tyhjien / merkityksettömien testien kirjoittaminen.
3) Loki-/ törmäysanalyysi:
Alla ovat pelin kaatumis-/virhelokit: [loki]. Tehtävä: merkitse toistuvat kuviot, yleiset olosuhteet (kohtaus, muisti, ajoitus) ja mahdolliset perimmäiset syyt. Esitä jokainen syy "todistettavana hypoteesina"; puhu selkeästi. Kerro myös kuinka varmistus.
4) Virheraportin selvennys:
Tee seuraavasta epämääräisestä virheraportista selkeä ja toistettava: [raakaraportti]. Tulos: otsikko, vaiheittainen toisto, odotettu tulos, todellinen tulos, taajuus, ympäristö. Jos tietoja puuttuu, luettele mitä tietoja tarvitaan.
Heikko kehote / Vahva kehote
Heikko kehote:
Pelissäni on bugi, korjaa se.
Ei kontekstia, ei lokia, ei kopiota; Tekoäly on ennustava ja hallusinaatioiden riski on suuri.
Tehokas kehotus:
Unity 2022.3 -pelissäni on virhe: varaston määrä tuplaantuu joskus, kun pelaaja suorittaa nopean tallennuslatauksen. Jäljentäminen: [vaiheet].Aiheeseen liittyvä koodi: [liitä]. Loki: [liitä].Tehtävä: luettele mahdolliset perimmäiset syyt todistettaviksi hypoteeseiksi, anna varmistusohjeet ja mahdollinen korjaus jokaiselle.Kehitä olematon syy; Jos et ole varma, kerro minulle.
Jäljentäminen, koodi, loki ja "esitä hypoteesina" -pyyntö tekevät diagnoosista luotettavan.
QA-tasotaulukko
kerros
Mitä se testaa?
AI panos
ihmisen osuus
toimiva
Toimiiko ominaisuus?
Käsikirjoitus, testikoodi
Pääsypäätös
regressio
Onko vanha rikki?
automaattinen testi
Laajuuspäätös
äärimmäinen tapaus
epätavallinen syöttö
Käsikirjoituksen tuotanto
etusijalla
Törmäys/suorituskyky
päättäväisyyttä
Lokianalyysi
Perussyyn vahvistus
Kokemus
viihdettä, intuitiota
rajoitettu
täysin inhimillistä
Yleisiä virheitä
- Testaillaan vain "normaalia" pelattavuutta. Reunakotelot räjähtävät vapautumisen jälkeen.
- Väärin AI-diagnoosi todisteeksi. Miksi on todistettu lokilla ja testeillä.
- Tyhjien automaattisten testien kirjoittaminen. Tarkoittamaton testaus antaa illuusion itsevarmuudesta.
- Epämääräinen vikaraportti. Virhettä, jota ei voida toistaa, ei voida korjata.
- Regressiotestauksen ohittaminen. Jokainen korjaus voi aiheuttaa uusia virheitä.
Yhteenvetona
QA on kurinalaisuus, joka tekee pelin valmiiksi pelaajaa varten. AI; luo reunatapausskenaarioita, kirjoittaa automaattisia testejä, analysoi lokeja ja selventää virheraportteja. Mutta heidän diagnoosinsa ovat hypoteeseja, kokemuksen arviointi on inhimillistä ja jokainen korjaus vaatii uudelleentestauksen. Toista "kuka voi rikkoa tämän ja miten" -refleksi tekoälyllä; Keräät todisteita.
Sovellustehtävä
Valitse järjestelmä pelistäsi. Luo 20 skenaariota "edge case/exploitation skenaarion sukupolvi" -mallilla ja testaa viittä riskialttiinta. Luo toistettavissa oleva raportti havaitsemastasi virheestä "Virheraportin tarkennus" -mallin avulla.
tarkistuslista
- [ ] Tein reunatapauksen "Kuka voi rikkoa tämän ja miten?"
- [ ] Kirjoitti ja arvioi toistuvien tarkistusten automaattisen testauksen.
- [ ] Pidin tekoälydiagnoosia hypoteesina ja todistin sen logilla/testillä.
- [ ] Ilmoitin virheistä toistettavasti.
- [ ] Testasin uudelleen jokaisen korjauksen regression varalta.