Enota 3 / 11

Raziskovalno testiranje in ustvarjanje testnih idej: Ustvarjalni lov na hrošče z umetno inteligenco

Dobički:

  • Sposobnost razumevanja narave raziskovalnega testiranja, ki temelji na človeški radovednosti, in uporabe umetne inteligence kot partnerja za ustvarjanje testnih listin in intuitivnih namigov
  • Zmožnost diverzifikacije osi odkrivanja, kot so vnos, čas, format, avtorizacija in prekinitev, ter ponovnega beleženja vsake anomalije s proizvodnim korakom
  • Možnost uporabe omejitve uporabe umetne inteligence samo pri pripravi in zaključku, medtem ko samo sejo odkrivanja izvajajo ljudje

Vsak pisni testni primer preveri nekaj, o čemer smo že razmišljali. A najnevarnejše napake se pogosto skrivajo tam, na katera še nihče ni pomislil. Raziskovalno testiranje – pristop testiranja, pri katerem se preizkuševalec istočasno uči, oblikuje in poganja izdelek tako, da ga raziskuje, ne da bi se zanašal na vnaprej napisan scenarij – cilja točno na to vrzel. Pri raziskovalnem testiranju se strokovnjak svobodno igra z izdelkom, sprašuje, "kaj če naredim to," in ujame nepričakovano vedenje sistema. To je vrsta testiranja, ki se najbolj zanaša na človeško intuicijo in radovednost - in ravno zato vloga umetne inteligence (AI) tukaj ni "nadomeščanje", ampak krepitev radovednosti, vzbujanje slepih peg in ustvarjanje idej.

V tej enoti se boste naučili, kako uporabljati AI kot raziskovalnega partnerja pri testiranju: od tiskanja testnih listin, evociranja hevristike do povzemanja zapiskov po seji.

Zakaj je raziskovalno testiranje še vedno človeško delo?

Skriptirano testiranje – test z vnaprej napisanimi in dobesedno ponovljenimi koraki – potrjuje znano; Raziskovalno testiranje išče neznano. Vrednost v raziskovalnem testiranju izhaja iz trenutka, ko preizkuševalec vidi izdelek in začuti, da je "tukaj nekaj čudnega." Umetna inteligenca ne more videti izdelka tako, kot ga vidite vi, ne more zaznati, kaj bi zmotilo pravega uporabnika, ne more se ga motiti z besedami "ta gumb je na napačnem mestu". Toda umetna inteligenca je zelo močan pripomoček na tri načine: (1) ustvarjanje sistematičnih seznamov poskusnih zamisli, (2) opozarjanje na preizkusne osi, ki ste jih pozabili, (3) spreminjanje vaših razpršenih zapiskov o odkritjih v organizirano poročilo.

Nasvet: prosite umetno inteligenco za "ogrevanje poskusne ideje" pred začetkom odkrivanja; Med sejo ne prepustite zaslona AI. AI je v pomoč pred in po seji; Samo sejo poganja vaša radovednost.

Hevristika in AI

Raziskovalni preizkuševalci uporabljajo hevristiko, ki so kratki opomniki, ki zagotavljajo smer pri iskanju hroščev. AI vas lahko opomni na te tako, da jih prilagodi vašemu kontekstu. Nekaj klasik:

  • CRUD: poskusite tok Ustvari, Branje, Posodobi, Izbriši za vsak podatek; prekiniti nekoga.
  • Zlatolaska (malo/polno/veliko): V polje vnesite zelo malo, polno in veliko podatkov (0 znakov, 1 znak, 10.000 znakov).
  • CRUD + razporejanje: uredite isti zapis v dveh zavihkih hkrati, nato shranite oba.
  • Prekinitev: Osvežite stran med dejanjem, prekinite povezavo z omrežjem, pritisnite vračalko.
  • Obratni vrstni red: Naredite korake v obratnem vrstnem redu (najprej plačajte, nato dodajte v košarico).

Ko umetni inteligenci rečete, naj »predlaga konkretne poskuse z uporabo teh intuitivnih znakov za ta zaslon,« dobite kontrolni seznam, pripravljen za uporabo.

Pisanje testnega pogoja (listine)

Pri raziskovalnem testiranju ne gre za tavanje; Osredotočen je na testno listino (kratko navodilo, ki določa, kaj bo raziskovalna seja raziskovala in za kakšen namen). Dobra listina sledi temu vzorcu: "Raziščite [ciljno domeno] z uporabo [orodij/podatkov], da odkrijete [katere informacije/tveganje]." AI hitro sestavi te pogoje.

Uravnoteženje skriptnega testiranja z raziskovalnim testiranjem

Strategija testiranja zvoka uporablja kombinacijo skriptnega (avtomatiziranega, ponovljivega) testiranja in raziskovalnega testiranja. Skriptirani testi poceni preverjajo, ali znana vedenja niso pokvarjena, različica za različico; Po drugi strani raziskovalno testiranje išče nova tveganja, ki jih ti skripti nikoli niso upoštevali. Oba nista tekmeca, ampak se dopolnjujeta. Pogosta napaka je razmišljanje "avtomatizirajmo vse, da ne bo potrebe po odkrivanju"; medtem ko avtomatizacija preverja samo tisto, kar že veste, nikoli ne more najti tistega, česar ne veste. Druga napaka je nasprotna: zanašanje na ročno odkrivanje z vsako izdajo brez nastavitve kakršne koli avtomatizacije — to vodi do vedno znova prikradenih istih osnovnih napak.

Umetna inteligenca pomaga vzpostaviti to ravnovesje: anomalijo, ki jo najdete med sejo odkrivanja, lahko spremenite v trajni skriptni regresijski test, tako da jo predate umetni inteligenci. Tako se napaka, enkrat odkrita pri odkrivanju, ne more nikoli več vrniti neodkrita. Discovery skrbi za “najdi novo tveganje”, avtomatizacija skrbi za “ne izpusti najdenega”; AI pospeši most med obema.

Namig: Ločite izhod vsake seje odkrivanja v dve vedri: »napake, ki jih je treba odpraviti takoj« in »scenariji, ki jih je treba spremeniti v trajno avtomatizacijo«. Drugo vedro prenaša dolgoročno vrednost odkritja v vaš regresijski paket.

Šibek poziv/močan poziv

Slabo: "Kaj naj preizkusim na tem zaslonu?"
Močno: »Za funkcijo »nalaganje profilne fotografije« razdelite 90-minutno sejo raziskovalnega testiranja na 3 preskusne pogoje. Za vsak pogoj: dajte cilju, intuitivne namige za uporabo (velikost datoteke/format/zlatolaska/prirezovanje), 5 konkretnih dejanj, ki jih morate poskusiti, in signale tveganja, na katere morate biti pozorni (upočasnitev, poškodovana slika, varnost). Posebej obravnavajte tveganja zlonamernih nalaganj datotek (prevelike). datoteka, napačna končnica) obrambno."

Močan poziv; daje trajanje, strukturo, namige in osredotočenost na tveganje. Rezultat je zemljevid, ki ga boste imeli pri roki skozi celotno sejo.

Tabela raziskovalnih osi

os

vprašati

vzorec eseja

Omejitve vnosa

Kaj počne polje pri ekstremnih vrednostih?

Ime z 10.000 znaki

čas

Kaj se zgodi pri sočasni/prekinjeni obdelavi?

Shranite isti zapis v dva zavihka

Oblika

Kako ravnati z nepričakovano obliko?

Emoji, besedilo od desne proti levi, HTML

oblast

Ali lahko nepooblaščen uporabnik dostopa?

URL spremenite ročno

Stanje

Ali je možen neveljaven prehod stanja?

Poskusite plačati preklicano naročilo

odbitek

Ali so podatki dosledni, ko je omrežje/seja prekinjena?

Med snemanjem prekinite omrežje

Štiri predloge za kopiranje

1) Generator testnih pogojev:

Vaša vloga: višji raziskovalni tester. Razdelite [trajanje] minutno raziskovalno sejo na 3-4 preskusne pogoje za funkcijo:[funkcija]. Vsak pogoj: cilj, intuitivni namigi, ki jih je treba uporabiti, 5 konkretnih dejanj, ki jih je treba poskusiti, znaki tveganja, ki jih je treba opazovati. Vzorec pogoja: "Raziščite [domen] z [orodjem/podatki] za [tveganje/informacije]."

2) Intuitivni adapter za iztočnico:

Prevedite te intuitivne namige v konkretne poskuse za naslednji zaslon: CRUD, zlatolaska (manj/polno/več), prekinitev, obratni vrstni red, obhodna avtorizacija. Zaslon: [zaslon/opis poteka]. Za vsak namig napišite 2 poskusa, specifična za zaslon.

3) Opomnik za mrtvi kot:

Preizkušam naslednjo funkcijo: [funkcija]. Naštejte 10 primerov, kjer izkušeni preizkuševalci NAJBOLJ pogrešajo to vrsto funkcije. Vključite osi dostopnosti, lokalizacije (jezik/datum/valuta), sočasnosti, varnosti in zmogljivosti.

4) Povzetek zapiskov seje:

Spodaj so neobdelani zapiski iz moje seje odkrivanja. Organizirajte jih v to strukturo: - Najdene anomalije (z ocenjeno resnostjo) - Tiste z znanim korakom reprodukcije - Tiste, ki zahtevajo nadaljnjo preiskavo - Predlog za naslednjo sejo Neobdelane opombe: [prilepite opombe]

trije mini kovčki

1. primer – opomnik za mrtvi kot v akciji. Strokovnjak je preizkušal funkcijo iskanja v večjezični aplikaciji. Na opomnik AI, naj "ne pozabi na lokalizacijsko os", je poskusil pretvorbo črk "i/I", značilno za turščino. Iskanje "Istanbul" ni dalo rezultatov; Zaznana je bila napaka pri pretvorbi malih črk. AI os spomnil, strokovnjak poskusil in našel.

Primer 2 – Poudarek listine. Novi preizkuševalec je 2 uri "brskal" po zaslonu za plačilo, vendar je naredil samo 2 majhni opombi, ker je bil nestrukturiran. Po načrtovanju seje z umetno inteligenco, razdeljeno na 3 testne pogoje, je v istem obdobju zabeležil 11 anomalij; dva sta bila resna. Isti čas je bil zaradi strukture 5-krat učinkovitejši.

Primer 3 – Preskušanje obrambnega nalaganja datotek. Ekipa je poskusila z "napačno razširitvijo/preveliko datoteko", ki jo je predlagal YZ, pri nalaganju fotografije profila znotraj svojih izdelkov. Ugotovljeno je bilo, da je datoteka s 50 MB zrušila strežnik za 40 sekund in dodala omejitev velikosti in časovno omejitev. Testiranje je bilo opravljeno samo na lastnih izdelkih, v obrambne namene.

Pogoste napake

  • Zamenjava AI s sejo. Vrednost odkritja je v vašem opazovanju in intuiciji; AI pomaga pri pripravi in ​​okrevanju.
  • Brskajte brez zadržkov. Preživljanje ur brez pozornosti in iskanje malo. Testni pogoj daje fokus.
  • Ne zbiranje zapiskov. Če anomalije, ugotovljene pri odkritju, ne shranite znova s ​​proizvodnim korakom, bo ta ugotovitev izgubljena.
  • Obtičati na eni osi. Vedno preizkušanje meja vnosa; Obhod avtoritete, razporejanja, lokalizacijske osi.
  • Izvajanje nepooblaščenih varnostnih testov. Poskusite manipulirati z datoteko/URL samo na svojem izdelku in z dovoljenjem.

Če povzamem

Raziskovalno testiranje je vrsta testiranja, ki se najbolj opira na človeško radovednost, iskanje nenapisanega. AI vas tukaj ne bo nadomestil; Opiše preskusne pogoje, prilagodi intuitivne namige vašemu kontekstu, vas opomni na slepe pege in vaše neurejene zapiske seje spremeni v organizirano poročilo. Vrednost izvira iz vašega opazovanja in intuicije; AI osredotoča in pomnoži to vrednost. Pišite pogoje, spreminjajte osi, ponovno beležite ugotovitve s proizvodnim korakom, izvajajte varnostne teste samo v okviru avtorizacije.

Aplikacijska naloga

Izberite lastnost svojega izdelka. 60-minutno sejo razdelite na 3 pogoje z uporabo predloge »generator testnih pogojev« z AI. Izvedite sejo (brez umetne inteligence, raziskovanje z roko), vodite neobdelane zapiske. Ko končate, organizirajte zapiske s predlogo »session note summarizer«. Rezultat: najmanj 5 anomalij, korak regeneracije za vsako in ocena resnosti. Upoštevajte, kateri testni pogoj in intuitivni namig sta povzročila najbolj dragoceno nepravilnost, ki ste jo našli.

kontrolni seznam

  • [ ] Pred sejo sem ustvaril testne pogoje z AI in določil fokus.
  • [ ] Poskusil sem vsaj 4 različne osi odkrivanja (vnos, čas, format, avtorizacija, prekinitev).
  • [ ] Sejo sem vodil ročno, z lastno radovednostjo; AI nisem zamenjal.
  • [ ] Posnel sem vsako anomalijo z njenim korakom reprodukcije in oceno resnosti.
  • [ ] Svoje zapiske sem spremenil v redno poročilo z AI.
  • [ ] Poskušal sem samo varnost/manipulacijo na svojem izdelku in z dovoljenjem.