Jedinica 7 / 11

Pisanje izvještaja o greškama i određivanje prioriteta: jasni, ponovljivi zapisi sa AI

Dobici:

  • Sposobnost transformacije raštrkanih zapažanja u izvještaj koji sadrži jasan naslov, determinističke korake reprodukcije, očekivane/stvarne rezultate i dokaze uz podršku umjetne inteligencije
  • Mogućnost nametanja pravila 'koristite samo informacije koje dajem, nemojte ih izmišljati' umjetnoj inteligenciji i jamčiti reproducibilnost s vlastitom kontrolom
  • Biti u stanju razlikovati ozbiljnost (tehnički utjecaj) i prioritet (poslovna hitnost) i dati konačnu oznaku s poslovnim kontekstom

Greška koju tester pronađe je vrijedna samo ako je popravljena; Ispravljanje u velikoj mjeri zavisi od kvaliteta izvještaja o grešci – zapisa koji dokumentira defekt na način da ga programer može razumjeti, reprodukovati i popraviti. Loše napisan izvještaj o grešci („prijava ne radi“) će satima odugovlačiti programera, dovesti do prepiske naprijed-nazad i često zatvoriti kao „ne može se reproducirati“. Dobar izvještaj uključuje jasne korake, očekivane i stvarne rezultate, informacije o kontekstu i dokaze. Umjetna inteligencija (AI) je vrlo dobra u pretvaranju vaših raštrkanih zapažanja u profesionalni, strukturirani izvještaj. Ali centralno upozorenje vrijedi i ovdje: AI ne može napraviti korake koje ne vidite; može popuniti informacije koje nedostaju "razumnim", ali netačnim nagađanjima. Vaš posao je da se pobrinete da svaki red izvještaja bude zasnovan na onome što ste zapravo primijetili.

Anatomija dobrog izvještaja o grešci

Efikasan izvještaj uključuje ove komponente:

  • Naslov: Kratak, specifičan, pretraživ. Ne "Postoji greška"; "Nije moguće kliknuti na dugme 'Naplata' sa više od 10 artikala u korpi (Chrome)".
  • Koraci za reprodukciju: Numerirani, sljedljivi od nule, deterministički. Programer bi trebao moći vidjeti grešku nakon što slijedi ove korake.
  • Očekivani rezultat: Šta je trebalo da se desi prema kriterijumima prihvatanja.
  • Stvarni rezultat: Šta se dogodilo (poruka o grešci, ekran, ponašanje).
  • Okruženje: Preglednik/uređaj, verzija, okruženje (test/uživo), korisnička uloga, podaci.
  • Dokazi: Snimak ekrana, video, zapisnik, praćenje greške (trag steka).
  • Ozbiljnost i prioritet: Detaljno u nastavku.
Savjet: Prije slanja izvještaja, pitajte "ako dam ove korake nekom drugom, može li vidjeti grešku bez moje pomoći?" pitaj. Ako je odgovor "ne", izvještaj je nepotpun. AI može učiniti izvještaj lijepim, ali samo vi možete garantirati ponovljivost.

Nasilje i prioritet: dva zbrkana koncepta

Ozbiljnost je tehnički efekat greške: da li se sistem ruši, podaci su izgubljeni ili je greška u kucanju? Prioritet je koliko hitno to treba popraviti; radi se o uticaju na poslovanje. To dvoje ne ide uvijek u istom smjeru: pogrešno napisano ime kompanije na početnoj stranici je niske ozbiljnosti, ali visokog prioriteta (reputacija). U rijetkim rubnim slučajevima, kolaps može biti velike težine, ali niskog prioriteta. AI vam pomaže da napravite ovu razliku kada date zapažanje; ali konačnu oznaku dajete vi koji poznajete poslovni kontekst.

nasilje

primjer

prioritet

primjer

Kritičan (blokator)

Plaćanje se ne može izvršiti

Hitno (P1)

Gubitak prihoda u životu

visoko (glavno)

Izvještaj daje netačan ukupni iznos

visoka (P2)

Obavezno za predstojeće izdanje

srednji (manji)

Rijetka greška u slučaju ruba

srednji (P3)

U planiranom sprintu

nisko (trivijalno)

Poravnanje dugmadi je isključeno

nisko (P4)

Kada postoji prilika

Slaba prompt / Jaka prompt

Slabo: "Prijavite ovu grešku: plaćanje ne radi."
Snažno: "Prevedite moja zapažanja u nastavku u standardni format izvještaja o greškama: naslov, koraci reprodukcije (numerisani), očekivani rezultat, stvarni rezultat, okruženje, ozbiljnost i preporuka za prioritet (opravdano). Koristite samo informacije koje ja dam; nadopunite sva polja koja nedostaju, označite 'INFORMACIJA NEDOSTAJE: ...'. Zapažanja: Chrome 120, okruženje za testiranje, 12 stavki se ne dogodi', C se ne dogodi ništa' 'nedefinirano nije funkcija' greška u konzoli, nema problema sa 11 proizvoda."

Snažan prompt; nameće format, pravilo "prilagođavanja" i označavanje informacija koje nedostaju. Na ovaj način izvještaj će biti i tačan i pošten.

Otkrivanje duplih grešaka

U velikim timovima ista greška se prijavljuje iznova i iznova. AI može uporediti vaš novi izvještaj sa postojećim otvorenim greškama i označiti potencijalne duplikate — ovo održava vaš sistem praćenja grešaka (Jira, Azure DevOps, GitHub problemi) čistim. Ali pazite: dvije greške koje izgledaju slične na površini mogu imati različite uzroke; Uporedite ponovljene proizvodne korake i okruženje oba izveštaja pre nego što zatvorite „duplikat“ predloga veštačke inteligencije. Slučajno zatvorenom "duplikatu" zapravo nedostaje posebna greška.

Od praćenja grešaka do osnovnog uzroka: moć AI za čitanje dnevnika

Najtehničkiji dio izvještaja o grešci često je praćenje greške (praćenje steka — raščlanjivanje koje linije koda, sa kojim lancem poziva je pokrenulo grešku). Dugi i složeni dnevnici mogu umoriti čak i programere. AI čita dnevnik od stotina redova i sažima u sekundama najkritičnije redove, hipotezu mogućeg osnovnog uzroka i kodnu točku u kojoj je greška pokrenuta. Ovo istovremeno skraćuje izvještaj i daje programeru direktnu početnu tačku.

Ipak, zapamtite dvije granice. Prvo, osnovni uzrok koji daje AI je hipoteza, a ne dokaz; Programer ne bi trebao pokušavati popraviti ovo bez provjere. Drugo, zapisnici često sadrže lične podatke (e-mail, korisnički ID, token sesije); Zamaskirajte ova područja prije postavljanja trupaca na vozilo. Dobra praksa je da prvo AI kaže "nabroj polja koja treba da budu maskirana u ovom dnevniku", a zatim analizira očišćeni dnevnik.

Savjet: Umjesto lijepljenja cijelog dnevnika u izvještaj, uključite najkritičnijih 3-5 redaka koje AI sumira i vezu do cijelog dnevnika. Na ovaj način izvještaj ostaje čitljiv, a programer koji treba detalje može pristupiti cijelom dnevniku.

Četiri šablona za kopiranje

1) Od posmatranja do izvještaja:

Vaša uloga: viši QA. Prevedite sljedeća neobrađena zapažanja u standardni izvještaj o grešci: Naslov / Koraci reprodukcije (numerisani) / Očekivani / Stvarni / Okruženje / Napomena o dokazima / Ozbiljnost + Prioritet (opravdano). PRAVILO: koristiti samo informacije koje ja dam; označi polje koje nedostaje kao "INFORMACIJE NEDOSTAJE:..." Zapažanja: [neobrađene bilješke]

2) Kontrola reproduktivnosti:

Pročitajte ovaj izvještaj o grešci iz perspektive programera koji nikada nije vidio grešku. Slijedite korake i označite mjesta na kojima neće proizvesti grešku: dvosmislen korak, nedostajući preduvjet, nedostaju testni podaci, preskočeni uvjet. Recite mi koje informacije treba da dodam za svaku prazninu. Izvještaj: [zalijepi izvještaj]

3) Savjetnik za ozbiljnost/prioritet:

Opisujem sljedeću grešku: [greška + poslovni kontekst]. Dajte prijedloge i obrazloženje odvojeno za ozbiljnost (tehnički utjecaj) i prioritet (poslovna hitnost). Objasnite zašto se to dvoje može razlikovati. Ja ću donijeti konačnu odluku.

4) Sažetak praćenja zapisnika/greške:

Ispitajte trag greške/log u nastavku. Dajte mi sažetak (1) hipoteze o osnovnom uzroku, (2) vjerovatne kodne točke gdje se greška dogodila, (3) 3 najkritičnije linije koje treba dodati izvještaju. Maska ako postoje lični podaci.Log: [zalijepi dnevnik]

tri mini kofera

Slučaj 1 — Oslobađanje od „nisam mogao proizvesti“. U jednom timu, 30% grešaka je zatvoreno jer se "ne mogu reprodukovati". Predložak "provjera obnovljivosti" dodat je procesu izvještaja; Prije slanja svakog izvještaja, AI je označio nedostajuće korake i preduslove. Tri mjeseca kasnije, stopa "nije mogao proizvesti" pala je sa 30% na 8%. Razlika je bila u tome što su koraci bili tačni od početka.

Slučaj 2 — Opasnost od lažnih koraka. Tester je dao AI da napiše izvještaj s nepotpunim zapažanjima; AI je dodao korak koji se nikada nije dogodio, kao što je "korisnik uključuje obavještenja sa stranice postavki". Kada je programer slijedio taj korak, nije mogao pronaći grešku i izgubio je vrijeme. Tim je nametnuo pravilo "koristi samo informacije koje dam, ne izmišljaj ih"; Izmišljeni koraci su eliminisani.

Slučaj 3 — Razlika između ozbiljnosti/prioriteta. Došlo je do greške u kucanju u sloganu kompanije na početnoj stranici. Tester bi ovo procijenio kao "nisko"; AI konsultant je podsjetio da je tehničko nasilje nisko, ali je poslovni prioritet visok (element reputacije koji svaki posjetitelj dobiva). Greška je ispravljena istog dana sa oznakom "visok prioritet".

Uobičajene greške

  • Nejasan naslov. Nepretraživi, ​​nediskriminirajući naslovi poput "Ne radi".
  • Nedostaju/preskočeni koraci. Ne pisati ono što je očigledno u vašem kontekstu; neuspjeh programera da proizvede.
  • Pustiti AI da to nadoknadi. Popuniti informacije koje nedostaju sa "razumnom procjenom"; pogrešni koraci.
  • Ne piše očekivani rezultat. Reći "pogrešno", ali ne precizirati šta je ispravno.
  • Brkanje nasilja i prioriteta. Pogrešiti ovo dvoje kao jednu etiketu; Pogrešna procjena uticaja na poslovanje.
  • Osjetljivi podaci u dokazima. Dijeljenje stvarnih ličnih podataka u snimcima ekrana/logovima bez njihovog maskiranja.

Ukratko

Vrijednost izvještaja o grešci je u tome što programer može reproducirati i popraviti grešku bez vaše pomoći. AI je vrlo dobar u pretvaranju raštrkanih zapažanja u profesionalni, strukturirani izvještaj; Organizuje naslov, korake, očekivani/stvarni rezultat, okruženje i dokaze i pruža konsultacije o razlikovanju između ozbiljnosti i prioriteta. Ali AI može nadoknaditi informacije koje nedostaju; Provedite pravilo "koristite samo informacije koje dam, označite nedostajuće" i sami garantirajte ponovljivost. Maskirajte lične podatke kao dokaz.

Zadatak aplikacije

Uzmite grešku koju ste nedavno pronašli i pretvorite svoja neobrađena zapažanja u izvještaj koristeći obrazac "zapažanja za izvješće" (sa pravilom "prilagođavanja"). Zatim izvršite “provjeru reproduktivnosti” i popunite označene praznine. Dajte izvještaj kolegi i pogledajte može li napraviti grešku bez vaše pomoći. Konačno, odredite oznake sa "nasiljem/prioritetnim konsultantom" i finalizirajte ih prema vlastitom nahođenju. Zabilježite sve informacije koje AI pokušava nadoknaditi u tom procesu.

kontrolna lista

  • [ ] Moj naslov je specifičan i pretraživ.
  • [ ] Koraci reprodukcije su od nule, deterministički i potpuni.
  • [ ] Napisao sam očekivane i stvarne rezultate odvojeno.
  • [ ] Informacije o podešavanju i dokazima su potpune; Sakrio sam lične podatke.
  • [ ] Nametnuo sam AI pravilo "nadoknadi, označi nedostajuće" i sam popunio praznine.
  • [ ] Zasebno sam procijenio ozbiljnost i prioritet i donio konačnu odluku.