Hvordan skrive testsaker med eksempler

🚀 Smart sammendrag

En testtilfelle er et dokumentert sett med betingelser, inndata, handlinger og forventede resultater for å bekrefte at en spesifikk funksjon fungerer som den skal i programvareapplikasjoner.

  • Nøkkelprinsipp: Hvert testtilfelle må validere et enkelt krav eller en enkelt funksjon, og dokumentere betingelser, inndata og forventede resultater.
  • Implementeringsfokus: Testere må dokumentere tydelige, trinnvise handlinger og testdata for konsistent utførelse av alle teammedlemmer.
  • Brukersentrisk tilnærming: Design testtilfeller med sluttbrukerperspektivet i tankene, og sørg for at de gjenspeiler virkelige scenarier og krav.
  • Dekningsforsikring: Bruk tracmulighetsmatriser for å sikre at alle krav testes, unngå blindsoner og maksimere dekningen.
  • Eliminering av relevans: Unngå å gjenta testtilfeller; bruk testtilfelle-ID-er for å referere til avhengigheter i forhåndsbetingelser.
  • Teknikkapplikasjon: Bruk testteknikker som grenseverdianalyse og ekvivalenspartisjonering for å fokusere på områder med høy risiko.
  • Ledelse og Tracevne: Bruk teststyringsverktøy for maldrevet dokumentasjon og utførelse trackonge og automatisert defektkobling.

Hvordan skrive testsaker

Hva er en testcase?

A testforsøk er et sett av handlinger, innspill og forventede resultater som hjelper testere med å bekrefte om en spesifikk funksjon eller funksjonalitet i programvare fungerer som tiltenkt. Den fungerer som en trinnvis veiledning som definerer hva som skal testes, hvordan det skal testes og hvilket resultat man kan forvente.

Tenk på et testtilfelle som en oppskrift på validering – den forteller deg de nøyaktige ingrediensene (testdata), prosessen (trinn som skal utføres) og hvordan en perfekt rett (forventet resultat) bør se ut.

En godt skrevet testcase bidrar til å sikre:

  • Programvaren oppfyller forretnings- og brukerkrav.
  • Feil eller uventet oppførsel er fanget tidlig.
  • Testing kan være gjentatt og gjennomgått av enhver QA-profesjonell.
  • Lag kan trace hvilket krav hver test verifiserer.

👉 Meld deg på gratis live programvaretestingsprosjekt

Trinn for å lage testtilfeller i manuell testing

La oss lage et testtilfelle for scenariet: Sjekk påloggingsfunksjonalitet

Opprett testtilfeller i manuell testing

Trinn 1) En enkel testcase for å forklare scenariet ville være

Testtilfelle # Testsak Description
1 Sjekk svar når gyldig e-post og passord er angitt

Trinn 2) Test dataene.
For å utføre testsaken, trenger du Testdata. Legger det til nedenfor

Testtilfelle # Testsak Description Testdata
1 Sjekk svar når gyldig e-post og passord er angitt E-post: guru99@email.com
Passord: lNf9^Oti7^2h

Identifisering av testdata kan være tidkrevende og kan noen ganger kreve å lage testdata på nytt. Grunnen til at det må dokumenteres.

Trinn 3) Utfør handlinger.
For å utføre en testsak, må en tester utføre et spesifikt sett med handlinger på AUT. Dette er dokumentert som nedenfor:

Testtilfelle # Testsak Description Teststrinn Testdata
1 Sjekk svar når gyldig e-post og passord er angitt 1) Skriv inn e-postadresse

2) Skriv inn passord

3) Klikk på Logg på

E-post: guru99@email.com

Passord: lNf9^Oti7^2h

Mange ganger er ikke testtrinnene så enkle som ovenfor, og derfor trenger de dokumentasjon. I tillegg kan forfatteren av testtilfellet forlate organisasjonen, dra på ferie, være syk og ha fri, eller være veldig opptatt med andre kritiske oppgaver. En nylig ansatt kan bli bedt om å utføre testtilfellet. Dokumenterte trinn vil hjelpe vedkommende og også legge til rette for gjennomgang av andre interessenter.

Trinn 4) Sjekk oppførselen til AUT-en.
Målet med testtilfeller i programvaretesting er å sjekke oppførselen til AUT-en for å få et forventet resultat. Dette må dokumenteres som vist nedenfor.

Testtilfelle # Testsak Description Testdata forventet resultat
1 Sjekk svar når gyldig e-post og passord er angitt E-post: guru99@email.com
Passord: lNf9^Oti7^2h
Innlogging skal være vellykket

Under testgjennomføringstiden vil testeren sjekke forventede resultater mot faktiske resultater og tildele en bestått eller ikke bestått status

Testtilfelle # Testsak Description Testdata forventet resultat Egentlige resultatet Bestått / ikke bestått
1 Sjekk svar når gyldig e-post og passord er angitt E-post: guru99@email.com Passord: lNf9^Oti7^2h Innlogging skal være vellykket Påloggingen var vellykket Pass

Trinn 5) At bortsett fra testsaken - kan ha et felt som,
en forutsetning som spesifiserer ting som må være på plass før testen kan kjøres. For vårt testtilfelle ville en forutsetning være å ha en nettleser installert for å få tilgang til nettstedet som testes. Et testtilfelle kan også inkludere etterbetingelser som spesifiserer alt som gjelder etter at testtilfellet er fullført. For vårt testtilfelle ville en etterbetingelse være at tid og dato for innlogging lagres i databasen.

Viktige elementer i en testtilfelle

En standard testtilfelle inkluderer vanligvis:

  1. Testtilfelle-ID – Unik identifikator (f.eks. TC001)
  2. Tittel eller Description – Hva testen bekrefter
  3. Forutsetninger – Hva som må være på plass før testen starter
  4. Teststrinn – De nøyaktige handlingene som skal utføres
  5. Testdata – Inndataverdier eller parametere
  6. forventet resultat – Resultatet du skal se
  7. Egentlige resultatet – Hva som egentlig skjedde
  8. status – Bestått, ikke bestått eller blokkert

Testcase vs Test Scenario

A testscenario beskriver hva som må testes – den brede funksjonaliteten eller brukerreisen.

A testtilfelle, på den annen side forklarer hvordan funksjonaliteten vil bli verifisert – de nøyaktige trinnene, dataene og forventede resultatene.

For å si det enkelt:

  • Testscenario = Idé av hva som skal testes.
  • Testtilfelle = Implementering hvordan man tester den ideen.

Tenk på det slik –

«Hvis et testscenario er en kapitteltittel, er hvert testscenario et avsnitt som forklarer det kapittelet i detalj.»

Eksempelillustrasjon:

La oss ta et eksempel for å gjøre det tydeligere:

Testscenario:

«Sjekk nettsidens innloggingsfunksjonalitet.»

Relaterte testtilfeller:

  1. Bekreft pålogging med gyldig brukernavn og passord.
  2. Bekreft feilmeldingen med ugyldig passord.
  3. Bekreft pålogging med tomme felt.
  4. Feltet for å bekrefte passord skjuler inndatateksten.

Her er scenariet et enkelt funksjonelt mål, mens testtilfeller deler det opp i spesifikke, testbare forhold.

Les for mer informasjon om Forskjellen mellom testtilfelle og testscenario

Fordeler med å skrive testtilfeller av høy kvalitet

  • Testtilfeller av høy kvalitet sikrer grundig testdekning, konsistens, og traceffektivitet på tvers av hele QA-prosessen.
  • De hjelper testere med å fange opp tidlige feil, vedlikeholde regresjonsstabilitet, og garantere at all funksjonalitet er i samsvar med forretningskravene.
  • Velskrevne testtilfeller er tydelig, gjenbrukbar og repeterbar, slik at ethvert tester- eller automatiseringsverktøy kan utføre dem pålitelig.
  • De fungerer også som en kommunikasjonsbro mellom utviklere, testere og interessenter – reduserer tvetydighet og sparer tid.
  • Ved å dokumentere testmål, trinn og resultater kan teamene måle fremgang, overholde standarder, og administrere oppdateringer effektivt.
  • Viktigst av alt, gode testtilfeller redusere vedlikeholdskostnader, fremskynde automatisering, og tilby tillit til programvarekvalitet.
  • De fungerer som levende dokumentasjon for onboarding av nye testere og som strukturert input for AI og verktøy for testhåndtering.

Vanlige feil å unngå når du skriver testtilfeller

Selv erfarne testere gjør små feil som svekker testkvaliteten.

Å unngå disse feilene kan forbedre det betraktelig nøyaktighet, klarhet og vedlikeholdbarhet av testsuiten din.

  1. Skrive vage trinn: Tvetydige instruksjoner som «sjekk innloggingssiden» forvirrer testere. Bruk tydelige, handlingsbaserte trinn.
  2. Hoppping negative scenarier: Inkluder alltid ugyldige inndata eller grensetester for å sikre full dekning.
  3. Gjenbruk av uklare testdata: Umerkede eller inkonsistente data gjør testresultatene upålitelige. Oppretthold et delt testdatablad.
  4. Overkompliserende testtilfeller: Lange saker med flere trinn er vanskelige å vedlikeholde. Hold hver sak fokusert og atomær.
  5. Ignorerer oppdateringer etter produktendringer: Utdaterte testtilfeller skaper falske resultater. Revse og revidere regelmessig.
  6. Manglende tracevne: Koble alltid testtilfeller til krav for å track-dekning og samsvar.
  7. Hoppping fagfellevurderinger: Friske øyne fanger opp uklare eller overflødige trinn tidlig.

Spørsmål og svar

Testtilfeller skrives etter at kravene er ferdigstilt og før utvikling eller testing starter. Dette sikrer tydelige valideringstrinn for hver funksjonalitet og hjelper QA-team med å identifisere hull tidlig i programvareutviklingssyklusen.

En sterk testtilfelle inkluderer en unik ID, tittel, forutsetninger, testtrinn, inndata, forventede resultater, faktiske resultater, status og kommentarer. Disse feltene sikrer klarhet, traceffektivitet og enkelt vedlikehold for testere og interessenter.

Testcasehåndtering sikrer organisert, gjenbrukbar og tracmulig testdokumentasjon. Det forbedrer samarbeid, reduserer redundans og hjelper track-testdekning. Bruk verktøy som TestRail eller Jira for å sentralisere, versjonskontrollere og overvåke testfremdriften effektivt.

For å øke effektiviteten, fokuser på gjenbrukbarhet, prioritering og klarhet. Bruk modulær testdesign, automatisering for repeterende tester, regelmessige gjennomganger og tracevne til å oppfylle krav. Kontinuerlig optimalisering reduserer redundans og styrker testnøyaktigheten over tid.

AI effektiviserer opprettelse av testtilfeller ved å analysere krav, forutsi kanttilfeller og generere datadrevne scenarier. Den akselererer dekning, reduserer menneskelige feil og tilpasser tester dynamisk, slik at QA-team kan fokusere på strategi og kvalitetsvalidering i stedet for repeterende manuell skripting.

Claude og ChatGPT kan være kraftige allierte for å skrive testtilfeller. Begge kan analysere krav, generere detaljerte eller parameteriserte testscenarier, foreslå kanttilfeller og til og med konvertere naturlig språklige inndata til strukturerte testskript (som Gherkin eller pytest).

Oppsummer dette innlegget med: