Unità 9 / 11

Assigurazzjoni tal-Kwalità (QA), Debugging u Ittestjar Awtomatizzat

Qligħ:

  • Kapaċità li tifhem is-saffi funzjonali, tar-rigressjoni, tat-tarf u tat-test tal-ħabta u tipproduċi xenarji tat-test u listi tal-każijiet tat-tarf b'intelliġenza artifiċjali
  • Kapaċità li tħaffef id-debugging billi tikteb kodiċi tat-test awtomatiku b'intelliġenza artifiċjali u tesprimi mudelli fl-analiżi tal-log u l-ħabta
  • Li tkun kapaċi tifhem li d-dijanjosi ta 'żball ta' intelliġenza artifiċjali mhijiex evidenza iżda ipoteżi, il-kawża trid tiġi ppruvata bi zkuk u riproduzzjoni, u l-importanza li r-rapport ta 'żball ikun riproduċibbli.

Meta logħba tiġi rilaxxata, il-plejers jilagħbuha b'modi li l-iżviluppatur ma jimmaġinawx: jeħlu fil-ħitan, jisfruttaw l-inventarju, jilħqu postijiet impossibbli, jikkawżaw ħabtiet. Assigurazzjoni tal-kwalità (QA — assigurazzjoni tal-kwalità); Huwa l-proċess ta 'ttestjar sistematiku tal-logħba qabel ir-rilaxx u s-sejba u l-iffissar ta' żbalji (bugs), ħabtiet, instabbiltajiet u esperjenzi ħżiena. Din hija waħda mill-aktar rabtiet li jirrikjedu ħafna xogħol iżda kritiċi fil-produzzjoni tal-logħob. L-AI taċċellera l-QA f'ħafna punti: il-ġenerazzjoni tal-każ tat-test, l-analiżi tar-rapport tal-bug, ir-reviżjoni tal-log, il-kitba awtomatika tal-kodiċi tat-test, id-debugging, u l-irfinar tal-passi tal-produzzjoni. Iżda l-AI ma tissostitwixxix l-intwizzjoni u l-evalwazzjoni ta 'l-intwizzjoni ta' tester tal-bniedem tal-logħba jħossu.

F'din l-unità titgħallem kif tuża l-AI fil-QA u d-debugging; Int titgħallem id-disinn tax-xenarju tat-test, l-analiżi tal-log, il-kitba tat-test awtomatiku u d-dixxiplina tar-rappurtar tal-iżbalji.

Saffi ta' QA u post ta' AI

QA hija b'ħafna saffi. Ittestjar funzjonali: jaħdem il-karatteristika (tiftaħ il-bieb, jagħmel it-tagħbija tar-reġistrazzjoni). Ittestjar tar-rigressjoni: il-bidla l-ġdida kisret dak li kien qed jaħdem qabel? Ittestjar tal-każ tat-tarf: inputs mhux tas-soltu (inventarju reset, żewġ ċwievet f'daqqa, valuri tal-fruntiera). Ittestjar tal-prestazzjoni/ħabta: hija l-logħba stabbli. Test tal-logħob/esperjenza: divertenti, intuwittiv. L-AI hija b'saħħitha fl-ewwel erbgħa: il-ġenerazzjoni ta' xenarji, l-elenkar tal-każijiet tat-tarf, il-kitba tal-kodiċi tat-test, l-analiżi ta 'logs. L-aħħar—esperjenza—tappartjeni lill-bniedem.

Fluss tal-QA pass pass:

  1. Iġġenera każijiet tat-test (lista tal-każijiet funzjonali u tat-tarf bl-AI).
  2. Ikteb ittestjar awtomatizzat (kodiċi għal kontrolli ripetittivi).
  3. Mexxi u iġbor (żbalji log, zkuk, ħabtiet).
  4. Analizza (eżamina log u mudell ta 'żball bl-AI).
  5. Irrapporta u tivverifika (rapport ċar u riproduċibbli tal-bug; jiffissaw it-test).
Ħjiel: Huwa diffiċli li ssib każijiet tarf għax id-disinjatur jilgħab il-logħba tiegħu "s-sewwa." Staqsi lill-AI "x'jipprova plejer jekk ikun irid ikisser din is-sistema?" Elenka l-isfruttamenti u l-każijiet tarf.

Ittestjar awtomatiku: ħalli r-ripetizzjoni lill-magna

Ittestjar manwalment l-istess affarijiet f'kull rilaxx huwa għeja u suxxettibbli għall-iżbalji. L-ittestjar awtomatizzat ipoġġi dawn il-kontrolli f'kodiċi: funzjoni tirritorna r-riżultat korrett kull darba li tissejjaħ, hija sistema fl-istat mistenni. Unity u Unreal joffru oqfsa tal-ittestjar; L-AI hija mgħaġġla biex tikteb dawn it-testijiet. Huwa speċjalment siewi għar-rigressjoni: jekk bidla tkisser xi ħaġa li kienet qed taħdem qabel, it-test imur aħmar. Irrevedi t-testijiet li tipproduċi l-AI, u kun żgur li jiċċekkjaw għal dak li hu tassew sinifikanti — test vojt huwa agħar minn ebda test.

Attenzjoni: Fid-debugging, l-AI kultant tipproduċi spjegazzjoni magħmula bħala "kawża probabbli" (alluċinazzjoni). Taċċettax il-kawża ta 'bug sempliċement għax l-AI qallek hekk; Ipprova l-kawża billi illoggjar, riproduzzjoni, u ttestjar. Id-dijanjosi ħażina ddewwem biex issib dak it-tajjeb.

Riproduzzjoni: il-qalba tad-debugging

L-ewwel rekwiżit biex tiffissa bug huwa li tirriproduċiha b'mod affidabbli. Bug deskritt bħala "jiġri kultant" ma jistax jiġi rranġat għaliex ma tistax tivverifika jekk is-soluzzjoni ħadmitx. Allura l-aktar xogħol siewi ta 'debugging huwa li jonqos il-kundizzjonijiet eżatti li taħthom iseħħ il-bug (liema passi, liema sitwazzjoni, liema ħin). L-AI tgħin biex tnaqqas dan: tista 'tagħti s-sintomi u l-passi ta' riproduzzjoni parzjali u tgħid "jissuġġerixxi kundizzjonijiet u strateġija ta' tidjiq li jistgħu jikkawżaw din l-imġieba." Imma fil-fatt tagħmel it-tidjiq billi tmexxi l-logħba; L-AI tiġġenera ipoteżi, int teliminahom.

Speċjalment l-iżbalji relatati mal-ħin (kundizzjoni tar-razza) u l-istat tal-memorja huma insidjużi; dawn iseħħu biss f'sekwenza jew tagħbija partikolari. Għal żbalji bħal dawn, huwa kritiku li żżid it-timbru taż-żmien u l-informazzjoni dwar l-istatus fir-reġistru; L-AI tista' tanalizza dan il-ġurnal għani u tara l-mudell ("l-iżball dejjem jiġri meta dawn iż-żewġ avvenimenti jseħħu reċentement"). Ftakar ir-regola tad-deheb tad-debugging: l-ewwel tifhem, imbagħad issolvi. Korrezzjoni mingħajr fehim taħbi l-iżball iżda ma ssolvihx u ħafna drabi toħloq żball ġdid x'imkien ieħor.

tliet każijiet żgħar

Każ 1 — Kaċċa fil-każ tat-tarf. F'RPG, it-tim ittestja s-sistema tal-inventarju f'logħba "normali" u ħasbu li kienet solida. Huma kellhom l-AI jgħidu "jippruvaw jaqbdu dan l-inventarju" u ġġeneraw 30 xenarju ta 'każ tat-tarf; 4 minn dawn kienu żbalji veri (0 qsim tal-oġġett tal-piż, li jintremew fl-istess ħin). Ikkoreġut qabel il-pubblikazzjoni.

Każ 2 — L-analiżi tal-log issolvi l-ħabta. Logħba kienet tiġġarraf bl-addoċċ; crash logs kienu mijiet ta 'linji. Meta l-AI ingħata z-zkuk u talbet il-mudell, ġie żvelat li l-ħabta dejjem seħħet fi transizzjoni ta 'xena speċifika u memorja baxxa. B'din il-ħjiel, il-programmatur sab it-tnixxija tal-memorja; Ir-rata tal-ħabta niżlet għal żero.

Każ 3 — Ritorn minn dijanjosi żbaljata. Programmatur fdat l-ispjegazzjoni tal-AI li "dan l-iżball huwa kkawżat minn din il-funzjoni" u tħawwad magħha għal nofs ġurnata; ma ħarġu l-ebda riżultat. Meta reġa' ċċara u illoggja l-passi tal-produzzjoni, l-iżball kien f'post kompletament differenti. Lezzjoni: Dijanjostiċi tal-AI huma ipoteżi, mhux prova.

Erba' mudelli li jistgħu jiġu kkupjati

1) Ġenerazzjoni ta' xenarju ta' każ ta' xifer/esplojtazzjoni:

Ir-rwol tiegħek: tester malizzjuż tal-QA. Niddeskrivi s-sistema li ġejja: [sistema, regoli]. Kompitu: elenka 20 xenarju ta' każ ta' tarf li se jippruvaw ikissru, jisfruttaw, jew jitfgħu din is-sistema fi stat mhux mistenni. Għal kull wieħed: x'għandek tipprova, riżultat mistenni, żball possibbli.

2) Kitba tat-test awtomatizzata:

Magna: [Unità 2022.3 / Unreal 5.3]. Qafas tat-test: [speċifika]. Ikteb testijiet awtomatizzati għall-funzjoni/sistema li ġejja: [deskrizzjoni/kodiċi].Inkludi każ normali, każ limitu, u input difettuż. Kun żgur li kull test jivverifika xi ħaġa tassew sinifikanti; Kitba ta' testijiet vojta/bla sens.

3) Analiżi tal-log/ħabta:

Hawn taħt jinsabu r-reġistri tal-ħabta/iżbalji tal-logħba: [log].Kompitu: immarka mudelli rikorrenti, kundizzjonijiet komuni (xena, memorja, ħin), u kawżi ewlenin possibbli. Ippreżenta kull kawża bħala "ipoteżi li trid tiġi ppruvata"; titkellem ċar. Għidli wkoll kif nivverifika.

4) Kjarifika tar-rapport tal-bug:

Agħmel ir-rapport ta' żball vag li ġej ċar u riproduċibbli: [rapport mhux ipproċessat]. Output: titolu, riproduzzjoni pass pass, riżultat mistenni, riżultat attwali, frekwenza, ambjent. Jekk ikun hemm informazzjoni nieqsa, elenka liema informazzjoni hija meħtieġa.

Pront dgħajjef / Pront qawwi

Pront dgħajjef:

Hemm bug fil-logħba tiegħi, waħħalha.

L-ebda kuntest, l-ebda log, l-ebda riproduzzjoni; L-AI hija ta' tbassir u r-riskju ta' alluċinazzjonijiet huwa għoli.

Pront qawwi:

Hemm bug fil-logħba tiegħi Unity 2022.3: l-inventarju kultant jirdoppja meta l-plejer iwettaq tagħbija ta' salvataġġ malajr. Riproduzzjoni: [passi].Kodiċi relatat: [pejst]. Log: [pejst].Kompitu: elenka l-kawżi ewlenin possibbli bħala ipoteżijiet li jridu jiġu ppruvati, agħti kif tivverifika u rranġa possibbli għal kull wieħed. Tagħmel kawża ineżistenti; Jekk m'intix ċert, għarrafni.

Riproduzzjoni, kodiċi, log u "preżenti bħala ipoteżi" talba jagħmlu d-dijanjosi affidabbli.

Tabella tas-saff tal-QA

saff

X'jittestja?

Kontribuzzjoni AI

sehem uman

funzjonali

Il-karatteristika taħdem?

Script, kodiċi tat-test

Deċiżjoni tad-dħul

rigressjoni

Il-ħaġa l-qadima hija miksura?

test awtomatiku

Deċiżjoni dwar l-ambitu

każ estrem

input mhux tas-soltu

Produzzjoni ta' skript

prijorità

Crash/prestazzjoni

determinazzjoni

Analiżi log

Konferma tal-kawża ewlenija

Esperjenza

divertiment, intwizzjoni

limitati

kompletament uman

Żbalji komuni

  • Just ittestjar "normali" gameplay. Każijiet tat-tarf jisplodu wara r-rilaxx.
  • Id-dijanjosi tal-AI qed tiżbalja bħala prova. Għaliex huwa ppruvat bil-log u l-ittestjar.
  • Kitba ta' testijiet awtomatizzati vojta. Ittestjar bla sens jagħti l-illużjoni ta 'kunfidenza.
  • Rapport vag tal-bug. Żball mhux riproduċibbli ma jistax jiġi kkoreġut.
  • Taqbeż l-ittestjar tar-rigressjoni. Kull korrezzjoni tista' tikkawża żbalji ġodda.

Fil-qosor

QA hija d-dixxiplina li tagħmel il-logħba lesta għall-plejer. AI; jiġġenera xenarji ta 'każijiet tarf, jikteb testijiet awtomatizzati, janalizza zkuk u jiċċara rapporti ta' żbalji. Iżda d-dijanjosi tagħhom huma ipoteżijiet, l-evalwazzjoni tal-esperjenza hija umana, u kull korrezzjoni teħtieġ test mill-ġdid. Irreplika r-rifless "min jista' jkisser dan u kif" bl-AI; Inti tiġbor l-evidenza.

Kompitu ta' applikazzjoni

Agħżel sistema mil-logħba tiegħek. Ikollha 20 xenarju ġġenerat bil-mudell ta '"ġenerazzjoni ta' xenarju ta 'każ tarf/esplojtazzjoni" u fil-fatt ittestja l-5 l-aktar riskjużi. Oħloq rapport riproduċibbli għal bug li ssib bil-mudell "Raffinament tar-rapport tal-bug".

lista ta' kontroll

  • [ ] Ħloqt każ tarf b'"Min jista' jkisser dan u kif?"
  • [ ] Kiteb u rrevediet ittestjar awtomatizzat għal kontrolli rikorrenti.
  • [ ] Jien ikkunsidrajt id-dijanjosi tal-AI bħala ipoteżi u ppruvajtha b'log/test.
  • [ ] Irrapportajt żbalji b'mod riproduċibbli.
  • [ ] Ittestjajt mill-ġdid kull soluzzjoni għal rigressjoni.