Hvad er statisk test?
Ud af de mange anvendte teknikker er statisk test en anden, der hjælper med at opdage defekter i software. Statisk test gør dette uden faktisk at udføre testsagen. Det involverer undersøgelse af kode og kontrollerer også det nødvendige dokument, der er involveret, men behøver ikke, at programmet skal udføres. Det er i modsætning til dets modstykke til dynamisk test, hvor der er involvering af programmet og dets udførelse.
Statisk test er en gennemprøvet måde at forbedre kvalitet og produktivitet på når det gælder softwareudvikling og testproces. Det hjælper testerne eller udviklerne med at løse deres mangler i den tidlige fase af softwareudviklingen. Det kan ske manuelt eller ved hjælp af et værktøj. Der er forskellige anmeldelser, gennemgangsgange, inspektion og analyse, der hjælper med at finde problemer uden udførelse.
Hvorfor udføre statisk test?
Statisk test hjælper med at finde tidlige defekter. Disse defekter, hvis de findes i de tidlige stadier, kan korrigeres og ville ikke gå til yderligere faser. Tidsplanerne for udvikling reduceres, da koden hurtigt kan udvikles ved at følge retningslinjerne.
Da problemerne blev fundet i tidligere faser, reduceres omkostningerne til testning som et resultat af at spare meget tid. Alt dette til gengæld forbedrer udviklingskvaliteten. Produktiviteten for udviklere øges også, da de allerede har et sæt retningslinjer, gennemgang, inspektioner osv. (Som diskuteres i senere faser i denne artikel), der skal følges. Det reducerer også antallet af defekter, der opstår på et senere stadium af testen.
Hvad er anvendelsesområdet for statisk testning?
- Statisk test kan bruges til at teste enhedstesttilfælde. Dette er den meget indledende fase, hvor problemer kan løses. Et andet område, hvor statisk test er nyttigt, er virksomhedskravdokumentet. Det hjælper med at gennemgå kravene og komme til systemets legitime behov. Det kan også bruges i tilfælde, hvor brugssager er på billedet.
- De andre områder, hvor statisk test kan udføre vidundere ved at gøre opmærksom på problemerne, er funktionelle krav, prototype, prototypespecifikationsdokument, testdata, sporbarhedsmatrixdokument, træningsvejledninger og dokumenter osv. For at tilføje til alle disse er det også nyttigt i automatisering og ydelsestestning, hvor problemområderne kan findes på forhånd.
Hvordan udføres statisk testning?
For at udføre statisk test er der nogle få måder, der skal følges. Inspektion skal udføres fuldstændigt for at inspicere og designe applikationen. Statisk testning fokuserer hovedsageligt på anmeldelser. En checkliste kan vedligeholdes, hvor hvert dokument er nævnt, så det sikres, at alle anmeldelser er dækket fuldstændigt.
Der er et par aktiviteter, der udføres i denne testning, der er anført nedenfor:
- Brug validering af sagsbehov: I denne validering identificeres og valideres alle slutbrugerhandlinger. Det kontrollerer også alle de forskellige input- og output-handlinger, der er knyttet til brugssagen. Flere detaljer om brugssagen, desto mere er nøjagtigheden af de testsager, der oprettes.
- Funktionelle krav Validering: Det hjælper med at bemærke alle funktionelle ændringer, databaseændringer, listegrænseflader, netværkskrav, hardware- og softwareændringer. Det er et skridt for at sikre, at alle nødvendige ændringer noteres og implementeres.
- Arkitekturgennemgang: Den komplette arkitektur af et projekt har brug for servere, der er til stede forskellige steder, netværksdiagrammer, protokoldefinitioner, databaseadgang, belastningsbalancering osv. Dette hjælper med at få et komplet overblik over udstyrets brug og arkitekturdesign.
- Prototype eller Screen Mockup Validation: Det inkluderer validering af krav og brugssager, der er baseret på dem.
- Validering af feltordbog: Alle felter, der bruges i brugergrænsefladen, kræver en valideringstest for at blive udført. De forskellige felter har brug for, at de kontrolleres for minimum og maksimal længde, angiver forskellige værdier, fejlmeddelelser osv. Det er meget vigtigt at angive disse felter og sørge for, at de bliver valideret.
Når du bruger statisk test i din flow, skal det huskes, at produktet kontrolleres manuelt eller ved hjælp af visse værktøjer. Der er to typer statiske testteknikker. De er hovedsageligt anmeldelser og test med værktøjer.
Statiske testteknikker
De teknikker, der er involveret i testingen, er som nedenfor:
- Uformelle anmeldelser
- Walkthroughs
- Tekniske anmeldelser
- Inspektioner
- Statisk analyse
Lad os give dig en kort beskrivelse af alle disse teknikker.
1) Uformelle anmeldelser
- Dette er den allerførste gennemgang, der startes i det tidlige stadium af dokumentet. Som navnet antyder, kan det ske uformelt mellem to personer, hvor flere mennesker kan tilføjes senere. Der er ingen procedure involveret heri, og der foretages derfor ingen dokumentation til gennemgangen. Det forbedrer kvaliteten af det dokument, der udarbejdes. Selvom der er mange måder at udføre formel test på, er de ofte anvendte dem uformelle. Denne proces gennemgår 6 trin. Disse inkluderer:
- Planlægning
- Kick-Off
- Forberedelse
- Gennemgå møde
- rework
- Opfølgning
- Den formelle gennemgangsplanlægning involverer en moderator, der inspicerer bordet og tager sig af planlægningsdetaljer for planlægningssessionen. Startmødet finder sted, og med målet om at have en sammenhængende og klar forståelse får alle deltagere en tidslinje til at dokumentere og forpligte sig til de krævede ændringer.
- Der gives en kort introduktion om emnet for alle. Derefter gennemgår deltagerne hvert enkelt dokument hvert enkelt og deler deres artefakter med korrekturlæseren. Derefter gennemføres en formel gennemgang i et revisionsmøde, der markerer alle spørgsmål som diskuteret, og den endelige beslutning tages. Eventuelle specifikke problemer registreres også. Baseret på disse møder gennemgår alle mangler, der findes, omarbejdet. Der tages opfølgning for at kontrollere de ændringer, der forventes.
- Forfatteren tager ansvaret for disse mangler, da det ikke er nødvendigt at udføre enhver mangel. Moderatoren kontrollerer derefter, om alle forventede handlinger er truffet eller ej. Alle mangler logges med procesforbedringsforslag. Det er moderatorens opgave at tjekke for alle målinger og evaluere exit-kriterierne for de aktuelle diskussioner og handlinger.
2) Gennemgang
- I gennemgangen er andre involveret, og kollektiv feedback fra teamet opnås, så der er en fælles forståelse, der opfylder dokumentets formål. Et team behøver ikke at foretage en detaljeret undersøgelse. Forfatterne er allerede forberedt på denne anmeldelse. Alt indhold, der præsenteres, skal evalueres. De foreslåede løsninger skal valideres, inden de diskuteres.
- Dokumentet, der er under kontrol, gennemgås forfatteren af dokumentet, og andre mennesker bliver bedt om at kontrollere og give deres mening om dokumentet. Der gives mange feedbacks, og disse tages i betragtning. Trinvis forklaring hjælper deltagerne med at få et klart billede. De kan studere koden og gennemgå den inden mødet. Det hjælper med at skabe et dokument på højere niveau.
- Der er et bredt afsnit, der er dækket, og det sikrer, at intet aspekt af kravene udelades. Der oprettes en fælles forståelse omkring dokumentet, og løsninger eller alternativer foreslås.
3) Teknisk gennemgang
- Dette er et formelt møde, hvor det tekniske indhold af dokumentet diskuteres. Der kræves en ekspertes vejledning. Det fokuserer på at få værdien af de tekniske forhold, der er til stede i projektet. Det hjælper med at have konsistens og sikrer, at alle tekniske detaljer er korrekte. Ved at foretage teknisk gennemgang forventes det at opnå enighed om tekniske aspekter af alle dokumenter.
- Når dokumentationen er færdig, bliver eksperterne bedt om at foretage en uformel gennemgang. Disse eksperter kan være arkitekter, chefdesignere, centrale brugere osv. Medprogrammerere eller peers kan også være en del af denne gennemgang. Alle tekniske koncepter kan vurderes af alle i denne gennemgang. Det sørgede også for, at de rigtige koncepter bruges på det rigtige sted.
4) Inspektion
- Dette er den mest formelle form for gennemgang, der afholdes. Her leder et senior eller uddannet team personale inspektionsprocessen. Før mødet finder sted, er alle korrekturlæsere forberedt, og dokumenterne er forberedt. En inspektion sikrer, at det komplette produkt undersøges, og at der findes fejl. Alle fundne fejl skal opretholdes i logfiler. Inspektion fokuserer på at forbedre kvaliteten af det dokument, der inspiceres.
- Det er effektivt til at finde mangler og skaber dokumenter, der har en meget høj kvalitet. Det er også en måde at notere sig tidligere mangler og ikke igen have lignende defekter. Alle fejl, der er rejst, registreres og diskuteres. Yderligere diskussioner for disse dokumenter udføres kun, når manglerne er rettet. Det fokuserer på at finde mangler i de tidlige stadier og forbedrer på sin side kvaliteten af softwaren i vid udstrækning.
Statiske testværktøjer
De statiske analyseværktøjer bruges hovedsageligt af udviklere. De kan ses som en udvidelse til kompilatorerne. Nogle compilere har også en statisk analysefunktion. Det kontrollerer for statiske krav og analyserer også den statiske analyse af websteder. Ved at bruge disse værktøjer kan koden udvikles på en måde, der let kan forstås.
Kodestandarder kan indstilles ved hjælp af disse værktøjer. Dette trin fokuserer på at teste teknik, design og kode ved hjælp af automatiserede værktøjer. Fokus er på softwarekoden. Det bruges af udviklere før og under integrationstest.
Forskellige værktøjer involveret i statisk test er som følger:
- Kodestandarder: For at have en ensartet måde, der følges af udviklerne, skal det sikres, at alle kodningsstandarder, der er sat, følges. Værktøjer kan bruges til at kontrollere disse standarder. Hvis der ikke bruges noget værktøj til dette, er der mindre sikkerhed for overholdelse af en kodningsstandard.
- Kodemetrik: Kodens strukturelle attributter kan måles ved at bruge kodemetrik. Når softwaren fortsætter med at bygge, gør den koden kompleks. Kodemetrikke hjælper med at designe effektiv og kan også have alternativer, mens koden omdesignes.
- Kodestruktur: Kodens struktur som kontrolstrømmen, datastrukturer og deres strøm bestemmes i denne fase. Det fungerer efter den sekvens, hvor instruktionerne udføres i programmet. Dette inkluderer løkker og iterationer, forskellige betingelser, der skal bruges i programmet. Koden, der overhovedet ikke bruges, også kendt som død kode, kan identificeres i denne fase og fjernes. Strømmen af programmet bestemmer de dataelementer, der er adgang til, og derefter kan ændringer i kode foretages i overensstemmelse hermed. Alle datastrukturer inklusive komplekse datastrukturer kan identificeres.
Fordele og ulemper
Nedenfor er nogle fordele og ulemper ved statisk test
Fordele
- Testningen udføres normalt af eksperter, der har god teknisk viden og viden om kodning.
- For at være smidig og hurtig med at finde fejl kan denne teknik bruges.
- Automatiseringsværktøjer kan bruges i denne test, hvilket gør processen med hurtigt at scanne og gennemgå.
- Når der er tale om statisk test, kan fejlene findes på et tidligt tidspunkt og reducerer derfor omkostningerne til at løse disse problemer.
- Alle risici kan let afhjælpes, når der bruges automatiseringsværktøjer.
Ulemper
- Problemer og svage punkter kan skabe et problem, når koden udføres i realtid
- Disse værktøjer scanner kun koden
- Statisk testning er meget tidskrævende, når den udføres manuelt.
- Automatiseringsværktøjerne kan undertiden give falske positive og negative tilfælde. De scanner også kun koden, der kan føre til funktionsfejl.
Konklusion
Statisk test er den nemmeste og effektive måde at finde defekter i kode på et tidligere stadium. Koden gennemgås af eksperter, og der bliver taget problemer, inden de når test. Det hjælper også med at indstille kodestandarder, som kan følges af alle.
Denne test udføres normalt af udviklere, og tekniske problemer kan derfor begrænses på et tidligt tidspunkt. Det reducerer risikoen for produktionsfejl på grund af fjollet dokumentationsspørgsmål. Alle disse verificeres på forhånd og fører derfor til mindre problemer.
Anbefalede artikler
Dette har været en guide til statisk test. Her har vi diskuteret, hvordan det udføres, teknikker, værktøjer, fordele og ulemper ved statisk test. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -
- Hvad er virtualisering inden for cloud computing?
- Funktionel test vs ikke-funktionel test
- Karrierer inden for softwaretestning
- Spørgsmål om software-testintervju
- Ordbog i Python