Læsetid: 10 minutter
Sådan skriver du testcases virker måske ikke som en så vigtig del af udviklingen. Men for at en programtester bedst kan udføre deres job, har de brug for et krystalklart sæt trin, der skal følges, og en klar definition af, hvad der testes.
alle fra NASA og GE til virksomheder på virksomhedsniveau kan drage fordel af teams, der fungerer bedst. At skrive fremragende testcases er kun en måde at forbedre teamets effektivitet og effektivitet på, og Parasoft handler om at give teams mulighed for at gøre netop det.
i denne blog dækker vi følgende emner relateret til, hvordan man skriver en testcase:
- Hvad er en test case?
- Test script vs. test case
- forskellige test case typer
- hvordan man skriver test cases
- standard test case format
- test case skrivning bedste praksis
- Test suite vs. testplan
- test case skriveværktøjer
se, hvordan du kan oprette nyttige og genanvendelige testcases for at gøre API-funktionel test lettere med testautomatisering forbedret med AI.
Anmod om en Demo
Hvad er en testcase?
en testcase er præcis, hvad det lyder som: et testscenarie, der måler funktionalitet på tværs af et sæt handlinger eller betingelser for at verificere det forventede resultat. De gælder for ethvert program, kan bruge manuel test eller en automatiseret test, og kan gøre brug af test case management værktøjer.
en vigtig ting at huske, når det kommer til at skrive test cases er, at de er beregnet til at teste en grundlæggende variabel eller opgave, såsom hvorvidt en rabatkode gælder for det rigtige produkt på en e-handel hjemmeside. Dette giver en programmel tester mere fleksibilitet i, hvordan man tester kode og funktioner.
optimering af enhed og regressionstest for Indlejrede Systemer
Test Script vs Test Case
forskellen mellem test cases vs test scripts bør også afklares. Et test script er et kort program beregnet til at teste visse funktioner. En testsag er et dokument med trin, der skal udfyldes som planlagt på forhånd.
overvej test cases som en omhyggeligt planlagt tur og test scripts til at være mere som en hurtig tur til købmanden.
forskellige typer af test Cases
Test cases kan måle mange forskellige aspekter af kode. De involverede trin kan også være beregnet til at fremkalde et Fejlresultat i modsætning til et positivt forventet resultat, f.eks.
nogle almindelige eksempler på testsager ville være følgende:
testcases kan anvendes på et hvilket som helst antal funktioner, der findes i et givet program. Nogle af de mest populære eksempler inkluderer:
- API testing-se det i aktion.
- UI test – se det i aktion.
- Unit testing – se det i aktion.
- Indlæs & ydelsestest – se det i aktion.
- sikkerhedstest
- spørgsmål
- test af applikationstest med lav kode
et populært eksempel på testcase
testcases er nyttige i en række forskellige programmelscenarier. Alt fra Bank til personlige programmer kræver en test case ansøgning. For eksempel, hvis målet er at have krypterede, følsomme data, skal programmet have funktioner, der fungerer efter hensigten.
men funktionel test er kun et aspekt ved at skrive en testcase. Programmelprøvning skal udfordre alle aspekter af koden fra ydeevne til kompatibilitet til sikkerhed. Derfor skal personlige krypteringsprogrammer testes så grundigt — især når det kommer til ting som API ‘ er.
hvordan man skriver testcases
skrivning af testcases varierer afhængigt af, hvad testcases måler eller tester. Dette er også en situation, hvor deling af testaktiver på tværs af dev-og testteams kan fremskynde test af programmer. Men det hele starter med at vide, hvordan man skriver en testsag effektivt og effektivt.
testcases har et par integrerede dele, der altid skal være til stede i felter. Imidlertid kan hver testsag opdeles i 8 grundlæggende trin.
Trin 1: Test Case ID
Test tilfælde skal alle bære unikke id ‘ er til at repræsentere dem. I de fleste tilfælde hjælper det med organisation, klarhed og forståelse at følge en konvention for dette navngivnings-ID.
Trin 2: Testbeskrivelse
denne beskrivelse skal angive, hvilken enhed, funktion eller funktion der testes, eller hvad der verificeres.
Trin 3: antagelser og forudsætninger
dette indebærer alle betingelser, der skal opfyldes inden udførelse af testtilfælde. Et eksempel ville være at kræve en gyldig Outlook-konto for et login.
Trin 4: testdata
dette vedrører variablerne og deres værdier i testsagen. I eksemplet med et e-mail-login ville det være brugernavnet og adgangskoden til kontoen.
Trin 5: Trin, der skal udføres
disse skal være let gentagelige trin som udført fra slutbrugerens perspektiv. For eksempel kan en testsag til at logge ind på en e-mail-server omfatte disse trin:
- Åbn e-mail server hjemmeside.
- Indtast brugernavn.
- Indtast adgangskode.
- Klik på knappen “Enter” eller “Login”.
Trin 6: forventet resultat
dette angiver det forventede resultat efter udførelse af testcase-trin. Ved indtastning af de rigtige loginoplysninger ville det forventede resultat være et vellykket login.
Trin 7: Faktisk resultat og Postbetingelser
sammenlignet med det forventede resultat kan vi bestemme status for testsagen. I tilfælde af e-mail-login vil brugeren enten være logget ind eller ej. Postbetingelsen er, hvad der sker som et resultat af trinudførelsen, såsom at blive omdirigeret til e-mail-indbakken.
Trin 8: Pass/Fail
bestemmelse af pass/fail-status afhænger af, hvordan det forventede resultat og det faktiske resultat sammenlignes med hinanden.
samme resultat = Pass
forskellige resultater = Fail
fremskynde test af programmer ved at dele Testaktiver på tværs af Dev & Testteams
standard enhed Test Case Format
hver del af en velskrevet enhed test vil definere flere centrale aspekter, herunder:
- funktioner udført af testen
- Data anvendt i testen
- forventet resultat fra testudførelsen
- sikring af, at testen blev udført isoleret fra andre dele af kodebasen
det er vigtigt at vide, at standardformatet for velskrevne tests består af følgende dele af testen::
- meningsfuldt testmetodenavn
- kontrollerede data eller mocks, der skal bruges til test
- metode eller enhed under test (den del af koden, vi tester)
- anvendelse af en påstand
- udførelse af enhedstesten isoleret
er der en test Case skabelon?
som nævnt er der et standard test case format. Test case-skabelonen vil dog sandsynligvis variere fra virksomhed til virksomhed og endda fra team til team. I stedet er en testcase-skabelon dokumentet med en liste over testscenarier og efterfølgende testcases.
eksempel på Kvalitetstesttilfælde
selvom testsager vil variere afhængigt af typen af test og det samlede testfelt, kommer opbygning af en kvalitetstestsag ned til de få pålidelige emner ovenfor. Husk: navnet på testmetoden skal indeholde den metode eller enhed, der testes, og hvad er det forventede resultat.
det skal også bemærkes, at hver enhed skal testes isoleret. I dette tilfælde betyder” isolation ” at holde testene fokuseret så meget som muligt for kun at udføre det stykke af applikationen, vi tester for.
dette eksempel kommer fra en bankrelateret testsag:
med dette metodenavn ved vi, at dette er en enhedstest, der er:
- afprøvning af metoden ‘isovertegnet ()’.
- den anvendte balance for de kontrollerede data var 500.
- det forventede resultat er sandt.
et meningsfuldt metodenavn giver alle, der gennemgår resultaterne, mulighed for at forstå, hvad enhedstesten testede for. Desuden signalerer det de data, der skal testes, det forventede resultat, og hvad der blev testet.
hvis testen mislykkes, er det afgørende at kende det forventede resultat for at muliggøre lettere fejlfinding og sikre, at der ikke introduceres regressioner.
test Case Data
de anvendte data skal være nok til at udføre testen. Til enhedstest ønsker vi at gøre det så enkelt som muligt at teste den mest basale enhed i vores applikation. Dataene kan være så enkle som at lave en streng eller Objektvariabel, som du kan styre dataene for. Eller en mock-ramme kan bruges til testen, hvis en afhængighed ikke er tilgængelig, eller du har brug for, at afhængigheden skal være i en bestemt tilstand.
har lige nok til at teste den ene del, hvis den er tilstrækkelig. Du behøver ikke at konfigurere hvert stykke af applikationen for at testen skal køre.
alt dette påvirker, hvordan enhedstesten vil opføre sig, da dette er de data, der bruges til udførelse af enhedstest. Som sådan er denne del af enhedstest den mest tidskrævende, da det kræver en vis forståelse af den kode, du tester for at vide, hvilke data der skal bruges til test.
hold det enkelt ved kun at bruge de dele, der er nødvendige for den kode, der testes. Mocks er meget nyttige i denne fase, da de giver dig mulighed for at kontrollere, hvordan metoder fra disse objekter vil opføre sig, når de interagerer med din test.
for eksempel givet følgende data:
vi undgik den “rigtige kundeklasse” ved at bruge en mock til “kundeklassen” til test af isolering. Vi ønsker ikke at introducere eller konfigurere et andet objekt til denne test, da det tilføjer endnu et lag af vedligeholdelighed for det objekt, og det påvirker ikke resultatet af metoden under test.
den næste variabel, der skal oprettes, er “initial balance”—noget kendt på grund af kendskab til koden. Den næste linje viser kontoobjektet, der oprettes sammen med mock og den oprindelige saldo for at forberede den metode, vi tester for med de data, vi lige har brugt.
så i dette eksempel er kontoobjektet konfigureret med mock-kunden, da vi ikke er ligeglade med kundeobjektets data, og vi bestod en indledende saldo, som vi kan kontrollere til vores test.
den næste linje definerer input, da metoden under test kræver et tal, der skal bruges. Vi definerede den “balance”, der skal bruges i den metode, vi tester for. Derefter udføres metoden med resultatet af, at metoden gemmes i vores variabel, som vi senere kan bruge.
anvendelse af en påstand
når testen kan gennemføres med succes (som i den løber fra start til slut uden undtagelser eller fejl), er det tid til at anvende en påstand på enhedstesten. Uden påstanden er enhedstesten meningsløs, da der ikke er noget, du håndhæver for at sikre, at det fungerer som beregnet.
indsamling af dækning af hvilke linjer der blev udført fortæller hvad der blev udført, men det giver ikke nok detaljer til at bestemme følgende:
- hvis koden opfører sig som forventet.
- hvis koden opfylder kvalitetsmål.
- hvis de returnerede data er de forventede data.
en påstand kan være så grundlæggende som:
så længe enhedstesten indeholder en påstand, der kontrollerer metoden under testresultat, er dette en meningsfuld enhedstest.
ved at anvende standardformatet for enhedstest kan et team let vedligeholde, læse og/eller opdatere test med større lethed for let at se, hvor mere test kan anvendes på resten af applikationen.
Hvad er de bedste fremgangsmåder til at skrive Kvalitetstestsager?
hvordan man skriver effektive tests og testsager kan strømlines over tid. Nogle bedste fremgangsmåder inkluderer brug af stærke titler, stærke beskrivelser og at holde sproget kortfattet og klart.
men du vil også gerne medtage forudsætninger, antagelser og de forventede resultater også. Alle disse oplysninger er relevante for programtesteren — især når det afgøres, om testsagen skal være et “pass” eller et “fail” i stedet.
et snydeark til oprettelse af testsager, der fungerer godt, er som følger:
- hold tingene enkle og gennemsigtige.
- gør testcases genanvendelige.
- hold test case id ‘ er unikke.
- fagfællebedømmelse er vigtig.
- testcases skal have slutbrugeren eller definerede krav i tankerne.
- Angiv forventede resultater og antagelser.
enkel, unik, specifik, åben for feedback og fokuseret på genanvendelighed: det er vejen til en god testsag. For et mere visuelt kig på, hvordan man skriver en kvalitetstest sag, tjek Parasofts hjemmeside om emnet.
testsuite vs. testplan
det andet aspekt af en testsag involverer testsuiter og testplaner. Disse adskiller sig på vigtige måder, og begge er afgørende for nøjagtig test case udvikling.
Bliv en smartere Programtester med disse 5 lækre Teknologikombinationer
Hvad er en Test Suite?
en testpakke kommer i spil for testsager, da den vedrører kildekode, indsamling af afhængigheder eller den pakke af tests, der skal udføres på kode. Testsuiter giver dig mulighed for at kategorisere testsager på måder, der stemmer overens med eventuelle analyse-eller planlægningsbehov.
dette betyder, at kerneprogrammets funktioner kan have deres egen testpakke, mens en anden testpakke er til en bestemt testtype, såsom røg eller sikkerhed. Tænk på testsuiter som en bogreol til at organisere dine testsager på.
Hvad er en testplan?
i modsætning hertil er en testplan mere som paraplyen, der står over alle testsuiterne. Hvis testsager er bøger, og testsuiter er bogreoler, er testplaner det rum, der indeholder bogreolen.
generelt er testplaner oprettet med hensyn til manuelle tests, automatiserede tests og et generelt format for, hvordan man skal udføre test. De tester programmet fra fundamentet og bruger testsuiter og testcases, før de implementerer ændringer eller tilføjer nye funktioner.
bedste test Case skriveværktøjer
Parasoft udvikler generelt sine værktøjer og suiter med “George Jetson” teorien i tankerne. Det vil sige, at vi ønsker, at vores kunder skal kunne “trykke på en knap” og få alt taget hånd om. Selvom dette ikke er helt realistisk, er værktøjer, der har dette fokus på automatisering, de bedste at bruge, når det kommer til at skrive testsager.
ikke kun kan de hjælpe med automatisering, men de kan hjælpe helt fra begyndelsen af udviklingen. Det er trods alt for nemt at komme ned af små detaljer eller funktioner. Man kan glemme, at programmet bare skal fungere først. Det er her et Java-enhedstestværktøj som Parasoft Jtest kommer ind.
forenkle API test og øge programmel kvalitet. Se testautomatisering forbedret med AI & ML i aktion!
Anmod om en Demo
dette værktøj giver både begyndere og eksperter mulighed for at forbedre deres enhedstestfærdigheder hurtigere såvel som enhedstestoplevelsen. Efter etablering af et fundament udfører den enhedstestene og guider derefter brugeren for at sikre, at testene er meningsfulde. Når du kan forstå den slags ting at kigge efter i en test, test case skrivning bliver mindre skræmmende.