Dobički:
- Sposobnost preoblikovanja razpršenih opazovanj v poročilo z jasnim naslovom, determinističnimi koraki reprodukcije, pričakovanimi/dejanskimi rezultati in dokazi s podporo umetne inteligence
- Umetni inteligenci je mogoče vsiliti pravilo "uporabi samo informacije, ki jih dam, ne izmišljujem" in zagotoviti ponovljivost z lastnim nadzorom
- Znati razlikovati med resnostjo (tehnični vpliv) in prioriteto (nujnost poslovanja) ter dati končno oznako s poslovnim kontekstom
Napaka, ki jo odkrije preizkuševalec, je dragocena le, če je odpravljena; Popravljanje je v veliki meri odvisno od kakovosti poročila o napaki – zapisa, ki dokumentira napako na način, ki ga lahko razvijalec razume, reproducira in popravi. Slabo napisano poročilo o napaki (»prijava ne deluje«) bo razvijalca ustavilo ure in ure, vodilo do dopisovanja naprej in nazaj in se pogosto zaprlo kot »ni mogoče reproducirati«. Dobro poročilo vključuje jasne korake, pričakovane in dejanske rezultate, informacije o kontekstu in dokaze. Umetna inteligenca (AI) je zelo dobra pri spreminjanju vaših razpršenih opazovanj v profesionalno, strukturirano poročilo. Toda osrednje opozorilo velja tudi tukaj: AI ne more narediti korakov, ki jih ne vidite; lahko zapolni manjkajoče informacije z »na videz razumnimi«, vendar netočnimi ugibanji. Vaša naloga je zagotoviti, da vsaka vrstica poročila temelji na tem, kar ste dejansko opazili.
Anatomija dobrega poročila o napakah
Učinkovito poročilo vključuje te komponente:
- Naslov: Kratek, natančen, iskalen. Ne "Prišlo je do napake"; »Gumba »Na blagajno« ni mogoče klikniti z več kot 10 izdelki v košarici (Chrome)«.
- Koraki za reprodukcijo: oštevilčeni, sledljivi od začetka, deterministični. Razvijalec bi moral po teh korakih videti napako.
- Pričakovani rezultat: Kaj bi se moralo zgoditi glede na merila sprejemljivosti.
- Dejanski rezultat: Kaj se je zgodilo (sporočilo o napaki, zaslon, vedenje).
- Okolje: Brskalnik/naprava, različica, okolje (test/v živo), uporabniška vloga, podatki.
- Dokazi: Posnetek zaslona, videoposnetek, dnevnik, sled napak (sled sklada).
- Resnost in prioriteta: Podrobnosti spodaj.
Nasvet: Preden pošljete poročilo, vprašajte "če te korake dam komu drugemu, ali lahko vidi napako brez moje pomoči?" vprašaj. Če je odgovor "ne", je poročilo nepopolno. Umetna inteligenca lahko naredi poročilo čudovito, vendar lahko samo vi zagotovite ponovljivost.
Nasilje in prednost: dva zmedena pojma
Resnost je tehnični učinek napake: ali se sistem zruši, so podatki izgubljeni ali gre za tipkarsko napako? Prednost je, kako nujno je treba popraviti; gre za poslovni vpliv. Oboje ne gre vedno v isto smer: napačno črkovanje imena podjetja na domači strani je nizke resnosti, vendar ima visoko prioriteto (ugled). V redkih robnih primerih je lahko zrušitev zelo resna, vendar nizke prioritete. Umetna inteligenca vam pomaga narediti to razliko, ko podate opazko; a končno oznako daš ti, ki poznaš poslovni kontekst.
nasilje
primer
prioriteta
primer
Kritično (blokator)
Plačila ni mogoče dokončati
Nujno (P1)
Izguba dohodka v živo
Visoko (glavno)
Poročilo vsebuje napačno skupno vrednost
Visoko (P2)
Obvezen za prihajajočo izdajo
Srednje (manjše)
Redka napaka robnega primera
Srednje (P3)
V načrtnem sprintu
Nizko (trivialno)
Poravnava gumbov je izklopljena
Nizka (P4)
Ko je možnost
Šibek poziv/močan poziv
Slabo: "Prijavi to napako: plačilo ne deluje."
Strong: "Prevedi moja opažanja spodaj v standardno obliko poročila o hroščih: naslov, koraki reprodukcije (oštevilčeni), pričakovani rezultat, dejanski rezultat, okolje, resnost in prednostno priporočilo (utemeljeno). Uporabi samo informacije, ki jih posredujem; dopolni vsa manjkajoča polja, označi 'INFORMACIJE MANJKAJO: ...'. Opažanja: Chrome 120, testno okolje, 12 elementov v košarici, nič se ne zgodi, ko pritisnem 'Na blagajno', Napaka 'nedefinirano ni funkcija' v konzoli, z 11 izdelki ni težav."
Močan poziv; določa obliko, pravilo "prileganja" in označevanje manjkajočih informacij. Tako bo poročilo natančno in pošteno.
Odkrivanje podvojenih napak
V velikih ekipah se vedno znova poroča o isti napaki. Umetna inteligenca lahko primerja vaše novo poročilo z obstoječimi odprtimi hrošči in označi morebitne dvojnike – to ohranja vaš sistem za sledenje hroščem (Jira, Azure DevOps, GitHub Issues) čist. Toda pozor: dve napaki, ki sta na videz podobni, imata lahko različne vzroke; Primerjajte ponovljene proizvodne korake in okolje obeh poročil, preden zaprete "dvojnik" predloga AI. Nenamerno zaprtemu "dvojniku" dejansko manjka ločena napaka.
Od sledi hrošča do temeljnega vzroka: Moč umetne inteligence za branje dnevnikov
Najbolj tehnični del poročila o napaki je pogosto sled napake (sled sklada – razčlenitev, katera vrstica kode, s katero verigo klicev je sprožila napako). Dolgi in zapleteni dnevniki lahko utrudijo celo razvijalca. AI prebere dnevnik več sto vrstic in v nekaj sekundah povzame najbolj kritične vrstice, možno hipotezo o vzroku in kodno točko, kjer se je napaka sprožila. To skrajša poročilo in daje razvijalcu neposredno izhodišče.
Ne pozabite pa na dve omejitvi. Prvič, glavni vzrok, ki ga navaja AI, je hipoteza, ne dokaz; Razvijalec tega ne bi smel poskušati popraviti, ne da bi to preveril. Drugič, dnevniki pogosto vsebujejo osebne podatke (e-pošta, ID uporabnika, žeton seje); Zakrijte te predele, preden postavite hlod na vozilo. Dobra praksa je, da AI najprej reče "seznam polj, ki jih je treba maskirati v tem dnevniku" in nato analizira očiščen dnevnik.
Namig: Namesto da prilepite celoten dnevnik v poročilo, vključite najbolj kritičnih 3-5 vrstic, ki jih AI povzame, in povezavo do celotnega dnevnika. Tako poročilo ostane berljivo, razvijalec, ki potrebuje podrobnosti, pa lahko dostopa do celotnega dnevnika.
Štiri predloge za kopiranje
1) Od opazovanja do poročila:
Vaša vloga: višji QA. Prevedite naslednja neobdelana opažanja v standardno poročilo o napakah: Naslov / Koraki reprodukcije (oštevilčeni) / Pričakovano / Dejansko / Okolje / Opomba o dokazih / Resnost + Prednost (utemeljeno). PRAVILO: uporabljajte samo informacije, ki jih posredujem; označite manjkajoče polje kot "MANJKAJOČE INFORMACIJE:..." Opažanja: [neobdelane opombe]
2) Nadzor obnovljivosti:
Read this bug report from the perspective of a developer who has never seen the bug. Follow the steps and mark the places where it won't produce the bug: ambiguous step, missing prerequisite, missing test data, skipped condition. Povejte mi, katere informacije naj dodam za vsako vrzel. Report: [paste report]
3) Svetovalec za resnost/prednost:
Opisujem naslednjo napako: [napaka + poslovni kontekst]. Give suggestions and justification separately for severity (technical impact) and priority (business urgency). Pojasnite, zakaj sta lahko različna. Končno odločitev bom sprejel jaz.
4) Povzetek sledenja dnevnika/napake:
Preglejte spodnjo sled/dnevnik napak. Podajte mi povzetek (1) hipoteze o glavnem vzroku, (2) verjetne kodne točke, kjer je prišlo do napake, (3) 3 najbolj kritične vrstice, ki jih je treba dodati v poročilo. Maska, če obstajajo osebni podatki. Dnevnik: [prilepi dnevnik]
trije mini kovčki
1. primer – Osvoboditev od »Nisem mogel producirati«. V eni ekipi je bilo 30 % hroščev zaprtih kot "ni mogoče reproducirati". V postopek poročila je bila dodana predloga "preverjanje ponovljivosti"; Preden je bilo poslano vsako poročilo, je AI označil manjkajoče korake in predpogoje. Tri mesece pozneje je stopnja "ni mogel proizvesti" padla s 30 % na 8 %. Razlika je bila v tem, da so bili koraki od začetka natančni.
Primer 2 – Nevarnost lažnih korakov. Tester je AI napisal poročilo z nepopolnimi opažanji; AI je dodal korak, ki se nikoli ni zgodil, na primer "uporabnik vklopi obvestila s strani z nastavitvami". Ko je razvijalec sledil temu koraku, ni mogel najti napake in je izgubil čas. Ekipa je uveljavila pravilo "uporabi samo informacije, ki jih dam, ne izmišljujem"; Izmišljeni koraki so odpravljeni.
Primer 3 – Razlikovanje med resnostjo in prednostjo. V sloganu podjetja na domači strani je prišlo do tipkarske napake. Tester bi to oddal kot "nizko"; Svetovalec za umetno inteligenco je spomnil, da je tehnično nasilje malo, vendar je prednost poslovanja visoka (element ugleda, ki ga prejme vsak obiskovalec). Napaka je bila odpravljena še isti dan z oznako "visoka prioriteta".
Pogoste napake
- Nejasen naslov. Nediskriminatorni naslovi, ki jih ni mogoče iskati, kot je "Ne deluje".
- Manjkajoči/preskočeni koraki. Ne pisanje tistega, kar je očitno v vašem kontekstu; neuspeh razvijalca pri izdelavi.
- Pustite AI, da se izmisli. Izpolnitev manjkajočih informacij z "razumno oceno"; napačni koraki.
- Ne napišem pričakovanega rezultata. Reči "narobe", vendar ne navesti, kaj je prav.
- Zamenjajo nasilje in prednost. Zamenjati oba kot eno oznako; Napačna ocena vpliva na poslovanje.
- Občutljivi podatki v dokazih. Deljenje resničnih osebnih podatkov v posnetkih zaslona/dnevnikih brez njihovega prikrivanja.
Če povzamem
Vrednost poročila o napaki je v tem, da lahko razvijalec ponovi in popravi napako brez vaše pomoči. Umetna inteligenca je zelo dobra pri spreminjanju razpršenih opazovanj v profesionalno, strukturirano poročilo; Organizira naslov, korake, pričakovani/dejanski rezultat, okolje in dokaze ter nudi svetovanje o razlikovanju med resnostjo in prednostjo. Toda AI lahko nadomesti manjkajoče informacije; Uveljavite pravilo "uporabi samo informacije, ki jih dam, označi manjkajoče" in sami zagotovite ponovljivost. Zakrijte osebne podatke v dokazih.
Aplikacijska naloga
Vzemite hrošč, ki ste ga pred kratkim našli, in pretvorite svoja neobdelana opažanja v poročilo z uporabo vzorca "opazovanje v poročilo" (s pravilom "prilagajanja"). Nato izvedite "preverjanje obnovljivosti" in zapolnite označene vrzeli. Predajte poročilo kolegu in preverite, ali lahko napako prikaže brez vaše pomoči. Finally, determine the labels with the "violence/priority consultant" and finalize it at your own discretion. Upoštevajte vse informacije, ki jih umetna inteligenca poskuša pridobiti v procesu.
kontrolni seznam
- [ ] Moj naslov je specifičen in ga je mogoče iskati.
- [ ] Reproduction steps are from scratch, deterministic and complete.
- [ ] Ločeno sem napisal pričakovane in dejanske rezultate.
- [ ] The setting and evidence information is complete; I masked personal data.
- [ ] I imposed the "make it up, mark the missing" rule on the AI and filled in the gaps myself.
- [ ] I evaluated the severity and priority separately and made the final decision.