Gevinster:
- Evne til at transformere et krav og acceptkriterier til omfattende testcases med teknikker som ækvivalensklasser, grænseværdianalyse og beslutningstabeller med støtte fra kunstig intelligens
- Evne til at producere positive, negative og edge case-scenarier separat og fuldføre kant-cases savnet af kunstig intelligens med produktinformation
- Evne til at etablere sporbarhed og eliminere dækningshuller og unødvendig oppustethed ved at knytte testcases til acceptkriterier
Testerens job starter ofte med denne blanke tavle: han har et krav ("brugeren skal kunne nulstille sin adgangskode"), og han skal omdanne denne enkelt sætning til snesevis af konkrete kontroller, der vil bevise, at softwaren faktisk fungerer korrekt. Denne transformation kaldes testdesign. At kende forskellen mellem et testscenarie - et mål på højt niveau, der beskriver, hvad der skal testes, såsom "ugyldig adgangskode bør afvises" - og en testcase - en eksekverbar enhed, der beskriver scenariet med konkrete trin, input og forventet resultat, er nøglen. Kunstig intelligens (AI) accelererer præcis dette tomme side-øjeblik: forvandler et krav til snesevis af udkastsscenarier på få sekunder. Men husk - AI gentager, hvilke situationer du kan tænke på; Du vælger med din produktviden, hvilke situationer der er rigtig vigtige.
I denne enhed lærer du trin for trin, hvordan du omdanner et krav til en omfattende, men rodfri testpakke med AI-understøttelse.
Trin for trin: fra krav til testsæt
Trin 1 — Afklar kravet. Indsaml acceptkriterier (betingelser, som et job skal opfylde for at blive betragtet som "færdig"), før du giver AI'en det rå krav. "Adgangskoden skal kunne nulstilles" er ikke nok; Regler som "nulstil link er gyldig i 30 minutter", "det samme kodeord kan ikke genbruges" er kilden til den rigtige test.
Trin 2 — Implementer testteknikker. Sig ikke bare "skriv et script" om AI; Spørg efter klassiske testdesignteknikker ved navn:
- Ækvivalensklasser (ækvivalensopdeling): Opdeling af input i grupper, der forventes at producere den samme adfærd. For eksempel for aldersfeltet er "gyldigt område", "for lille" og "for stort" klasser; Det er tilstrækkeligt at teste ét eksempel fra hver klasse.
- Grænseværdianalyse: Test af tærskelværdier baseret på, at fejl opstår mest ved grænserne. Det er som at teste 17, 18, 19 separat for 18-årsgrænsen.
- Beslutningstabel: Tabulering af kombinationer af flere forhold og det forventede resultat af hver kombination.
- Statsovergang: Test af systemets overgange fra stat til stat (for eksempel ordre: oprettet → betalt → afsendt) og ugyldige overgange.
Trin 3 — Adskil positive, negative og kanttilstande. Bed om en positiv test (forventet resultat med korrekt input), en negativ test (korrekt fejl med ugyldig input) og en kant-case - grænsetilfælde eller usædvanlige tilfælde. AI lægger generelt vægt på det positive; Negative sager og kantsager er ufuldstændige, medmindre du udtrykkeligt anmoder om dem.
Trin 4 — Prioriter og beskær. AI kan generere 60 scenarier; De er ikke alle af samme værdi. Prioriter dem med høj risiko (penge, sikkerhed, tab af data) og kombiner dem, der er dubletter.
Tip: Send en separat anmodning til AI'en og siger "generer 5 utænkelige edge cases fra dette krav". Det mest værdifulde bidrag fra AI er, at det ofte minder dig om ekstraordinære situationer, som du har overset.
Svag prompt / Stærk prompt
Svag: "Skriv testsager til nulstilling af adgangskode."
Stærk: "Generer testcases for funktionen 'nulstilling af adgangskode' med følgende acceptkriterier: link gyldigt i 30 minutter, engangsbrug, sidste 3 adgangskoder kan ikke genbruges, konto låst i 15 minutter efter 5 forkerte forsøg. Anvend ækvivalensklasser og grænseværdianalyse. Giv positive, negative og kanttilfælde i separate trin, forudsætning, tilknyttede overskrifter, id, tilknyttede testresultat: kriterier. Fremhæv sikkerheds-/låsescenarier.
Kraftig prompt; Det giver regler, teknikker, outputformat og prioriteret rækkefølge. Således producerer AI eksekverbare og sporbare testcases, ikke dekorative.
Test case output format
Bed om et struktureret format, der kan importeres direkte til dit teams teststyringsværktøj (f.eks. TestRail, Zephyr, Xray). Følgende tabel viser komponenterne i en god testcase:
område
Beskrivelse
eksempel
ID
unikt ID
TC-PWD-014
Titel
kort formål
Udløbet link vil blive afvist
forudsætning
Tilstand påkrævet før test
Nulstillingslink blev genereret for 31 minutter siden
trin
Sekventielle handlinger
1. Klik på linket 2. Indtast ny adgangskode
testdata
Konkrete værdier anvendt
gammelt link, nyt kodeord "Abc!2345"
forventet resultat
Adfærd, der skal verificeres
"Link udløbet" fejl, adgangskoden ændres ikke
Acceptkriterier
sporbarhedslink
AK-3: link gyldigt i 30 minutter
prioritet
Risikoniveau
høj
Fire kopierbare skabeloner
1) Teknisk baseret scenarieproduktion:
Din rolle: senior testdesigner.Generer testcases for feature: [funktion og acceptkriterier].Anvend: ækvivalensklasser, brudpunktsanalyse, beslutningstabel.Lever output i 3 grupper: Positiv / Negativ / Edge case.Hver case: ID, forudsætning, trin, testdata, forventet resultat, tilhørende acceptkriterier, prioritet (Høj/Medium/Lav).
2) Edge case hunter:
Liste over 10 normalt oversete kantsager for følgende funktion: [feature]. Skriv i én sætning, hvorfor det er risikabelt for hver. Tænk på akser som tom/nul, input for lang, samtidighed, timeout, formatfejl, Unicode/emoji, negativ/nul, netværksafbrydelse.
3) Produktion af beslutningstabel:
Opret beslutningstabel for følgende forretningsregel: [regler]. Kolonner: betingelseskombinationer; rækker: hver betingelse og forventet handling. Flag uopnåelige eller modstridende kombinationer. Foreslå derefter en testcase for hver kombination.
4) Sporbarhedskontrol:
Givet følgende liste over acceptkriterier og følgende testcases:[kriterier] / [tilfælde]. Vis i tabelform, hvilke acceptkriterier der opfyldes af NO-testcases (dækningsgab), og hvilke cases der ikke opfyldes af nogen kriterier (redundant case).
tre minisager
Tilfælde 1 — Værdi af kanttilstande. En ekspert fra et fintech-hold havde skrevet 18 scripts til pengeoverførselsfunktionen. Han anvendte "edge case hunter" skabelonen til AI; AI mindede om situationen med at "overføre den samme saldo fra to enheder på samme tid" (samtidig). Da dette scenarie blev testet, blev en dobbeltforbrugssårbarhed fundet og lukket, før den gik live. En enkelt udkantssituation forhindrede et potentielt sekscifret tab.
Tilfælde 2 — Trimning af bulen. Et hold fik AI til at fremstille et script til medlemsformularen, og 74 sager kom igennem. Ved at køre sporbarhedsskabelonen viste det sig, at 74 tilfælde kun opfyldte 9 acceptkriterier, hvoraf mange gentestede den samme ækvivalensklasse. Sættet blev reduceret fra 74 til 23 signifikante tilfælde; køretiden faldt med 68 %, dækningen faldt ikke.
Case 3 — Forkert antagelse. AI foreslog at teste ugyldige datoer som "31. februar" for et datofelt, men vidste ikke, at den kalenderkomponent, holdet brugte, allerede blokerede dette. Eksperten eliminerede 4 af de 6 datoscenarier produceret af AI som unødvendige i forbindelse med produktet. AI genererede muligheder; foretaget et produktinformationsvalg.
Almindelige fejl
- Anmodning om et script uden at angive acceptkriterier. Uden at vide, hvad der er sandt, producerer AI overfladiske scenarier, der ofte går glip af den reelle risiko.
- Bare nøjes med positive tests. Vil eksplicit ikke have negative og kantsager. Det er her fejlene ofte ligger.
- At acceptere det, der produceres, som det er. At glemme, at AI'en ikke kender produktkonteksten og efterlader unødvendige eller umulige scenarier på settet.
- Omgå sporbarhed. Ikke at knytte sager til acceptkriterier; som følge heraf ses det ikke, hvilket kriterium der ikke testes (dækningsgab).
- Mængde fejlslutning. At være glad, fordi "60 manuskripter er blevet frigivet". Værdien er ikke i tallet, men i omfanget, der dækker risikoen.
Sammenfattende
Testdesign handler om at oversætte et krav med én sætning til konkrete, eksekverbare cases, der beviser softwarens rigtighed. AI fremskynder i høj grad denne transformation: den producerer omfattende tegninger, når du giver den acceptkriterier, klassiske testteknikker (ækvivalensklasser, brudpunkt, beslutningstabel, tilstandsovergang) og et klart outputformat. Men AI er forudindtaget mod det positive, kender ikke produktkonteksten og kan give unødvendig oppustethed. Din opgave er eksplicit at anmode om negative og kantsager, etablere sporbarhed, prioritere efter risiko og beskære.
Ansøgningsopgave
Vælg en funktion fra dit eget projekt og skriv acceptkriterierne ned. Få AI til at generere testcases med skabelonen "teknik-baseret scenariegenerering". Anvend derefter skabelonerne "edge case hunter" og "sporbarhedstjek". Som et resultat: (1) tilføj mindst 3 kantsager, som AI'en springer over, (2) beskær sager, der ikke forbindes med nogen acceptkriterier, (3) skriv nye sager, hvis der er nogen acceptkriterier, der ikke er testet. Hæld det endelige sæt i et regneark.
tjekliste
- [ ] Før jeg anmodede om et manuskript, præciserede jeg acceptkriterierne.
- [ ] Jeg bad YZ om ækvivalensklasser og grænseværdianalyse efter navn.
- [ ] Jeg genererede positive, negative og kanttilstande separat.
- [ ] Jeg knyttede hver testcase til et acceptkriterium (sporbarhed).
- [ ] Jeg tjekkede omfangsgabet og unødvendige sager med tabellen.
- [ ] Jeg prioriterede efter risiko og beskærede det hævede sæt.