hur man skriver testfall för programvara: exempel handledningLästid: 10 minuter

hur man skriver testfall kanske inte verkar som en så viktig del av utvecklingen. Men för att en programvara testare att bäst utföra sitt jobb, de behöver en kristallklar uppsättning steg att följa och en tydlig definition av vad som testas.

alla från NASA och GE till företag på företagsnivå kan dra nytta av team som fungerar bäst. Att skriva utmärkta testfall är bara ett sätt att förbättra teamets effektivitet och effektivitet och Parasoft handlar om att ge Team möjlighet att göra just det.

i den här bloggen täcker vi följande ämnen relaterade till hur man skriver ett testfall:

  1. Vad är ett testfall?
  2. Test script vs. testfall
  3. olika testfallstyper
  4. hur man skriver programvara testfall
  5. Standard testfall format
  6. testfall skriva bästa praxis
  7. test suite vs. testplan
  8. testfall skrivverktyg
se hur du kan skapa användbara och återanvändbara testfall för att göra API-funktionstestning enklare med testautomatisering förbättrad med AI.
begär en Demo

Vad är ett testfall i programvara?

ett testfall är exakt vad det låter som: ett testscenario som mäter funktionalitet över en uppsättning åtgärder eller villkor för att verifiera det förväntade resultatet. De gäller för alla program, kan använda manuell testning eller ett automatiserat test, och kan använda sig av testfall verktyg.

en viktig sak att komma ihåg när det gäller att skriva testfall är att de är avsedda att testa en grundläggande variabel eller uppgift som huruvida en rabattkod gäller för rätt produkt på en e-handel webbsida. Detta gör att en programvara tester mer flexibilitet i hur man testar kod och funktioner.

optimera enhets – och regressionstestning för inbyggda system

testskript vs. testfall

skillnaden mellan testfall vs. testskript bör också klargöras. Ett testskript är ett kort program som är avsett att testa viss funktionalitet. Ett testfall är ett dokument med steg som ska slutföras som planerat i förväg.

Tänk på testfall som en noggrant planerad resa och testskript för att vara mer som en snabb resa till mataffären.

diagram som listar olika typer av testfallsändamål: vänster kolumn visar funktionalitet, enhet, prestanda, databas; höger kolumn visar användargränssnitt, integration, säkerhet, användbarhet

olika typer av testfall

testfall kan mäta många olika aspekter av kod. De inblandade stegen kan också vara avsedda att inducera ett misslyckat resultat i motsats till ett positivt förväntat resultat, till exempel när en användare matar in fel lösenord på en inloggningsskärm.

några vanliga testfallsexempel skulle vara följande:

tabell som visar vanliga testfallsexempel för funktionalitet, säkerhet och användbarhet

testfall kan tillämpas på valfritt antal funktioner som finns i en viss programvara. Några av de mest populära exemplen är:

  • API-testning-se det i aktion.
  • UI-testning-se det i aktion.
  • enhetstestning-se den i aktion.
  • ladda & prestandatestning – se den i aktion.
  • säkerhetstestning
  • SQL-frågor
  • lågkod applikationstestning

ett populärt testfall exempel

testfall komma till hands i en mängd olika program scenarier. Allt från bank till personlig programvara kräver ett testfall ansökan. Till exempel, om målet är att ha krypterad, känslig data, måste programvaran ha funktioner som fungerar som avsett.

men funktionell testning är bara en aspekt av att skriva ett testfall. Programvarutestning bör starkt utmana alla aspekter av koden från prestanda till Kompatibilitet till säkerhet. Därför måste personlig krypteringsprogramvara testas så noggrant-särskilt när det gäller saker som webb-API: er.

infographic visar två personer som skriver ett testfall bland kod-och datorrelaterade bilder

hur man skriver Programvarutestfall

Skrivtestfall varierar beroende på vad testfallet mäter eller testar. Detta är också en situation där delning av testtillgångar över dev-och testteam kan påskynda programvarutestning. Men allt börjar med att veta hur man skriver ett testfall effektivt och effektivt.

testfall har några integrerade delar som alltid ska finnas i fält. Varje testfall kan dock delas upp i 8 grundläggande steg.

Steg 1: testfall ID

testfall ska alla ha unika ID för att representera dem. I de flesta fall hjälper det att följa en konvention för detta namngivnings-ID med organisation, tydlighet och förståelse.

steg 2: Testbeskrivning

denna beskrivning ska specificera vilken enhet, funktion eller funktion som testas eller vad som verifieras.

steg 3: antaganden och förutsättningar

detta medför alla villkor som ska uppfyllas före testfallets utförande. Ett exempel skulle kräva ett giltigt Outlook-konto för en inloggning.

steg 4: testdata

detta avser variablerna och deras värden i testfallet. I exemplet med en e-postinloggning skulle det vara användarnamnet och lösenordet för kontot.

Steg 5: Steg som ska utföras

dessa bör vara lätt repeterbara steg som utförs från slutanvändarens perspektiv. Till exempel kan ett testfall för att logga in på en e-postserver innehålla dessa steg:

  1. öppna e-postserver webbsida.
  2. ange användarnamn.
  3. Ange lösenord.
  4. klicka på” Enter ”eller” logga in ” – knappen.

steg 6: förväntat resultat

detta indikerar resultatet som förväntas efter utförandet av testfallet. När du anger rätt inloggningsinformation skulle det förväntade resultatet bli en lyckad inloggning.

Steg 7: Faktiskt resultat och Efterförhållanden

jämfört med det förväntade resultatet kan vi bestämma testfallets status. När det gäller e-postinloggningen skulle användaren antingen vara inloggad eller inte. Post-villkoret är vad som händer som ett resultat av stegets utförande, till exempel att omdirigeras till e-postbrevet.

steg 8: Pass/Fail

bestämning av pass/fail-status beror på hur det förväntade resultatet och det faktiska resultatet jämförs med varandra.

samma resultat = Pass
olika resultat = misslyckas

påskynda programvarutestning genom att dela Testtillgångar över Dev & testteam

Standard enhet testfall Format

varje del av en välskriven enhet test kommer att definiera flera centrala aspekter inklusive:

  1. funktioner som utförs av testet
  2. Data som används i testet
  3. förväntat resultat från testkörningen
  4. säkerställa att testet utfördes isolerat från andra delar av kodbasen

det är viktigt att veta att standardformatet för välskrivna Tester består av följande delar:

  • meningsfullt testmetodnamn
  • kontrollerade data eller hånar som ska användas för testning
  • metod eller enhet under test (den del av koden vi testar)
  • tillämpa ett påstående
  • utföra enhetstestet isolerat

skärmdump av kod för ett välskrivet enhetstestfall

finns det en Testfallsmall?

som nämnts finns det ett standard testfallsformat. Testfallsmallen skulle dock sannolikt variera från företag till företag och till och med från lag till lag. Istället är en testfallsmall dokumentet med en lista över testscenarier och efterföljande testfall.

Kvalitetstestfall exempel

även om testfall kommer att variera beroende på typ av testning och övergripande testfält, bygger ett kvalitetstestfall ner till de få pålitliga artiklarna ovan. Kom ihåg: namnet på testmetoden måste innehålla metoden eller enheten som testas och vad som är det förväntade resultatet.

det bör också noteras att varje enhet bör testas isolerat. I det här fallet betyder ”isolering” att hålla tester fokuserade så mycket som möjligt för att endast utföra den del av applikationen vi testar för.

detta exempel kommer från ett bankrelaterat testfall:

Screen capture av kod för ett bankrelaterat testfall

med detta metodnamn vet vi att detta är ett enhetstest som är:

  • testa metoden ’ isOverDrawn ()’.
  • den balanserade som användes för kontrollerade data var 500.
  • det förväntade resultatet är sant.

ett meningsfullt metodnamn gör att alla som granskar resultaten kan förstå vad enhetstestet testade för. Dessutom signalerar den data som ska testas, det förväntade resultatet och vad som testades.

om testet misslyckas är det viktigt att veta det förväntade resultatet för att möjliggöra enklare felsökning och säkerställa att inga regressioner införs.

Testfallsdata

de data som används måste vara tillräckliga för att utföra testet. För enhetstestning vill vi göra det så enkelt som möjligt att testa den mest grundläggande enheten i vår applikation. Data kan vara så enkelt som att göra en sträng eller objektvariabel för vilken du kan styra data. Eller ett mock-ramverk kan användas för testet om ett beroende inte är tillgängligt eller om du behöver det beroendet för att vara i ett visst tillstånd.

har precis tillräckligt för att testa den ena delen om den är tillräcklig. Du behöver inte konfigurera varje del av applikationen för att testet ska köras.

allt detta påverkar hur enhetstestet kommer att bete sig eftersom det här är de data som används för enhetstestkörning. Som sådan är denna del av enhetstestning den mest tidskrävande eftersom det kräver viss förståelse för koden du testar för att veta vilka data som ska användas för testning.

håll det enkelt genom att bara använda de delar som behövs för koden som testas. Mocks är mycket användbara i den här fasen eftersom de låter dig styra hur metoder från dessa objekt kommer att bete sig när de interagerar med ditt test.

till exempel, med tanke på följande data:

 skärmupptagning av kod som visar hur man kontrollerar objektets beteende

vi undvek ”real customer class” genom att använda en mock för ”customer class” för att testa isolering. Vi vill inte introducera eller konfigurera ett annat objekt för detta test eftersom det lägger till ytterligare ett lager av underhåll för det objektet, och det påverkar inte resultatet av metoden som testas.

nästa variabel som ska skapas är ”initial balance” – något som är känt på grund av kunskap om koden. Nästa rad visar kontoobjektet som skapas tillsammans med mocken och den ursprungliga balansen för att förbereda metoden vi testar för med de data vi just använde.

så i det här exemplet konfigureras kontoobjektet med mock-kunden eftersom vi inte bryr oss om kundobjektets data och vi passerade ett initialt saldo som vi kan kontrollera för vårt test.

nästa rad definierar inmatningen eftersom metoden som testas kräver att ett nummer används. Vi definierade ”balansen” som ska användas i den metod vi testar för. Sedan exekveras metoden med resultatet av att metoden lagras i vår variabel för att vi ska kunna använda senare.

tillämpa ett påstående

när testet kan slutföras framgångsrikt (som i det går från början till slut utan undantag eller fel), är det dags att tillämpa ett påstående på enhetstestet. Utan påståendet är enhetstestet meningslöst eftersom det inte finns något du verkställer för att säkerställa att det fungerar som avsett.

att samla täckning av vilka linjer som utfördes berättar vad som utfördes men det ger inte tillräckligt med detaljer för att bestämma följande:

  • om koden beter sig som förväntat.
  • om koden uppfyller kvalitetsmålen.
  • om de returnerade uppgifterna är de förväntade uppgifterna.

ett påstående kan vara så grundläggande som:

skärmupptagning av kod som visar ett påstående

så länge enhetstestet innehåller ett påstående som kontrollerar metoden under testresultat, är detta ett meningsfullt enhetstest.

skärmupptagning av kod för ett meningsfullt enhetstest med ett påstående

genom att tillämpa standardformatet för enhetstest kan ett team enkelt underhålla, läsa och/eller uppdatera tester med större lätthet för att enkelt se var mer testning kan tillämpas på resten av applikationen.

infographic visar ett team på jobbet runt en mega stor bildskärm. Kille till vänster på smartphone, kille sitter på toppen av skärmen arbetar på laptop, flicka på stege rita ett stapeldiagram på skärmen med en överdimensionerad penna, kille står framför skärmen talar in i en megafon, flicka till höger om skärmen anteckningar.

vilka är de bästa metoderna för att skriva Kvalitetstestfall?

hur man skriver effektiva tester och testfall kan effektiviseras över tiden. Några bästa metoder inkluderar att använda starka titlar, starka beskrivningar och hålla språket kortfattat och tydligt.

men du vill också inkludera förutsättningar, antaganden och de förväntade resultaten också. All denna information är relevant för programvarutestaren — särskilt när man bestämmer om testfallet ska vara ett ”pass” eller ett ”fail” istället.

ett fuskblad för att skapa testfall som fungerar bra är som följer:

  • Håll saker enkla och transparenta.
  • gör testfall återanvändbara.
  • Håll testfalls-ID unika.
  • Peer review är viktigt.
  • testfall bör ha slutanvändaren eller definierade krav i åtanke.
  • ange förväntade resultat och antaganden.

diagram som visar en testplan som innehåller testpaket A, B och C

enkel, unik, specifik, öppen för feedback och fokuserad på återanvändbarhet: det är vägen för ett bra testfall. För en mer visuell titt på hur man skriver ett kvalitetstestfall, kolla in Parasofts webinar om ämnet.

Test Suite vs. testplan

den andra aspekten av ett testfall innefattar testsviter och testplaner. Dessa skiljer sig på viktiga sätt och båda är avgörande för exakt testfallsutveckling.

var en smartare mjukvarutestare med dessa 5 Läckra Teknikkombinationer

Vad är en Test Suite?

en testsvit spelar in för testfall eftersom det gäller källkod, insamling av beroenden eller den serie tester som ska utföras på kod. Med testsviter kan du kategorisera testfall på sätt som passar alla analys-eller planeringsbehov.

detta innebär att kärnprogramvarufunktioner kan ha sin egen testsvit medan en annan testsvit är för en specifik testtyp som rök eller säkerhet. Tänk på testsviter som en bokhylla att organisera dina testfall på.

Vad är en testplan?

däremot är en testplan mer som paraplyet som står över alla testsviter. Om testfall är böcker och testsviter är bokhyllor, är testplaner det rum som innehåller bokhyllan.

generellt är testplaner inställda i termer av manuella tester, automatiserade tester och ett allmänt format för hur man ska testa. De kommer att testa programvaran från grunden och använda testsviter och testfall innan de genomför ändringar eller lägger till nya funktioner.

Infographic visar kille i orange skjorta och svarta byxor sitter och arbetar vid ett skrivbord med en bildskärm.

bästa testfall skrivverktyg

Parasoft utvecklar generellt sina verktyg och sviter med ”George Jetson” – teorin i åtanke. Det vill säga att vi vill att våra kunder ska kunna ”trycka på en knapp” och få allt tagit hand om. Även om detta inte är helt realistiskt är verktyg som har fokus på automatisering det bästa att använda när det gäller att skriva testfall.

inte bara kan de hjälpa till med automatisering, men de kan hjälpa till från början av utvecklingen. Det är trots allt för lätt att fastna av små detaljer eller funktioner. Man kan glömma att programvaran bara måste fungera först. Det är där ett Java-enhetstestverktyg som Parasoft Jtest kommer in.

förenkla API-testning och öka programvarukvaliteten. Se testautomatisering förbättrad med AI & ML i aktion!
begär en Demo

detta verktyg gör det möjligt för både nybörjare och experter att förbättra sina enhetstestfärdigheter snabbare, liksom upplevelsen av enhetstestning. Efter att ha etablerat en stiftelse utför den enhetstesterna och guidar sedan användaren för att säkerställa att testerna är meningsfulla. När du kan förstå vilka saker du ska leta efter i ett test blir testfallskrivning mindre skrämmande.

titeltext: förbättra enhetstestning för Java med automatisering; under titeln är en uppmaningsknapp: Få Gratis E-Bok

Lämna ett svar

Din e-postadress kommer inte publiceras.