zisky:
- Schopnosť pochopiť funkčné, regresné, okrajové a nárazové testovacie vrstvy a vytvárať testovacie scenáre a zoznamy okrajových prípadov s umelou inteligenciou
- Schopnosť urýchliť ladenie napísaním automatického testovacieho kódu s umelou inteligenciou a extrahovaním vzorov v protokole a analýze zlyhania
- Aby sme pochopili, že diagnostika chýb umelej inteligencie nie je dôkaz, ale hypotéza, príčina musí byť preukázaná protokolmi a reprodukciou a dôležitosť reprodukovateľnosti správy o chybe.
Keď je hra vydaná, hráči ju hrajú spôsobmi, ktoré si vývojár nepredstavoval: uviaznu v stenách, využívajú inventár, dosahujú nemožné miesta, spúšťajú pády. Zabezpečenie kvality (QA – zabezpečenie kvality); Ide o proces systematického testovania hry pred vydaním a hľadanie a opravovanie chýb (bugov), pádov, nestability a zlých skúseností. Toto je jeden z najnáročnejších, ale kritických článkov v produkcii hier. Umelá inteligencia urýchľuje kontrolu kvality v mnohých bodoch: generovanie testovacích prípadov, analýza hlásení o chybách, kontrola protokolov, automatické písanie testovacieho kódu, ladenie a zdokonaľovanie výrobných krokov. Ale AI nenahrádza intuíciu ľudského testera a hodnotenie pocitu z hry.
V tejto lekcii sa naučíte používať AI pri QA a ladení; Naučíte sa navrhovať testovací scenár, analýzu protokolov, automatické písanie testov a disciplínu hlásenia chýb.
Vrstvy QA a miesto AI
QA je viacvrstvová. Funkčné testovanie: funguje funkcia (otvárajú sa dvere, nahráva nahrávanie). Regresné testovanie: narušila nová zmena to, čo fungovalo predtým? Testovanie okrajových prípadov: neobvyklé vstupy (resetovať inventár, dva kľúče naraz, hraničné hodnoty). Výkon/crash testovanie: je hra stabilná. Test hry/zážitku: zábavný, intuitívny. AI je silná v prvých štyroch: generovanie scenárov, zoznam hraničných prípadov, písanie testovacieho kódu, analýza protokolov. Posledná — skúsenosť — patrí človeku.
Tok QA krok za krokom:
- Generujte testovacie prípady (zoznam funkčných a okrajových prípadov s AI).
- Napíšte automatizované testovanie (kód pre opakované kontroly).
- Spustiť a zbierať (protokolovať chyby, protokoly, zlyhania).
- Analyzujte (preskúmajte protokol a vzor chýb pomocou AI).
- Nahláste a overte (jasné, reprodukovateľné hlásenie o chybe; testovacia oprava).
Tip: Je ťažké nájsť okrajové prípady, pretože dizajnér hrá svoju hru „správne“. Opýtajte sa AI "Čo by hráč skúsil, keby chcel prelomiť tento systém?" Zoznam exploitov a okrajových prípadov.
Automatické testovanie: nechajte opakovanie na stroji
Manuálne testovanie tých istých vecí v každom vydaní je únavné a náchylné na chyby. Automatizované testovanie vkladá tieto kontroly do kódu: vracia funkcia správny výsledok zakaždým, keď je zavolaná, je systém v očakávanom stave. Unity a Unreal ponúkajú testovacie rámce; AI je pri písaní týchto testov rýchla. Je to obzvlášť cenné pre regresiu: ak zmena naruší niečo, čo predtým fungovalo, test sa zmení na červenú. Prezrite si testy, ktoré vytvára AI, a uistite sa, že skontrolujú, čo je skutočne zmysluplné – prázdny test je horší ako žiadny.
Pozor: Pri ladení AI niekedy vytvára vymyslené vysvetlenie ako „pravdepodobnú príčinu“ (halucinácie). Neprijímajte príčinu chyby len preto, že vám to povedala AI; Dokážte príčinu protokolovaním, reprodukovaním a testovaním. Nesprávna diagnóza oneskoruje nájdenie tej správnej.
Reprodukcia: srdce ladenia
Prvou požiadavkou na opravu chyby je jej spoľahlivé reprodukovanie. Chybu opísanú ako „občas sa stane“ nemožno opraviť, pretože nemôžete overiť, či oprava fungovala. Najcennejšou prácou pri ladení je teda zúženie presných podmienok, za ktorých sa chyba vyskytuje (ktoré kroky, ktorá situácia, aké načasovanie). AI to pomáha zúžiť: môžete uviesť symptómy a čiastočné reprodukčné kroky a povedať „navrhnite podmienky a stratégiu zúženia, ktoré by mohli spustiť toto správanie“. Ale v skutočnosti urobíte zúženie spustením hry; AI generuje hypotézy, vy ich eliminujete.
Zákerné sú najmä chyby súvisiace s časovaním (súvisiace podmienky pretekov) a so stavom pamäte; tieto sa vyskytujú iba v určitom poradí alebo zaťažení. Pre takéto chyby je dôležité pridať do denníka časovú pečiatku a informácie o stave; Umelá inteligencia môže analyzovať tento bohatý protokol a vidieť vzor („chyba sa vždy stane, keď sa tieto dve udalosti vyskytnú nedávno“). Pamätajte na zlaté pravidlo ladenia: najprv pochopte, potom opravte. Oprava bez pochopenia skryje chybu, ale nevyrieši ju a často inde vytvorí novú chybu.
tri mini prípady
Prípad 1 – Hľadanie okrajových prípadov. V RPG tím testoval systém inventára v „normálnej“ hre a považoval ho za solídny. Povedali AI „pokúste sa prelomiť tento inventár“ a vygenerovali 30 scenárov okrajových prípadov; 4 z nich boli skutočné chyby (0 rozdelenia hmotnosti, súčasne jednorazové). Opravené pred zverejnením.
Prípad 2 – Analýza denníka vyriešila zlyhanie. Hra náhodne padala; záznamy o nehodách boli stovky riadkov. Keď AI dostal protokoly a požiadal o vzor, ukázalo sa, že k zlyhaniu vždy došlo pri špecifickom prechode scény a nízkej pamäti. Pomocou tejto stopy programátor našiel únik pamäte; Miera nehôd klesla na nulu.
Prípad 3 – Návrat z nesprávnej diagnózy. Programátor uveril vysvetleniu AI, že „táto chyba je spôsobená touto funkciou“ a vŕtal sa v tom pol dňa; nevyšli žiadne výsledky. Keď opäť objasnil a zaprotokoloval výrobné kroky, chyba bola úplne inde. Ponaučenie: Diagnostika AI sú hypotézy, nie dôkazy.
Štyri kopírovateľné šablóny
1) Generovanie okrajového prípadu/scenára využívania:
Vaša úloha: škodlivý tester kontroly kvality. Opisujem nasledovný systém: [systém, pravidlá]. Úloha: uveďte 20 scenárov okrajových prípadov, ktoré sa pokúsia prelomiť, zneužiť alebo dostať tento systém do neočakávaného stavu. Pre každého: čo vyskúšať, očakávaný výsledok, možná chyba.
2) Automatické písanie testu:
Motor: [Unity 2022.3 / Unreal 5.3]. Testovací rámec: [špecifikujte].Napíšte automatizované testy pre nasledujúcu funkciu/systém: [popis/kód].Zahrňte normálny prípad, limitný prípad a chybný vstup.Uistite sa, že každý test overuje niečo skutočne zmysluplné; Písanie prázdnych/nezmyselných testov.
3) Analýza denníka/zlyhania:
Nižšie sú záznamy o pádoch/chybách hry: [log].Úloha: označte opakujúce sa vzorce, bežné podmienky (scéna, pamäť, načasovanie) a možné hlavné príčiny. Každú príčinu uveďte ako „hypotézu, ktorú treba dokázať“; hovoriť jasne. Tiež mi povedzte, ako overiť.
4) Objasnenie hlásenia chyby:
Urobte nasledujúcu vágnu správu o chybe zrozumiteľnú a reprodukovateľnú: [surová správa]. Výstup: názov, reprodukcia krok za krokom, očakávaný výsledok, skutočný výsledok, frekvencia, prostredie. Ak chýbajú informácie, uveďte, aké informácie sú potrebné.
Slabá výzva / Silná výzva
Slabá výzva:
V mojej hre je chyba, opravte ju.
Žiadny kontext, žiadny denník, žiadna reprodukcia; AI je prediktívna a riziko halucinácií je vysoké.
Výkonná výzva:
V mojej hre Unity 2022.3 je chyba: inventár sa niekedy zdvojnásobí, keď hráč vykoná rýchle uloženie. Reprodukcia: [kroky].Súvisiaci kód: [prilepiť]. Protokol: [prilepiť]. Úloha: uveďte možné hlavné príčiny ako hypotézy, ktoré sa majú dokázať, uveďte spôsob overenia a možnú opravu pre každú z nich. Vymyslite neexistujúcu príčinu; Ak si nie ste istý, dajte mi vedieť.
Reprodukcia, kód, protokol a požiadavka „prezentovať ako hypotéza“ robia diagnózu spoľahlivú.
Tabuľka vrstiev QA
vrstva
Čo testuje?
Príspevok AI
ľudský podiel
funkčné
Funguje funkcia?
Skript, testovací kód
Rozhodnutie o prijatí
regresia
Je stará vec pokazená?
automatický test
Rozhodnutie o rozsahu
extrémny prípad
nezvyčajný vstup
Výroba scenára
prioritou
Havária/výkon
odhodlanie
Log analýza
Potvrdenie hlavnej príčiny
Skúsenosti
zábava, intuícia
obmedzené
úplne ľudský
Časté chyby
- Len testovanie "normálnej" hry. Okrajové puzdrá po uvoľnení explodujú.
- Mylná diagnóza AI ako dôkaz. Prečo je dokázané protokolom a testovaním.
- Písanie prázdnych automatizovaných testov. Nezmyselné testovanie dáva ilúziu dôvery.
- Nejasná správa o chybe. Nereprodukovateľnú chybu nie je možné opraviť.
- Preskočenie regresného testovania. Každá oprava môže spôsobiť nové chyby.
V súhrne
QA je disciplína, vďaka ktorej je hra pre hráča pripravená. AI; generuje scenáre okrajových prípadov, píše automatizované testy, analyzuje protokoly a objasňuje chybové hlásenia. Ale ich diagnózy sú hypotézy, hodnotenie skúseností je ľudské a každá korekcia si vyžaduje opätovné testovanie. Replikujte reflex „kto to môže zlomiť a ako“ pomocou AI; Zbierate dôkazy.
Aplikačná úloha
Vyberte si systém zo svojej hry. Nechajte si vygenerovať 20 scenárov pomocou šablóny “edge case/exploitation scene generation” a skutočne otestujte 5 najrizikovejších. Vytvorte reprodukovateľné hlásenie o chybe, ktorú nájdete, pomocou šablóny „Upresnenie hlásenia o chybe“.
kontrolný zoznam
- [ ] Vytvoril som okrajový prípad s "Kto to môže zlomiť a ako?"
- [ ] Napísal a skontroloval automatizované testovanie pre opakujúce sa kontroly.
- [ ] Diagnózu AI som považoval za hypotézu a dokázal som ju log/testom.
- [ ] Chyby som hlásil reprodukovateľne.
- [ ] Znova som otestoval každú opravu na regresiu.