Enota 2 / 11

Testni scenarij in generiranje testnega primera: od zahteve do celovitega nadzora

Dobički:

  • Sposobnost preoblikovanja zahteve in kriterijev sprejemljivosti v celovite testne primere s tehnikami, kot so razredi enakovrednosti, analiza mejnih vrednosti in tabele odločitev, s podporo umetne inteligence
  • Sposobnost ločene izdelave pozitivnih, negativnih in robnih scenarijev ter dopolnjevanja robnih primerov, ki jih je umetna inteligenca zamudila, z informacijami o izdelku
  • Sposobnost vzpostavitve sledljivosti in odprave vrzeli v pokritosti in nepotrebnega napihnjenja s povezovanjem testnih primerov z merili sprejemljivosti

Delo preizkuševalca se pogosto začne s tem praznim listom: ima zahtevo ("uporabnik mora imeti možnost ponastaviti svoje geslo") in ta en sam stavek mora spremeniti v desetine konkretnih preverjanj, ki bodo dokazala, da programska oprema dejansko deluje pravilno. To preoblikovanje imenujemo testno načrtovanje. Poznavanje razlike med testnim scenarijem – ciljem na visoki ravni, ki opisuje, kaj testirati, na primer »neveljavno geslo je treba zavrniti« – in testnim primerom – izvršljivo enoto, ki ta scenarij podrobno opisuje s konkretnimi koraki, vnosom in pričakovanim izidom, je ključnega pomena. Umetna inteligenca (AI) pospeši prav ta trenutek prazne strani: eno zahtevo v nekaj sekundah spremeni v desetine osnutkov scenarijev. Vendar ne pozabite – AI posnema situacije, ki si jih lahko zamislite; S svojim znanjem o izdelkih izberete, katere situacije so res pomembne.

V tej enoti se boste korak za korakom naučili, kako spremeniti zahtevo v obsežen, vendar neobremenjen preskusni paket s podporo AI.

Korak za korakom: od zahteve do testnega niza

1. korak — Pojasnite zahtevo. Zberite merila sprejemljivosti (pogoje, ki jih mora delo izpolnjevati, da se šteje za "opravljeno"), preden AI podate neobdelano zahtevo. "Geslo mora biti ponastavljivo" ni dovolj; Pravila, kot so "povezava za ponastavitev velja 30 minut", "istega gesla ni mogoče ponovno uporabiti", so vir pravega testa.

2. korak — Izvedite tehnike testiranja. Ne recite samo "napišite scenarij" o AI; Vprašajte za klasične tehnike oblikovanja testov po imenu:

  • Razredi enakovrednosti (razdelitev enakovrednosti): razdelitev vhodov v skupine, za katere se pričakuje, da bodo povzročile enako vedenje. Za starostno polje so na primer razredi »veljaven obseg«, »premajhen« in »prevelik«; Zadostuje preizkus enega primera iz vsakega razreda.
  • Analiza mejnih vrednosti: Testiranje mejnih vrednosti na podlagi dejstva, da se napake največ pojavljajo na mejah. To je tako, kot če bi ločeno testirali 17, 18, 19 za starostno mejo 18 let.
  • Tabela odločitev: Tabela kombinacij več pogojev in pričakovanega rezultata vsake kombinacije.
  • Prehod stanja: Preizkušanje prehodov sistema iz stanja v stanje (na primer naročilo: ustvarjeno → plačano → odposlano) in neveljavni prehodi.

3. korak — Ločite pozitivna, negativna in robna stanja. Zahtevajte pozitiven test (pričakovan rezultat s pravilnim vnosom), negativen test (pravilna napaka z neveljavnim vnosom) in robni primer – mejni ali nenavadni primeri. AI na splošno poudarja pozitivno; Negativni in robni primeri so nepopolni, razen če jih izrecno zahtevate.

4. korak — Določite prednost in obrežite. AI lahko ustvari 60 scenarijev; Niso vse enake vrednosti. Dajte prednost tistim z visokim tveganjem (denar, varnost, izguba podatkov) in združite tiste, ki so dvojniki.

Namig: pošljite ločeno zahtevo AI z navedbo "generirajte 5 nepredstavljivih robnih primerov iz te zahteve". Najdragocenejši prispevek umetne inteligence je, da vas pogosto opomni na izredne situacije, ki ste jih spregledali.

Šibek poziv/močan poziv

Slabo: "Napišite testne primere za ponastavitev gesla."
Močno: "Generirajte testne primere za funkcijo 'ponastavitve gesla' z naslednjimi merili sprejemljivosti: povezava velja 30 minut, enkratna uporaba, zadnja 3 gesla ni mogoče ponovno uporabiti, račun zaklenjen za 15 minut po 5 nepravilnih poskusih. Uporabite enakovredne razrede in analizo mejnih vrednosti. Navedite pozitivne, negativne in robne primere v ločenih naslovih. Za vsak primer: ID, predpogoj, koraki, testni podatki, pričakovan rezultat, merila sprejemljivosti. Označite scenarije varnosti/zaklepanja.«

Močan poziv; Poda pravila, tehnike, izhodni format in prednostni vrstni red. Tako AI proizvaja izvedljive in sledljive testne primere, ne dekorativnih.

Izhodni format testnega primera

Zahtevajte strukturirano obliko, ki jo je mogoče uvoziti neposredno v orodje za upravljanje testov vaše ekipe (npr. TestRail, Zephyr, Xray). Naslednja tabela prikazuje komponente dobrega testnega primera:

območje

Opis

primer

ID

edinstven ID

TC-PWD-014

Naslov

kratek namen

Potekla povezava bo zavrnjena

predpogoj

Zahtevani pogoji pred testiranjem

Povezava za ponastavitev je bila ustvarjena pred 31 minutami

koraki

Zaporedna dejanja

1. Kliknite na povezavo 2. Vnesite novo geslo

testni podatki

Uporabljene konkretne vrednosti

stara povezava, novo geslo "Abc!2345"

pričakovan rezultat

Vedenje, ki ga je treba preveriti

Napaka »Povezava je potekla«, geslo se ne spremeni

Merila sprejemljivosti

povezava sledljivosti

AK-3: povezava velja 30 minut

prioriteta

Stopnja tveganja

visoka

Štiri predloge za kopiranje

1) Izdelava scenarija na tehnični osnovi:

Vaša vloga: višji oblikovalec testov. Ustvarite testne primere za funkcijo: [značilnost in merila sprejemljivosti]. Uporabite: enakovrednostne razrede, analizo prelomnih točk, tabelo odločitev. Zagotovite rezultate v 3 skupinah: pozitivni / negativni / mejni primeri. Vsak primer: ID, predpogoj, koraki, testni podatki, pričakovan rezultat, povezana merila sprejemljivosti, prednost (visoka/srednja/nizka).

2) Edge case hunter:

Naštejte 10 običajno spregledanih robnih primerov za naslednjo funkcijo: [feature]. V enem stavku napiši, zakaj je tvegano za vsakega. Pomislite na osi, kot so prazno/nič, predolg vnos, sočasnost, časovna omejitev, napake v formatu, Unicode/emoji, negativno/nič, izpad omrežja.

3) Izdelava tabele odločitev:

Ustvari tabelo odločitev za naslednje poslovno pravilo: [pravila]. Stolpci: kombinacije pogojev; vrstice: vsak pogoj in pričakovano dejanje. Označite nedosegljive ali nasprotujoče si kombinacije. Nato predlagajte testni primer za vsako kombinacijo.

4) Nadzor sledljivosti:

Glede na naslednji seznam meril sprejemljivosti in naslednje testne primere: [merila] / [primeri]. V obliki tabele pokažite, katera merila sprejemljivosti izpolnjujejo NOBENI preskusni primeri (vrzel v pokritosti) in kateri primeri niso izpolnjeni z nobenim merilom (odvečni primer).

trije mini kovčki

Primer 1 – Vrednost robnih stanj. Strokovnjak iz skupine fintech je napisal 18 skriptov za funkcijo prenosa denarja. Za umetno inteligenco je uporabil predlogo »edge case hunter«; AI je spomnil na situacijo "prenosa istega stanja iz dveh naprav hkrati" (sočasnost). Ko je bil ta scenarij preizkušen, je bila najdena ranljivost dvojne porabe in zaprta pred objavo. Ena sama obrobna situacija je preprečila morebitno šestmestno izgubo.

Primer 2 – Obrezovanje izbokline. Ekipa je umetni inteligenci izdelala skript za obrazec za članstvo in prejeli so 74 primerov. Z izvajanjem predloge za sledljivost je bilo ugotovljeno, da je 74 primerov izpolnjevalo le 9 meril sprejemljivosti, pri čemer so številni ponovno testirali isti enakovredni razred. Nabor je bil zmanjšan s 74 na 23 pomembnih primerov; čas delovanja se je zmanjšal za 68 %, pokritost se ni zmanjšala.

Primer 3 – Napačna predpostavka. AI je predlagal testiranje neveljavnih datumov, kot je »31. februar« za datumsko polje, vendar ni vedel, da je koledarska komponenta, ki jo uporablja ekipa, to že blokirala. Strokovnjak je izločil 4 od 6 datumskih scenarijev, ki jih je ustvaril AI, kot nepotrebne v kontekstu izdelka. možnosti, ustvarjene z umetno inteligenco; izbral informacije o izdelku.

Pogoste napake

  • Zahtevanje skripta brez podajanja meril za sprejem. Ne da bi vedel, kaj je res, AI ustvarja površne scenarije, ki pogosto spregledajo resnično tveganje.
  • Samo zadovoljiti se s pozitivnimi testi. Izrecno ne želim negativnih in robnih primerov. Tu se pogosto skrivajo napake.
  • Sprejemanje proizvedenega takšnega, kot je. Pozabljamo, da umetna inteligenca ne pozna konteksta izdelka in puščamo nepotrebne ali nemogoče scenarije na prizorišču.
  • Obhod sledljivosti. Nepovezovanje primerov z merili sprejemljivosti; posledično se ne vidi, kateri kriterij ni testiran (vrzel v pokritosti).
  • Zmota količine. Biti srečen, ker je bilo "izdanih 60 scenarijev". Vrednost ni v številu, ampak v obsegu, ki pokriva tveganje.

Če povzamem

Zasnova preizkusa je prevajanje zahteve iz enega stavka v konkretne, izvedljive primere, ki dokazujejo pravilnost programske opreme. Umetna inteligenca močno pospeši to preobrazbo: izdela celovite načrte, ko ji podate merila sprejemljivosti, klasične tehnike testiranja (ekvivalenčni razredi, prelomna točka, tabela odločitev, prehod stanja) in jasen izhodni format. Toda umetna inteligenca je nagnjena k pozitivnemu, ne pozna konteksta izdelka in lahko povzroči nepotrebno napihnjenost. Vaša naloga je, da izrecno zahtevate negativne in robne primere, vzpostavite sledljivost, določite prednost glede na tveganje in obrezujete.

Aplikacijska naloga

Izberite funkcijo iz svojega projekta in zapišite merila sprejemljivosti. Umetna inteligenca naj ustvari testne primere s predlogo »generiranje scenarija na podlagi tehnike«. Nato uporabite predlogi »edge case hunter« in »traceability check«. Posledično: (1) dodajte vsaj 3 robne primere, ki jih umetna inteligenca preskoči, (2) odstranite primere, ki se ne povezujejo z nobenim merilom sprejemljivosti, (3) napišite nove primere, če so kakršna koli merila sprejemljivosti ostala nepreizkušena. Končni niz vlijte v preglednico.

kontrolni seznam

  • [ ] Preden sem zahteval skript, sem razjasnil merila sprejemljivosti.
  • [ ] YZ sem prosil za ekvivalentne razrede in analizo mejnih vrednosti po imenu.
  • [ ] Ločeno sem ustvaril pozitivna, negativna in robna stanja.
  • [ ] Vsak testni primer sem povezal s kriterijem sprejemljivosti (sledljivost).
  • [ ] S tabelo sem preveril vrzel obsega in nepotrebne primere.
  • [ ] Razvrstil sem prednost glede na tveganje in obrezal nabrekel niz.