Dobici:
- Sposobnost razumijevanja slojeva funkcionalnog, regresijskog, rubnog slučaja i testa sudara te izrade testnih scenarija i popisa rubnih slučajeva s umjetnom inteligencijom
- Sposobnost ubrzavanja otklanjanja pogrešaka pisanjem automatskog testnog koda s umjetnom inteligencijom i izdvajanjem uzoraka u zapisniku i analizi rušenja
- Biti u stanju razumjeti da dijagnoza pogreške umjetne inteligencije nije dokaz nego hipoteza, uzrok se mora dokazati zapisima i reprodukcijom, a važnost je da se izvješće o pogrešci može ponoviti.
Kada je igra objavljena, igrači je igraju na načine koje razvojni programer nije zamislio: zaglaviti u zidovima, iskorištavati inventar, dosezati nemoguća mjesta, pokretati padove. Osiguranje kvalitete (QA — osiguranje kvalitete); To je proces sustavnog testiranja igre prije izdavanja te pronalaženja i ispravljanja grešaka (bugova), padova, nestabilnosti i loših iskustava. Ovo je jedna od radno najintenzivnijih, ali kritičnih karika u proizvodnji igara. AI ubrzava provjeru kvalitete u mnogim točkama: generiranje testnih slučajeva, analiza izvješća o pogreškama, pregled dnevnika, automatsko pisanje testnog koda, otklanjanje pogrešaka i pročišćavanje proizvodnih koraka. Ali AI ne zamjenjuje intuiciju ljudskog testera i procjenu osjećaja igre.
U ovoj ćete jedinici naučiti kako koristiti AI u osiguranju kvalitete i otklanjanju pogrešaka; Naučit ćete dizajn scenarija testa, analizu dnevnika, automatsko pisanje testa i disciplinu izvještavanja o pogreškama.
Slojevi osiguranja kvalitete i mjesto umjetne inteligencije
QA je višeslojna. Funkcionalno testiranje: radi li značajka (otvaraju li se vrata, učitava li se snimanje). Regresijsko testiranje: je li nova promjena pokvarila ono što je prije funkcioniralo? Testiranje rubnih slučajeva: neuobičajeni ulazi (poništavanje inventara, dva ključa odjednom, granične vrijednosti). Testiranje performansi/rušenja: je li igra stabilna. Test igranja/iskustva: zabavan, intuitivan. AI je jak u prva četiri: generiranje scenarija, popis rubnih slučajeva, pisanje testnog koda, analiza zapisa. Posljednje — iskustvo — pripada čovjeku.
Tijek osiguranja kvalitete korak po korak:
- Generirajte testne slučajeve (funkcionalni i rubni popis slučajeva s AI).
- Napišite automatizirano testiranje (kod za ponovljene provjere).
- Trči i skupljaj (bilježi pogreške, zapisnike, padove).
- Analizirajte (ispitajte zapisnik i obrazac pogreške pomoću umjetne inteligencije).
- Prijavite i potvrdite (jasno izvješće o pogrešci koje se može ponoviti; testni popravak).
Savjet: Teško je pronaći rubna kućišta jer dizajner igra svoju igru "ispravno". Pitajte AI "što bi igrač pokušao da želi razbiti ovaj sustav?" Popis eksploatacija i rubnih slučajeva.
Automatsko testiranje: ponavljanje prepustite stroju
Ručno testiranje istih stvari u svakom izdanju je zamorno i podložno pogreškama. Automatizirano testiranje stavlja ove provjere u kod: vraća li funkcija točan rezultat svaki put kada se pozove, je li sustav u očekivanom stanju. Unity i Unreal nude okvire za testiranje; AI je brza u pisanju ovih testova. Posebno je vrijedan za regresiju: ako promjena pokvari nešto što je prije radilo, test postaje crven. Pregledajte testove koje umjetna inteligencija proizvodi, pazeći da provjeravaju ono što je doista smisleno - prazan test je gori nego bez testa.
Oprez: U otklanjanju pogrešaka, AI ponekad daje izmišljeno objašnjenje kao "vjerojatni uzrok" (halucinacija). Ne prihvaćajte uzrok greške samo zato što vam je AI tako rekao; Dokažite uzrok zapisom, reprodukcijom i testiranjem. Pogrešna dijagnoza odgađa pronalaženje prave.
Reprodukcija: srce otklanjanja pogrešaka
Prvi uvjet za popravak buga jest njegovo pouzdano reproduciranje. Bug opisan kao "događa se ponekad" ne može se popraviti jer ne možete provjeriti je li popravak uspio. Dakle, najvrjedniji posao otklanjanja pogrešaka je sužavanje točnih uvjeta pod kojima se greška pojavljuje (koji koraci, koja situacija, koje vrijeme). AI pomaže ovo suziti: možete navesti simptome i djelomične korake reprodukcije i reći "predložite uvjete i strategiju sužavanja koja bi mogla potaknuti ovo ponašanje." Ali vi zapravo radite sužavanje pokretanjem igre; AI stvara hipoteze, vi ih eliminirate.
Posebno su podmukle pogreške povezane s vremenskim rasporedom (stanje utrke) i stanjem memorije; oni se javljaju samo u određenom nizu ili opterećenju. Za takve je pogreške ključno dodati vremensku oznaku i podatke o statusu u dnevnik; AI može analizirati ovaj bogati zapisnik i vidjeti obrazac ("pogreška se uvijek događa kada se ova dva događaja nedavno dogode"). Zapamtite zlatno pravilo otklanjanja pogrešaka: prvo shvatite, a zatim popravite. Ispravljanje bez razumijevanja skriva grešku, ali je ne rješava i često stvara novu grešku negdje drugdje.
tri mini kućišta
Slučaj 1 — Potraga za rubnim slučajevima. U RPG-u tim je testirao sustav inventara u "normalnom" igranju i smatrali su ga solidnim. Dali su AI-ju da kaže "pokušajte probiti ovaj inventar" i generirali su 30 scenarija rubnih slučajeva; 4 od njih bile su točne pogreške (0 dijeljenje težine predmeta, istovremeno raspoloživo). Ispravljeno prije objave.
Slučaj 2 — Analiza dnevnika riješila je pad. Igra se nasumično rušila; zapisnici pada brojali su stotine redaka. Kada je umjetnoj inteligenciji dat zapisnik i zatražen uzorak, otkriveno je da se rušenje uvijek događalo pri prijelazu određene scene i nedostatku memorije. Pomoću ovog traga programer je pronašao curenje memorije; Stopa padova pala je na nulu.
Slučaj 3 — Povratak nakon pogrešne dijagnoze. Programer je povjerovao objašnjenju umjetne inteligencije da je "ova pogreška uzrokovana ovom funkcijom" i petljao je s tim pola dana; nisu izašli rezultati. Kad je razjasnio i ponovno zabilježio proizvodne korake, pogreška je bila na potpuno drugom mjestu. Lekcija: Dijagnostika umjetne inteligencije je hipoteza, a ne dokaz.
Četiri predloška za kopiranje
1) Generiranje rubnog slučaja/scenarija eksploatacije:
Vaša uloga: zlonamjerni QA tester. Opisujem sljedeći sustav: [sustav, pravila]. Zadatak: navedite 20 scenarija rubnih slučajeva koji će pokušati slomiti, iskoristiti ili dovesti ovaj sustav u neočekivano stanje. Za svaki: što pokušati, očekivani ishod, moguća pogreška.
2) Automatizirano pisanje testa:
Motor: [Unity 2022.3 / Unreal 5.3]. Okvir testiranja: [navedite]. Napišite automatizirane testove za sljedeću funkciju/sustav: [opis/kod]. Uključite normalan slučaj, ograničeni slučaj i neispravan unos. Pobrinite se da svaki test provjerava nešto uistinu značajno; Pisanje praznih/besmislenih testova.
3) Analiza zapisnika/pada:
Ispod su zapisnici rušenja/pogrešaka igre: [dnevnik]. Zadatak: označite uzorke koji se ponavljaju, uobičajene uvjete (scena, memorija, vrijeme) i moguće temeljne uzroke. Predstavite svaki uzrok kao "hipotezu koju treba dokazati"; govori jasno. Također mi reci kako provjeriti.
4) Pojašnjenje izvješća o pogrešci:
Neka sljedeće nejasno izvješće o pogrešci bude jasno i ponovljivo: [neobrađeno izvješće]. Ishod: naslov, reprodukcija korak po korak, očekivani rezultat, stvarni rezultat, učestalost, okruženje. Ako nedostaju podaci, navedite koji su podaci potrebni.
Slab upit / Jak upit
Slab upit:
Postoji greška u mojoj igri, popravi je.
Bez konteksta, bez dnevnika, bez reprodukcije; AI je prediktivna i rizik od halucinacija je visok.
Snažan upit:
U mojoj igri Unity 2022.3 postoji greška: inventar se ponekad udvostruči kada igrač izvrši brzo spremanje-učitavanje. Reprodukcija: [koraci]. Povezani kod: [paste]. Dnevnik: [zalijepi].Zadatak: navedite moguće glavne uzroke kao hipoteze koje treba dokazati, navedite kako provjeriti i moguće rješenje za svaki. Izmislite nepostojeći uzrok; Ako niste sigurni, javite mi.
Reprodukcija, šifra, zapisnik i zahtjev "prikaži kao hipotezu" čine dijagnozu pouzdanom.
Tablica slojeva osiguranja kvalitete
sloj
Što testira?
AI doprinos
ljudski udio
funkcionalni
Radi li značajka?
Skripta, test kod
Odluka o prijemu
regresija
Je li stara stvar pokvarena?
automatski test
Odluka o opsegu
ekstremni slučaj
neobičan unos
Proizvodnja scenarija
prioritet
Pad/izvedba
odlučnost
Analiza dnevnika
Potvrda temeljnog uzroka
Iskustvo
zabava, intuicija
ograničeno
potpuno ljudski
Uobičajene greške
- Samo testiram "normalan" gameplay. Edge kućišta eksplodiraju nakon puštanja.
- Zamjena AI dijagnoze kao dokaza. Zašto je dokazano zapisnikom i testiranjem.
- Pisanje praznih automatiziranih testova. Besmisleno testiranje daje iluziju povjerenja.
- Nejasno izvješće o pogrešci. Pogreška koja se ne može ponoviti ne može se ispraviti.
- Preskakanje regresijskog testiranja. Svaki ispravak može uzrokovati nove pogreške.
Ukratko
QA je disciplina koja čini igru spremnom za igrača. AI; generira rubne scenarije, piše automatizirane testove, analizira zapisnike i pojašnjava izvješća o pogreškama. Ali njihove su dijagnoze hipoteze, procjena iskustva je ljudska, a svaka korekcija zahtijeva ponovno testiranje. Replicirajte refleks "tko to može slomiti i kako" s umjetnom inteligencijom; Ti skupljaj dokaze.
Zadatak aplikacije
Odaberite sustav iz svoje igre. Generirajte 20 scenarija s predloškom "generiranje scenarija rubnog slučaja/eksploatacije" i zapravo testirajte 5 najrizičnijih. Stvorite izvješće koje se može reproducirati za grešku koju pronađete pomoću predloška "Usavršavanje izvješća o grešci".
popis za provjeru
- [ ] Napravio sam rubni slučaj s "Tko to može razbiti i kako?"
- [ ] Napisao i pregledao automatizirano testiranje za ponavljajuće provjere.
- [ ] Dijagnozu umjetne inteligencije smatrao sam hipotezom i dokazao je zapisnikom/testom.
- [ ] Pogreške sam prijavio ponovljivo.
- [ ] Ponovno sam testirao svaki popravak za regresiju.