Gevinster:
- Evne til å forstå den menneskelige nysgjerrighetsbaserte naturen til utforskende testing og bruke kunstig intelligens som partner for å generere testcharter og intuitive ledetråder
- Evne til å diversifisere oppdagelsesakser som input, timing, format, autorisasjon og avbrudd og registrere hver uregelmessighet med produksjonstrinnet på nytt
- Evne til å bruke grensen for bruk av AI kun som forberedelse og avslutning mens selve oppdagelsesøkten utføres av mennesker
Hver testcase som skrives sjekker noe som allerede er tenkt på. Men de farligste feilene skjuler seg ofte på steder ingen har tenkt på før. Utforskende testing – en testmetode der testeren samtidig lærer, designer og kjører produktet ved å utforske det, uten å stole på et forhåndsskrevet skript – retter seg mot akkurat dette gapet. I utforskende testing leker eksperten fritt med produktet, spør «hva om jeg gjør dette» og fanger opp uventet oppførsel av systemet. Dette er den typen testing som er mest avhengig av menneskelig intuisjon og nysgjerrighet - og det er nettopp derfor rollen til kunstig intelligens (AI) her ikke er å "erstatte", men å forsterke nysgjerrigheten, fremkalle blinde flekker og generere ideer.
I denne enheten lærer du hvordan du bruker AI som en utforskende testpartner: fra å skrive ut testdokumenter, fremkalle heuristikk, til å oppsummere notater etter økten.
Hvorfor er utforskende testing fortsatt menneskelig arbeid?
Scripted testing - en test med trinn skrevet på forhånd og gjentatt ordrett - bekrefter det som er kjent; Utforskende testing søker etter det ukjente. Verdien i utforskende testing kommer fra det øyeblikket testeren ser produktet og fornemmer «det er noe rart her». AI kan ikke se produktet slik du ser det, det kan ikke fornemme hva som ville plage den virkelige brukeren, det kan ikke forstyrres ved å si "denne knappen er på feil sted". Men AI er et veldig kraftig hjelpemiddel på tre måter: (1) produsere systematiske lister over testideer, (2) minner deg om testakser du har glemt, (3) gjør dine spredte oppdagelsesnotater til en organisert rapport.
Tips: Be AI om en "testide-oppvarming" før du starter oppdagelsesøkten; Ikke overlat skjermen til AI under økten. AI er nyttig før og etter økten; Selve økten er drevet av din nysgjerrighet.
Heuristikk og AI
Utforskende testere bruker heuristikk, som er korte påminnelser som gir retning i insektjakten. AI kan minne deg om disse ved å tilpasse dem til din kontekst. Noen klassikere:
- CRUD: Prøv Opprett, Les, Oppdater, Slett-flyten for hver data; avbryte noen.
- Goldilocks (liten/full/masse): Skriv inn svært lite, full og mye data i et felt (0 tegn, 1 tegn, 10 000 tegn).
- CRUD + planlegging: Rediger den samme posten i to faner samtidig, og lagre deretter begge.
- Avbryt: Oppdater siden midt i handlingen, koble fra nettverket, trykk på tilbaketasten.
- Omvendt rekkefølge: Gjør trinnene i omvendt rekkefølge (betal først og legg deretter i handlekurven).
Når du forteller AI å "foreslå konkrete forsøk ved å bruke disse intuitive signalene for den skjermen," får du en feltklar sjekkliste.
Skrive en testbetingelse (charter)
Utforskende testing handler ikke om å vandre; Den er fokusert på testcharteret (et kort direktiv som definerer hva en utforskningsøkt skal utforske og til hvilket formål). Et godt charter følger dette mønsteret: "Utforsk [måldomene], bruk [verktøy/data], for å avdekke [hvilken informasjon/risiko]." AI utarbeider raskt disse vilkårene.
Balansering av skripttesting med utforskende testing
En forsvarlig teststrategi bruker en kombinasjon av skriptet (automatisert, repeterbar) testing og utforskende testing. Skriptbaserte tester bekrefter billig at kjent atferd ikke er ødelagt, versjon etter versjon; Utforskende testing, derimot, ser etter nye risikoer som disse skriptene aldri har vurdert. De to er ikke konkurrenter, men komplementerer. En vanlig feil er å tenke "la oss automatisere alt så det ikke er behov for oppdagelse"; Mens automatisering kun sjekker det du allerede vet, kan den aldri finne det du ikke vet. En annen feil er det motsatte: å stole på manuell oppdagelse med hver utgivelse uten å sette opp noen automatisering - dette fører til at de samme grunnleggende feilene sniker seg inn igjen og igjen.
AI hjelper til med å etablere denne balansen: du kan gjøre en anomali du finner i oppdagelsesøkten din til en permanent skriptet regresjonstest ved å gi den til AI. Dermed kan feilen en gang oppdaget i oppdagelsen aldri returnere uoppdaget igjen. Discovery tar seg av «finn den nye risikoen», automatisering tar seg av «ikke slipp det funnet»; AI akselererer broen mellom de to.
Tips: Del utdataene fra hver oppdagelsesøkt i to deler: «bugs å fikse umiddelbart» og «scenarier for å bli permanent automatisering». Den andre bøtten bærer den langsiktige verdien av oppdagelsen inn i regresjonspakken din.
Svak forespørsel / Sterk forespørsel
Svak: "Hva bør jeg teste på denne skjermen?"
Sterkt: "For en funksjon for opplasting av profilbilder, del den 90-minutters utforskende testøkten i 3 testbetingelser. For hver tilstand: gi målet, intuitive ledetråder å bruke (filstørrelse/format/gulllokker/trunkering), 5 konkrete handlinger å prøve, og risikosignaler å se opp etter (nedgang, ødelagt bilde, opplasting av feil filtype, sikkerhet) (spesielt feil filtype) defensivt."
Kraftig ledetekst; gir varighet, struktur, ledetråder og risikofokus. Resultatet er et veikart du vil ha lett tilgjengelig gjennom hele økten.
Tabell for leteakser
akse
spørsmål å stille
prøve essay
Inndatagrenser
Hva gjør feltet ved ekstreme verdier?
Navn på 10 000 tegn
timing
Hva skjer ved samtidig/avbrutt behandling?
Lagre den samme posten i to faner
Format
Hvordan håndtere det uventede formatet?
Emoji, tekst fra høyre til venstre, HTML
myndighet
Kan uautorisert bruker få tilgang?
Endre URL manuelt
Status
Er en ugyldig tilstandsovergang mulig?
Prøv å betale for kansellert bestilling
fradrag
Er dataene konsistente når nettverket/økten blir avbrutt?
Kutt nettverket under opptak
Fire kopierbare maler
1) Testtilstandsgenerator:
Din rolle: senior utforskende tester. Del [varighet] minutters utforskende økt i 3-4 testbetingelser for funksjon:[funksjon]. Hver betingelse: mål, intuitive ledetråder å bruke, 5 konkrete handlinger å prøve, risikosignaler å se. Tilstandsmønster: «Utforsk [domene] med [verktøy/data] for [risiko/informasjon].»
2) Intuitiv signaladapter:
Oversett disse intuitive ledetrådene til konkrete eksperimenter for følgende skjermbilde: CRUD, goldilocks (mindre/full/mer), avbryte, omvendt rekkefølge, omgå autorisasjon. Skjerm: [skjerm-/flytbeskrivelse]. Skriv 2 skjermspesifikke eksperimenter for hver ledetråd.
3) Påminnelse om blindsoner:
Jeg tester følgende funksjon: [funksjon]. List opp de 10 tilfellene der erfarne testere MEST savner denne typen funksjoner. Inkluder tilgjengelighet, lokalisering (språk/dato/valuta), samtidighet, sikkerhet og ytelsesakser.
4) Oppsummering av øktnotat:
Nedenfor er de rå notatene fra min oppdagelsesøkt. Organiser dem i denne strukturen: - Funnet anomalier (med estimert alvorlighetsgrad) - De med et kjent reproduksjonstrinn - De som krever ytterligere undersøkelser - Forslag til neste økt Rå notater: [lim inn notater]
tre minisaker
Case 1 — Blindsone-påminnelse i aksjon. En ekspert testet søkefunksjonen i en flerspråklig applikasjon. Etter AIs påminnelse om å "ikke glem lokaliseringsaksen", prøvde han den tyrkiskspesifikke "i/I" bokstavkonverteringen. Søking etter "Istanbul" ga ingen resultater; En konverteringsfeil for små bokstaver ble oppdaget. AI-aksen påminnet, eksperten prøvde og fant den.
Sak 2 — Fokus for charteret. En ny tester brukte 2 timer på å "surfe" gjennom en betalingsskjerm, men la bare 2 små notater fordi den var ustrukturert. Etter å ha planlagt en økt med AI delt inn i 3 testforhold, registrerte den 11 anomalier i samme periode; to av dem var alvorlige. Den samme tiden var 5 ganger mer effektiv takket være strukturen.
Tilfelle 3 – Defensiv filopplastingstesting. Et team prøvde "feil utvidelse/for stor fil" foreslått av YZ ved å laste opp et profilbilde i sine egne produkter. Fant ut at en 50 MB fil krasjet serveren i 40 sekunder og la til en størrelsesgrense og tidsavbrudd. Testingen ble kun utført på egne produkter, for defensive formål.
Vanlige feil
- Erstatter AI med økt. Verdien av oppdagelse ligger i din observasjon og intuisjon; AI hjelper med forberedelse og restitusjon.
- Bla gjennom uten reservasjon. Bruke timer uten fokus og finne lite. Testtilstanden gir fokus.
- Samler ikke sedler. Hvis du ikke lagrer anomalien som ble funnet i oppdagelsen med produksjonstrinnet igjen, vil dette funnet gå tapt.
- Å sitte fast på en akse. Tester alltid grensene for input; Omgå autoritet, planlegging, lokaliseringsakser.
- Utføre uautoriserte sikkerhetstester. Forsøk kun fil-/URL-manipulering på ditt eget produkt og med tillatelse.
Oppsummert
Utforskende testing er den typen testing som er mest avhengig av menneskelig nysgjerrighet, på jakt etter det uskrevne. AI vil ikke erstatte deg her; Den skisserer testforhold, tilpasser intuitive ledetråder til konteksten din, minner deg om blindsoner og gjør rotete sesjonsnotater til en organisert rapport. Verdi kommer fra din observasjon og intuisjon; AI fokuserer og multipliserer denne verdien. Skriv betingelser, varier aksene, registrer funnene med produksjonstrinnet på nytt, utfør sikkerhetstester kun innenfor autorisasjon.
Søknadsoppgave
Velg en funksjon fra ditt eget produkt. Del den 60 minutter lange økten inn i 3 forhold ved å bruke malen "testtilstandsgenerator" med AI. Gjør økten (uten AI, utforsk for hånd), hold rå notater. Når du er ferdig, organiser notatene med malen "session notat summarizer". Resultat: minst 5 anomalier, regenereringstrinn for hver og alvorlighetsestimat. Legg merke til hvilken testtilstand og intuitive ledetråd som resulterte i den mest verdifulle anomalien du fant.
sjekkliste
- [ ] Før økten laget jeg testbetingelser med AI og bestemte fokuset.
- [ ] Jeg prøvde minst 4 forskjellige oppdagelsesakser (inndata, timing, format, autorisasjon, avbrudd).
- [ ] Jeg gjennomførte økten manuelt, med min egen nysgjerrighet; Jeg erstattet ikke AI.
- [ ] Jeg registrerte hver anomali med reproduksjonstrinn og alvorlighetsestimat.
- [ ] Jeg gjorde notatene mine til en vanlig rapport med AI.
- [ ] Jeg har kun forsøkt sikkerhet/manipulasjon på mitt eget produkt og med autorisasjon.