Vinster:
- Förmåga att omvandla ett krav och acceptanskriterier till omfattande testfall med tekniker som ekvivalensklasser, gränsvärdesanalys och beslutstabeller, med stöd av artificiell intelligens
- Förmåga att producera positiva, negativa och kantfallsscenarier separat och komplettera kantfallen som missas av artificiell intelligens med produktinformation
- Förmåga att etablera spårbarhet och eliminera täckningsluckor och onödig svullnad genom att koppla testfall till acceptanskriterier
Testarens jobb börjar ofta med detta tomma blad: han har ett krav ("användaren måste kunna återställa sitt lösenord") och han behöver förvandla denna enda mening till dussintals konkreta kontroller som kommer att bevisa att programvaran faktiskt fungerar korrekt. Denna transformation kallas testdesign. Att veta skillnaden mellan ett testscenario – ett mål på hög nivå som beskriver vad som ska testas, till exempel "ogiltigt lösenord bör avvisas" – och ett testfall – en körbar enhet som beskriver det scenariot med konkreta steg, input och förväntat resultat är nyckeln. Artificiell intelligens (AI) accelererar exakt detta ögonblick på tomma sidor: förvandlar ett krav till dussintals utkastsscenarier på några sekunder. Men kom ihåg - AI replikerar vilka situationer du kan tänka dig; Du väljer med din produktkunskap vilka situationer som är riktigt viktiga.
I den här enheten får du lära dig steg för steg hur du förvandlar ett krav till en omfattande men rörig testsvit med AI-stöd.
Steg för steg: från krav till testset
Steg 1 — Förtydliga kravet. Samla in acceptanskriterier (villkor som ett jobb måste uppfylla för att betraktas som ”klar”) innan du ger AI det råa kravet. "Lösenord måste kunna återställas" räcker inte; Regler som "återställningslänk är giltig i 30 minuter", "samma lösenord kan inte återanvändas" är källan till det verkliga testet.
Steg 2 — Implementera testtekniker. Säg inte bara "skriv ett manus" om AI; Fråga efter klassiska testdesigntekniker med namn:
- Ekvivalensklasser (ekvivalenspartitionering): Dela in indata i grupper som förväntas producera samma beteende. Till exempel, för åldersfältet är "giltigt intervall", "för litet" och "för stort" klasser; Det räcker att testa ett exempel från varje klass.
- Gränsvärdesanalys: Testa tröskelvärden baserat på att fel uppstår mest vid gränserna. Det är som att testa 17, 18, 19 separat för 18-årsgränsen.
- Beslutstabell: Tabellkombinationer av flera villkor och det förväntade resultatet av varje kombination.
- Tillståndsövergång: Testa systemets övergångar från stat till stat (till exempel beställning: skapad → betald → skickad) och ogiltiga övergångar.
Steg 3 — Separera positiva, negativa och kanttillstånd. Be om ett positivt test (förväntat resultat med korrekt inmatning), ett negativt test (korrekt fel med ogiltig inmatning) och ett kantfall - gränsfall eller ovanliga fall. AI betonar generellt det positiva; Negativa fall och kantfall är ofullständiga om du inte uttryckligen begär dem.
Steg 4 — Prioritera och beskära. AI kan generera 60 scenarier; De är inte alla lika värdefulla. Prioritera de med hög risk (pengar, säkerhet, dataförlust) och kombinera de som är dubbletter.
Tips: Skicka en separat förfrågan till AI:n och säg "generera 5 otänkbara kantfall från detta krav". Det mest värdefulla bidraget från AI är att det ofta påminner dig om extraordinära situationer som du har förbisett.
Svag prompt / Stark prompt
Svag: "Skriv testfall för lösenordsåterställning."
Stark: "Generera testfall för funktionen "lösenordsåterställning" med följande acceptanskriterier: länk giltig i 30 minuter, engångsanvändning, senaste 3 lösenorden kan inte återanvändas, konto låst i 15 minuter efter 5 felaktiga försök. Tillämpa ekvivalensklasser och analys av gränsvärden. Ge positiva, negativa och kantfall i separata steg, förutsättningar, associerade testfall, associerade rubriker, associerade testresultat: kriterier. Markera säkerhets-/låsningsscenarier.
Kraftfull uppmaning; Den ger regler, tekniker, utdataformat och prioritetsordning. Således producerar AI körbara och spårbara testfall, inte dekorativa.
Utdataformat för testfall
Be om ett strukturerat format som kan importeras direkt till ditt teams testhanteringsverktyg (t.ex. TestRail, Zephyr, Xray). Följande tabell visar komponenterna i ett bra testfall:
område
Beskrivning
exempel
ID
unikt ID
TC-PWD-014
Titel
kort syfte
Utgången länk kommer att avvisas
förutsättning
Villkor krävs före testning
Återställningslänk skapades för 31 minuter sedan
steg
Sekventiella åtgärder
1. Klicka på länken 2. Ange nytt lösenord
testdata
Konkreta värden som används
gammal länk, nytt lösenord "Abc!2345"
förväntat resultat
Beteende som ska verifieras
Felet "Länken har löpt ut", lösenordet ändras inte
Acceptanskriterier
spårbarhetslänk
AK-3: länk giltig i 30 minuter
prioritet
Risknivå
hög
Fyra kopierbara mallar
1) Tekniskt baserad scenarioproduktion:
Din roll: senior testdesigner.Skapa testfall för funktion: [funktions- och acceptanskriterier].Applicera: ekvivalensklasser, brytpunktsanalys, beslutstabell.Ge utdata i 3 grupper: Positivt / Negativt / Kantfall. Varje fall: ID, förutsättning, steg, testdata, förväntat resultat, tillhörande acceptanskriterier, prioritet (Hög/Medium/Låg).
2) Kantfallsjägare:
Lista 10 normalt förbisedda kantfall för följande funktion: [funktion]. Skriv i en mening varför det är riskabelt för var och en. Tänk på axlar som tom/null, inmatning för lång, samtidighet, timeout, formatfel, Unicode/emoji, negativ/noll, nätverksavbrott.
3) Tillverkning av beslutstabell:
Skapa beslutstabell för följande affärsregel: [regler].Kolumner: villkorskombinationer; rader: varje villkor och förväntad åtgärd. Flagga ouppnåeliga eller motstridiga kombinationer. Föreslå sedan ett testfall för varje kombination.
4) Spårbarhetskontroll:
Med tanke på följande lista över acceptanskriterier och följande testfall:[kriterier] / [fall]. Visa i tabellform vilka acceptanskriterier som uppfylls av NO-testfall (täckningsgap) och vilka fall som inte uppfylls av några kriterier (redundanta fall).
tre minifodral
Fall 1 — Värde på kanttillstånd. En expert från ett fintech-team hade skrivit 18 skript för pengaöverföringsfunktionen. Han tillämpade mallen "edge case hunter" på AI; AI påminde om situationen att "överföra samma saldo från två enheter samtidigt" (samtidigt). När det här scenariot testades upptäcktes en sårbarhet för dubbel utgifter och stängdes innan den gick live. En enda utkantssituation förhindrade en potentiell sexsiffrig förlust.
Fall 2 — Trimma bulan. Ett team lät AI producera ett manus för medlemsformuläret och 74 fall kom igenom. Genom att köra spårbarhetsmallen fann man att 74 fall uppfyllde endast 9 acceptanskriterier, med många som testade om samma ekvivalensklass. Uppsättningen reducerades från 74 till 23 signifikanta fall; körtiden minskade med 68 %, täckningen minskade inte.
Fall 3 — Fel antagande. AI föreslog att testa ogiltiga datum som "31 februari" för ett datumfält, men visste inte att kalenderkomponenten som laget använde redan blockerade detta. Experten eliminerade 4 av de 6 datumscenarionerna som producerats av AI som onödiga i produktens sammanhang. AI genererade möjligheter; gjort ett urval av produktinformation.
Vanliga misstag
- Begär ett manus utan att ange acceptanskriterier. Utan att veta vad som är sant producerar AI ytliga scenarier som ofta missar den verkliga risken.
- Bara att nöja sig med positiva tester. Vill uttryckligen inte ha negativa och kantfall. Det är här felen ofta ligger.
- Att acceptera det som produceras som det är. Att glömma att AI:n inte känner till produktkontexten och lämnar onödiga eller omöjliga scenarier på uppsättningen.
- Förbigående spårbarhet. Att inte koppla ärenden till acceptanskriterier; som ett resultat av detta framgår inte vilket kriterium som inte testas (täckningsgap).
- Kvantitetsfel. Att vara glad för att "60 manus har släppts". Värdet ligger inte i antalet, utan i den omfattning som täcker risken.
Sammanfattningsvis
Testdesign handlar om att översätta ett krav på en mening till konkreta, körbara fall som bevisar programvarans riktighet. AI påskyndar denna transformation avsevärt: den producerar omfattande ritningar när du ger den acceptanskriterier, klassiska testtekniker (ekvivalensklasser, brytpunkt, beslutstabell, tillståndsövergång) och ett tydligt utdataformat. Men AI är partisk mot det positiva, känner inte till produktkontexten och kan skapa onödig svullnad. Ditt jobb är att uttryckligen begära negativa och spetsärenden, etablera spårbarhet, prioritera efter risk och beskära.
Applikationsuppgift
Välj en funktion från ditt eget projekt och skriv ner acceptanskriterierna. Låt AI generera testfall med mallen "teknikbaserad scenariogenerering". Använd sedan mallarna "edge case hunter" och "spårbarhetskontroll". Som ett resultat: (1) lägg till minst 3 kantfall som AI:n hoppar över, (2) beskär fall som inte ansluter till några acceptanskriterier, (3) skriv nya fall om det finns några acceptanskriterier som inte är testade. Häll den sista uppsättningen i ett kalkylblad.
checklista
- [ ] Innan jag begärde ett manus förtydligade jag acceptanskriterierna.
- [ ] Jag bad YZ om ekvivalensklasser och gränsvärdesanalys efter namn.
- [ ] Jag genererade positiva, negativa och kanttillstånd separat.
- [ ] Jag kopplade varje testfall till ett acceptanskriterium (spårbarhet).
- [ ] Jag kontrollerade omfattningsgapet och onödiga fall med tabellen.
- [ ] Jag prioriterade efter risk och beskär det svullna setet.