zisky:
- Schopnost porozumět vrstvám funkčních, regresních, okrajových případů a nárazových testů a vytvářet testovací scénáře a seznamy okrajových případů s umělou inteligencí
- Schopnost urychlit ladění napsáním automatického testovacího kódu s umělou inteligencí a extrahováním vzorů v protokolu a analýze pádů
- Abychom pochopili, že diagnostika chyb umělé inteligence není důkaz, ale hypotéza, musí být příčina prokázána pomocí protokolů a reprodukce a důležitost reprodukovatelnosti chybové zprávy.
Když je hra vydána, hráči ji hrají způsoby, které si vývojáři nepředstavovali: zasekávání se ve zdech, využívání inventáře, dosahování nemožných míst, spouštění pádů. Zajišťování kvality (QA — Quality Assurance); Je to proces systematického testování hry před vydáním a hledání a opravování chyb (bugů), pádů, nestabilit a špatných zkušeností. Toto je jeden z nejnáročnějších, ale kritických článků v produkci her. Umělá inteligence urychluje QA v mnoha bodech: generování testovacích případů, analýza chybových hlášení, kontrola protokolů, automatické psaní testovacího kódu, ladění a zpřesňování výrobních kroků. Umělá inteligence ale nenahrazuje intuici lidského testera a hodnocení herního pocitu.
V této lekci se naučíte používat AI v QA a ladění; Naučíte se navrhovat testovací scénář, analýzu logů, automatické psaní testů a disciplínu hlášení chyb.
Vrstvy QA a místo AI
QA je vícevrstvá. Funkční testování: funguje funkce (otevře se dveře, načte se záznam). Regresní testování: narušila nová změna to, co fungovalo dříve? Testování okrajových případů: neobvyklé vstupy (resetování inventáře, dva klíče najednou, hraniční hodnoty). Testování výkonu/crash: je hra stabilní. Test hry/zkušenosti: zábavný, intuitivní. Umělá inteligence je silná v prvních čtyřech: generování scénářů, vypisování okrajových případů, psaní testovacího kódu, analýza protokolů. Poslední – zkušenost – patří člověku.
Tok QA krok za krokem:
- Generujte testovací případy (funkční a okrajový seznam případů s AI).
- Napište automatizované testování (kód pro opakované kontroly).
- Spustit a shromažďovat (protokolovat chyby, protokoly, pády).
- Analyzujte (prozkoumejte protokol a vzor chyb pomocí AI).
- Nahlásit a ověřit (jasné, reprodukovatelné hlášení o chybě; zkušební oprava).
Tip: Je těžké najít okrajové případy, protože designér hraje svou hru „správně“. Zeptejte se AI "co by hráč zkusil, kdyby chtěl prolomit tento systém?" Seznam exploitů a okrajových případů.
Automatické testování: opakování nechte na stroji
Ruční testování stejných věcí v každém vydání je únavné a náchylné k chybám. Automatizované testování vkládá tyto kontroly do kódu: vrací funkce správný výsledek pokaždé, když je volána, zda je systém v očekávaném stavu. Unity a Unreal nabízejí testovací rámce; AI je v psaní těchto testů rychlá. Je to zvláště cenné pro regresi: pokud změna naruší něco, co dříve fungovalo, test zčervená. Prohlédněte si testy, které AI vytváří, a ujistěte se, že kontrolují, co je skutečně smysluplné – prázdný test je horší než žádný.
Upozornění: Při ladění AI někdy vytváří smyšlené vysvětlení jako „pravděpodobnou příčinu“ (halucinace). Nepřijímejte příčinu chyby jen proto, že vám to řekla AI; Prokažte příčinu protokolováním, reprodukováním a testováním. Špatná diagnóza oddaluje nalezení toho pravého.
Reprodukce: srdce ladění
Prvním požadavkem pro opravu chyby je její spolehlivé reprodukování. Chybu popsanou jako „občas se stane“ nelze opravit, protože nemůžete ověřit, zda oprava fungovala. Nejcennější prací při ladění je tedy zúžení přesných podmínek, za kterých se chyba vyskytuje (které kroky, která situace, jaké načasování). Umělá inteligence to pomáhá zúžit: můžete uvést příznaky a dílčí reprodukční kroky a říci „navrhněte podmínky a strategii zúžení, které by mohly toto chování spustit“. Ale ve skutečnosti provedete zúžení spuštěním hry; AI generuje hypotézy, vy je eliminujete.
Zákeřné jsou zejména chyby související s časováním (závodní podmínky) a se stavem paměti; ty se vyskytují pouze v určitém pořadí nebo zatížení. Pro takové chyby je důležité přidat do protokolu časové razítko a informace o stavu; Umělá inteligence může analyzovat tento bohatý protokol a vidět vzorec („chyba se vždy stane, když tyto dvě události nastanou nedávno“). Pamatujte na zlaté pravidlo ladění: nejprve pochopte, pak opravte. Oprava bez pochopení chybu skryje, ale nevyřeší a často vytvoří novou chybu jinde.
tři mini pouzdra
Případ 1 — Hledání okrajových případů. V RPG tým testoval systém inventáře v „normální“ hře a myslel si, že je solidní. Řekli AI „zkuste prolomit tento inventář“ a vygenerovali 30 scénářů okrajových případů; 4 z nich byly skutečné chyby (0 dělení závaží, současné jednorázové použití). Opraveno před zveřejněním.
Případ 2 – Analýza protokolu vyřešila selhání. Hra náhodně padala; záznamy o haváriích byly stovky řádků. Když AI dostal protokoly a požádal o vzor, ukázalo se, že k havárii vždy došlo při přechodu konkrétní scény a nedostatku paměti. S tímto vodítkem programátor našel únik paměti; Četnost nehod klesla na nulu.
Případ 3 – Návrat z nesprávné diagnózy. Programátor uvěřil vysvětlení umělé inteligence, že „tato chyba je způsobena touto funkcí“ a vrtal se s tím půl dne; žádné výsledky nevyšly. Když znovu upřesnil a zaprotokoloval výrobní kroky, chyba byla úplně jinde. Ponaučení: Diagnostika AI jsou hypotézy, nikoli důkazy.
Čtyři kopírovatelné šablony
1) Generování okrajového případu/scénáře využití:
Vaše role: škodlivý tester kontroly kvality. Popisuji následující systém: [systém, pravidla]. Úkol: vyjmenujte 20 scénářů okrajových případů, které se pokusí prolomit, zneužít nebo uvrhnout tento systém do neočekávaného stavu. U každého: co zkusit, očekávaný výsledek, možná chyba.
2) Automatické psaní testu:
Motor: [Unity 2022.3 / Unreal 5.3]. Testovací rámec: [specifikujte]. Napište automatizované testy pro následující funkci/systém: [popis/kód]. Zahrňte normální případ, limitní případ a chybný vstup. Ujistěte se, že každý test ověřuje něco skutečně smysluplného; Psaní prázdných/nesmyslných testů.
3) Analýza protokolu/selhání:
Níže jsou protokoly pádů/chyb hry: [log].Úkol: označte opakující se vzorce, běžné podmínky (scéna, paměť, načasování) a možné základní příčiny. Každou příčinu uveďte jako „hypotézu, která má být prokázána“; mluvit jasně. Řekněte mi také, jak ověřit.
4) Vysvětlení chybového hlášení:
Udělejte následující vágní chybovou zprávu jasnou a reprodukovatelnou: [raw report]. Výstup: název, reprodukce krok za krokem, očekávaný výsledek, skutečný výsledek, frekvence, prostředí. Pokud informace chybí, uveďte, jaké informace jsou potřeba.
Slabá výzva / Silná výzva
Slabá výzva:
V mé hře je chyba, opravte ji.
Žádný kontext, žádný protokol, žádná reprodukce; AI je prediktivní a riziko halucinací je vysoké.
Výkonná výzva:
V mé hře Unity 2022.3 je chyba: inventář se někdy zdvojnásobí, když hráč provede rychlé uložení a načtení. Reprodukce: [kroky].Související kód: [vložit]. Log: [paste].Úkol: vyjmenujte možné kořenové příčiny jako hypotézy, které mají být prokázány, uveďte, jak je ověřit a možnou opravu pro každou.Vymyslete neexistující příčinu; Pokud si nejste jisti, dejte mi vědět.
Reprodukce, kód, protokol a požadavek „prezentovat jako hypotézu“ činí diagnózu spolehlivou.
Tabulka vrstev QA
vrstva
Co testuje?
Příspěvek AI
lidský podíl
funkční
Funguje funkce?
Skript, testovací kód
Rozhodnutí o přijetí
regrese
Je stará věc rozbitá?
automatický test
Rozhodnutí o rozsahu
extrémní případ
neobvyklý vstup
Výroba scénáře
prioritou
Havárie/výkon
odhodlání
Log analýza
Potvrzení hlavní příčiny
Zkušenosti
zábava, intuice
omezené
úplně lidské
Časté chyby
- Jen testování "normální" hry. Okrajové obaly po uvolnění explodují.
- Mylná diagnóza AI jako důkaz. Proč je prokázáno logem a testováním.
- Psaní prázdných automatických testů. Bezvýznamné testování dává iluzi důvěry.
- Nejasná zpráva o chybě. Nereprodukovatelnou chybu nelze opravit.
- Vynechání regresního testování. Každá oprava může způsobit nové chyby.
V souhrnu
QA je disciplína, díky které je hra pro hráče připravena. AI; generuje scénáře okrajových případů, zapisuje automatizované testy, analyzuje protokoly a objasňuje chybová hlášení. Ale jejich diagnózy jsou hypotézy, hodnocení zkušeností je lidské a každá náprava vyžaduje přezkoušení. Replikujte reflex „kdo to může zlomit a jak“ s AI; Sbíráte důkazy.
Aplikační úkol
Vyberte si systém ze své hry. Nechte si vygenerovat 20 scénářů pomocí šablony „generování okrajových případů/scénářů exploatace“ a skutečně otestujte 5 nejrizikovějších. Vytvořte reprodukovatelné hlášení o nalezené chybě pomocí šablony „Upřesnění hlášení o chybě“.
kontrolní seznam
- [ ] Vytvořil jsem okrajový případ s "Kdo to může zlomit a jak?"
- [ ] Napsal a zrevidoval automatizované testování pro opakované kontroly.
- [ ] Diagnózu AI jsem považoval za hypotézu a potvrdil jsem ji log/testem.
- [ ] Chyby jsem hlásil reprodukovatelně.
- [ ] Znovu jsem otestoval každou opravu na regresi.