Enhet 3 / 11

Utforskande testning och generering av testidéer: Kreativ feljakt med AI

Vinster:

  • Förmåga att förstå den mänskliga nyfikenhetsbaserade naturen hos utforskande tester och använda artificiell intelligens som partner för att generera testcharter och intuitiva ledtrådar
  • Möjlighet att diversifiera upptäcktsaxlar som inmatning, timing, format, auktorisering och avbrott och registrera varje anomali med produktionssteget igen
  • Möjlighet att tillämpa gränsen för att använda AI endast som förberedelse och avslutning medan själva upptäcktssessionen genomförs av människor

Varje testfall som skrivs kontrollerar något som redan har tänkts på. Men de farligaste misstagen gömmer sig ofta på platser som ingen har tänkt på tidigare. Utforskande testning – en testmetod där testaren samtidigt lär sig, designar och kör produkten genom att utforska den, utan att förlita sig på ett förskrivet skript – riktar sig mot exakt denna lucka. I utforskande tester leker experten fritt med produkten, frågar "tänk om jag gör det här" och fångar systemets oväntade beteende. Det här är den typ av testning som förlitar sig mest på mänsklig intuition och nyfikenhet – och det är just därför som den artificiella intelligensens (AI) roll här inte är att "ersätta" utan att förstärka nyfikenheten, framkalla blinda fläckar och generera idéer.

I den här enheten kommer du att lära dig hur du använder AI som en utforskande testpartner: från att skriva ut testdokument, framkalla heuristik till att sammanfatta anteckningar efter sessionen.

Varför är explorativ testning fortfarande mänskligt arbete?

Manustestning – ett test med steg skrivna i förväg och upprepade ordagrant – bekräftar vad som är känt; Utforskande tester söker efter det okända. Värdet i utforskande testning kommer från det ögonblick som testaren ser produkten och känner att "det är något konstigt här." AI kan inte se produkten som du ser den, den kan inte känna av vad som skulle störa den verkliga användaren, den kan inte störas genom att säga "den här knappen är på fel plats". Men AI är ett mycket kraftfullt hjälpmedel på tre sätt: (1) producera systematiska listor med testidéer, (2) påminna dig om testyxor du har glömt, (3) förvandla dina spridda upptäcktsanteckningar till en organiserad rapport.

Tips: Be AI om en "testidéuppvärmning" innan upptäcktssessionen påbörjas; Lämna inte skärmen till AI:n under sessionen. AI är till hjälp före och efter sessionen; Själva sessionen drivs av din nyfikenhet.

Heuristik och AI

Utforskande testare använder heuristik, som är korta påminnelser som ger vägledning i buggjakten. AI kan påminna dig om dessa genom att anpassa dem till ditt sammanhang. Några klassiker:

  • CRUD: Prova flödet Skapa, Läs, Uppdatera, Ta bort för varje data; avbryta någon.
  • Guldlock (liten/full/mängd): Ange väldigt lite, full och mycket data i ett fält (0 tecken, 1 tecken, 10 000 tecken).
  • CRUD + schemaläggning: Redigera samma post i två flikar samtidigt, spara sedan båda.
  • Avbryt: Uppdatera sidan mitt i handlingen, koppla från nätverket, tryck på backsteg.
  • Omvänd ordning: Gör stegen i omvänd ordning (betala först och lägg sedan i varukorgen).

När du säger åt AI:n att "föreslå konkreta försök genom att tillämpa dessa intuitiva ledtrådar för den skärmen", får du en fältklar checklista.

Skriva ett testvillkor (charter)

Undersökande tester handlar inte om att vandra; Den är fokuserad på teststadgan (ett kort direktiv som definierar vad en utforskningssession kommer att utforska och för vilket syfte). En bra charter följer detta mönster: "Utforska [måldomän], använd [verktyg/data], för att avslöja [vilken information/risk]." AI utarbetar snabbt dessa villkor.

Balansera manustestning med utforskande testning

En sund teststrategi använder en kombination av skriptade (automatiserade, repeterbara) tester och utforskande tester. Skriptade tester verifierar billigt att kända beteenden inte är trasiga, version efter version; Utforskande testning, å andra sidan, letar efter nya risker som dessa skript aldrig har beaktat. De två är inte konkurrenter, utan komplement. Ett vanligt misstag är att tänka "låt oss automatisera allt så att det inte finns något behov av upptäckt"; medan automation bara kontrollerar det du redan vet, kan den aldrig hitta det du inte vet. Ett annat misstag är motsatsen: att förlita sig på manuell upptäckt med varje utgåva utan att ställa in någon automatisering - detta leder till att samma grundläggande buggar smyger sig in om och om igen.

AI hjälper till att upprätta denna balans: du kan förvandla en anomali som du hittar i din upptäcktssession till ett permanent skriptat regressionstest genom att ge det till AI. Således kan felet en gång upptäckt i upptäckten aldrig återvända oupptäckt igen. Discovery tar hand om ”hitta den nya risken”, automatisering tar hand om ”släpp inte det hittade”; AI påskyndar bron mellan de två.

Tips: Dela upp resultatet från varje upptäcktssession i två segment: "buggar att åtgärda omedelbart" och "scenarier för att förvandlas till permanent automatisering." Den andra hinken bär det långsiktiga värdet av upptäckten i ditt regressionspaket.

Svag prompt / Stark prompt

Svag: "Vad ska jag testa på den här skärmen?"
Stark: "För en funktion för 'uppladdning av profilfoto', dela upp den 90-minuters utforskande testsessionen i 3 testförhållanden. För varje tillstånd: ge målet, intuitiva ledtrådar att använda (filstorlek/format/guldlock/trunkering), 5 konkreta åtgärder att prova och risksignaler att hålla utkik efter (avmattning, korrupt bild, uppladdning), särskilt fel filtillägg, risk för felaktig filtillägg, (särskilt fel) defensivt."

Kraftfull uppmaning; ger varaktighet, struktur, ledtrådar och riskfokus. Resultatet är en färdplan som du kommer att ha till hands under hela sessionen.

Tabell för prospekteringsaxlar

axel

fråga att ställa

provuppsats

Ingångsgränser

Vad gör fältet vid extrema värden?

Namn på 10 000 tecken

timing

Vad händer vid samtidig/avbruten behandling?

Spara samma post på två flikar

Format

Hur hanterar man det oväntade formatet?

Emoji, text från höger till vänster, HTML

myndighet

Kan obehörig användare komma åt?

Ändra URL manuellt

Status

Är en ogiltig tillståndsövergång möjlig?

Försök att betala för annullerad beställning

avdrag

Är data konsekvent när nätverket/sessionen avbryts?

Klipp nätverk under inspelning

Fyra kopierbara mallar

1) Testtillståndsgenerator:

Din roll: senior utforskande testare. Dela upp [duration] minuters utforskande session i 3-4 testförhållanden för feature:[feature]. Varje villkor: mål, intuitiva ledtrådar att använda, 5 konkreta åtgärder att prova, risksignaler att titta på. Tillståndsmönster: "Utforska [domän] med [verktyg/data] för [risk/information]."

2) Intuitiv cue-adapter:

Översätt dessa intuitiva ledtrådar till konkreta experiment för följande skärm: CRUD, goldilocks (mindre/fulla/mer), avbryta, omvänd ordning, förbigå auktorisering. Skärm: [skärm/flödesbeskrivning]. Skriv 2 skärmspecifika experiment för varje ledtråd.

3) Påminnelse om den döda vinkeln:

Jag testar följande funktion: [funktion]. Lista de 10 fall där erfarna testare MEST missar den här typen av funktion. Inkludera tillgänglighet, lokalisering (språk/datum/valuta), samtidighet, säkerhet och prestanda.

4) Sammanfattning av sessionsanteckningar:

Nedan är de råa anteckningarna från min upptäcktssession. Organisera dem i den här strukturen: - Hittade anomalier (med uppskattad svårighetsgrad) - De med ett känt reproduktionssteg - De som kräver ytterligare undersökning - Förslag till nästa session Rå anteckningar: [klistra in anteckningar]

tre minifodral

Fall 1 — Påminnelse om döda vinkeln i aktion. En expert testade sökfunktionen i en flerspråkig applikation. Efter AI:s påminnelse om att "glöm inte lokaliseringsaxeln", försökte han den turkiska specifika "i/I"-bokstavskonverteringen. Sökning efter "Istanbul" gav inga resultat; Ett konverteringsfel för små bokstäver upptäcktes. AI-axeln påminde, experten försökte och hittade den.

Fall 2 — Fokus för stadgan. En ny testare tillbringade 2 timmar med att "surfa" genom en betalningsskärm men gjorde bara 2 små anteckningar eftersom den var ostrukturerad. Efter att ha planerat en session med AI:n uppdelad i 3 testförhållanden, registrerade den 11 anomalier under samma period; två av dem var allvarliga. Samma tid var 5 gånger effektivare tack vare strukturen.

Fall 3 — Defensiv filuppladdningstestning. Ett team försökte med "fel förlängning/för stor fil" som YZ föreslog när de laddade upp en profilbild i sina egna produkter. Hittade att en 50 MB fil kraschade servern i 40 sekunder och lade till en storleksgräns och timeout. Testerna gjordes endast på sina egna produkter, i defensiva syften.

Vanliga misstag

  • Ersätter AI med session. Värdet av upptäckt ligger i din observation och intuition; AI hjälper till med förberedelser och återhämtning.
  • Bläddra utan förbehåll. Spendera timmar utan fokus och hitta lite. Testkonditionen ger fokus.
  • Samlar inte anteckningar. Om du inte sparar anomalien som hittades i upptäckten med produktionssteget igen, kommer det fyndet att gå förlorat.
  • Att sitta fast på en axel. Testar alltid gränserna för input; Förbigående auktoritet, schemaläggning, lokaliseringsaxlar.
  • Utföra obehöriga säkerhetstester. Försök endast manipulera fil/URL på din egen produkt och med tillåtelse.

Sammanfattningsvis

Utforskande testning är den typ av testning som mest bygger på mänsklig nyfikenhet, att söka efter det oskrivna. AI kommer inte att ersätta dig här; Den skisserar testförhållanden, anpassar intuitiva ledtrådar till ditt sammanhang, påminner dig om blinda fläckar och förvandlar dina röriga sessionsanteckningar till en organiserad rapport. Värde kommer från din observation och intuition; AI fokuserar och multiplicerar detta värde. Skriv villkor, variera axlarna, registrera fynden med produktionssteget igen, utför säkerhetstester endast inom behörighet.

Applikationsuppgift

Välj en funktion från din egen produkt. Dela upp 60-minuterspasset i 3 förhållanden med hjälp av mallen "testvillkorsgenerator" med AI. Gör sessionen (utan AI, utforska för hand), håll råa anteckningar. När du är klar, organisera anteckningarna med mallen "session not summarizer". Resultat: minst 5 anomalier, regenereringssteg för varje och uppskattning av svårighetsgrad. Notera vilket testvillkor och intuitiva ledtråd som resulterade i den mest värdefulla anomalien du hittade.

checklista

  • [ ] Före sessionen skapade jag testförhållanden med AI och bestämde fokus.
  • [ ] Jag provade minst fyra olika upptäcktsaxlar (inmatning, timing, format, auktorisering, avbrott).
  • [ ] Jag genomförde sessionen manuellt, med min egen nyfikenhet; Jag ersatte inte AI.
  • [ ] Jag registrerade varje anomali med dess reproduktionssteg och uppskattning av svårighetsgrad.
  • [ ] Jag gjorde mina anteckningar till en vanlig rapport med AI.
  • [ ] Jag har endast försökt med säkerhet/manipulation på min egen produkt och med auktorisation.