De mange typer softwaretestmetoder

click fraud protection

Inden software sendes til offentlig eller kommerciel brug, bruger programmører timer på at stryge hver fejl, og produktet forbliver i limbo, indtil alle interessenter er tilfredse.

Silicon Valley-softwaregiganter som Google og Facebook sender ofte populære produkter til markedet på trods af deres softwares lavt prioriterede fejl. Investorer og millioner af loyale brugere vil tolerere softwareopdateringer og midlertidige kinks i produkter, som disse virksomheder tilbyder.

De fleste softwarevirksomheder har ikke denne luksus. Kunder ønsker, at produkter skal fungere som annonceret og bliver med rette alarmeret, hvis der er uløste sårbarheder.

Hvorfor er testfærdigheder nødvendige?

Med så mange muligheder for softwareudvikling til rådighed, tænker kunderne ikke to gange om at springe skib, hvis produktet stinker af spildtid og penge. Softwarevirksomheder skal udføre strenge test af deres produkter, før de frigives til kunderne. Disse tests giver følgende indsigt:

  • De fremhæver forskelle mellem det originale koncept og det endelige output.
  • De bekræfter, at softwaren fungerer som designerne havde planlagt.
  • De vurderer funktioner og kvalitet.
  • De validerer, at slutproduktet opfylder kundernes krav.

Testning følger en streng plan for at optimere arbejdsbyrden, tid og penge, samtidig med at interessenterne får væsentlig information til at flytte produktet fremad. Målet er at facilitere en positiv slutbrugeroplevelse ved at holde en grundig kvalitetssikring (QA) program. I betragtning af den høje indsats for udviklere er QA-managere nogle af de topindtjenere i teknologibranchen. Testning følger normalt disse trin:

  1. Udfør en behovsanalyse, hvor ledere skitserer en plan for at lægge en passende teststrategi på plads.
  2. Begynd tests og analyser resultaterne.
  3. Ret eventuelle defekter og sæt softwaren gennem regressionstest (et system til at kontrollere, at programmet stadig virker efter ændringer).
  4. Opret en testafslutningsrapport, der beskriver processen og resultaterne.

Enkeltpersoner kan blive certificerede softwaretestere gennem BCS, The Chartered Institute for IT, ISTQB (International Software Testing Qualifications Board), og ASQ (American Society for Quality).

Softwaretestmetoder

Sort og hvid bokstest er to grundlæggende metoder til at bedømme produktadfærd og ydeevne. Black box-test, også kaldet funktionel eller specifikationsbaseret test, fokuserer på output. Testere er ikke bekymrede over de interne mekanismer. De kontrollerer kun, at softwaren gør, hvad den skal. Kendskab til kodning er ikke nødvendig, og testere arbejder på brugergrænsefladeniveau.

White box testing bruger kodningserfaring som en del af testproceduren. Når et produkt fejler, går testerne dybt ind i koden for at finde årsagen. Softwareudviklere vil selv gøre dette, fordi kunderne forventer, at de får et produkt til at fungere. Test af hvide bokse omtales også som "strukturbaseret" eller "glaskasse" test.

Statisk test undersøger kildekoden og eventuel medfølgende dokumentation, men udfører ikke programmet. Statiske test starter tidligt i produktets udvikling under verifikationsprocessen.

Dynamisk test bruger forskellige input, når softwaren kører, og testere sammenligner output med forventet adfærd. Grafisk test af brugergrænsefladen evaluerer tekstformatering, tekstbokse, knapper, lister, layout, farver og andre grænsefladeelementer. GUI-testning er tidskrævende, og tredjepartsvirksomheder påtager sig ofte opgaven i stedet for udviklere.

Test niveauer

Forskellige testniveauer bruges til at identificere svaghedsområder og overlapninger i hver fase af livscyklus for softwareudvikling. Testniveauerne er:

  • Enhedstest
  • Integrationstest
  • System test
  • Accept test

Ved enhedstestning tester udviklere de mest basale kodedele, såsom klasser, grænseflader og funktioner/procedurer. De ved, hvordan deres kode skal reagere og kan foretage justeringer afhængigt af outputtet.

Integrationstest er også kendt som "modul" eller "program" test. Det ligner enhedstest, men indeholder et højere integrationsniveau. Softwarens moduler testes for defekter for at verificere deres funktion. Integrationstest identificerer fejl, når modulerne integreres. Forskellige metoder til integrationstest omfatter "bottom-up", "top-down" og "funktionel inkrementel".

Systemtest tester komponenter af et projekt som helhed i forskellige miljøer. Systemtest falder ind under black box-metoden og er en af ​​de sidste test i processen. Det vil afgøre, om systemet er forberedt til at opfylde forretnings- og brugerbehov.

Der er generelt to typer accepttest. Ved alfatest udføres softwaren internt på udviklerens websted i et simuleret eller faktisk miljø. Softwaren kører, som om live-slutbrugere brugte den. Udviklere noterer eventuelle problemer og begynder at rette fejl og andre problemer.

Også inden for rammerne af black-box-test, i accepttest, tester klienter software for at finde ud af, om udvikleren har fuldt udviklet programmet, så det passer til deres ønskede specifikationer.

Beta-test, eller felttest, lader kunder teste produktet på deres websteder under virkelige forhold. Kunder kan tilbyde en gruppe slutbrugere muligheden for at teste softwaren via pre-release eller betaversioner. Beta-test har til formål at få faktisk brugerfeedback, som sendes til udvikleren.

Testtyper

Forskellige typer softwaretests er designet til at fokusere på specifikke mål. Testingeniøren og konfigurationsadministratoren bruger installationstest for at sikre, at slutbrugeren kan installere og køre programmet. Det dækker områder som installationsfiler, installationssteder og administrative rettigheder.

Udviklingstest implementerer en række synkroniserede strategier til at opdage og forhindre defekter. Det omfatter statisk kodeanalyse, peer-kodegennemgange, sporbarhed og metrikanalyse. Målet er at reducere risici og spare omkostninger.

Brugeroplevelse kommer i søgelyset med usability test. Det måler, hvor let GUI'en er at bruge. Den kontrollerer nøjagtigheden og effektiviteten af ​​funktioner og testpersonernes følelsesmæssige reaktioner.

En fornuftstest angiver, om softwaren er tiden og omkostningerne værd for at fortsætte yderligere tests. Hvis der er for mange fejl, vil mere aggressive tests ikke følge.

Sanitetstest udføres i softwarefrigivelsesfasen, hvor røgtest udføres for at se, om softwaren vil køre nok til at være testbar.

Røgtest afslører fundamentale fejl, der er alvorlige nok til at forhindre udslip. Når udviklere tester en ny build, kaldes det en "build verification" test. Når systemet gennemgår modifikation, overvåger regressionstest uventet adfærd. Den påpeger negative virkninger på moduler eller komponenter.

Testere indtaster unormale indtastninger og skelner softwarens evne til at håndtere uventede input i destruktive tests. Dette viser udviklere, hvor robust programmet er til fejlhåndtering.

Når hardware eller andre funktioner fejler, viser gendannelsestest, hvor godt softwaren kan genoprette og fortsætte driften.

Automatisering udfører funktioner, der er udfordrende at implementere manuelt. Test involverer brug af specifik software til at køre test og levere data om faktiske vs. forventede resultater.

Softwaren skal køre i forskellige computermiljøer, så kompatibilitetstest kontrollerer, hvordan softwaren reagerer på forskellige systemer. For eksempel tester programmører softwaren med forskellige operativsystemer og webbrowsere.

Tests skal være omfattende og adressere alle kunders bekymringer, ellers bliver projektet hurtigt spild af ressourcer.

Ydelsestest undersøger softwareydeevne i forskellige scenarier. Information om lydhørhed, stabilitet, ressourceallokering og hastighed indsamles. Undertests såsom volumen, kapacitet og spidstest spiller en rolle i denne proces.

Sikkerhedstest måler softwarens evne til at beskytte brugernes sikkerhed. Autorisationsfunktioner, autentificering, fortrolighed, integritet, tilgængelighed og ikke-afvisning er alle eksempler på funktioner, der skal testes.

Tilgængelighedstest er anderledes end brugervenlighedstest. Dette bestemmer, i hvilket omfang brugere med forskellige evner kan bruge softwaren.

Internaliserings- og lokaliseringstestresultater viser, hvordan softwaren kan tilpasse sig forskellige sprog og regionale krav. Dette inkluderer tilføjelse af komponenter til specifikke lokationer og tekstoversættelse.

101 nye ideer til at inspirere dig til at starte en virksomhed

Få ting er så spændende som at starte en ny virksomhed. Før dig starte din egen virksomhed, men du er nødt til at komme med nogle gode ideer. Tricket er at finde en god lille forretningsidé, der vil være levedygtig, begejstre dig og passe til din...

Læs mere

QSR, afslappet spisning og hurtige afslappede restauranter

Når de ønsker et hurtigt, afslappet måltid, men ikke ønsker at lave mad, har forbrugerne mange muligheder, lige fra sitdown-restauranter til, hvad der typisk opfattes som "fastfood"-virksomheder. Lad os tage et kig på de tre hovedformater af afsl...

Læs mere

Coca-Cola karriere- og beskæftigelsesoplysninger

Interesseret i en karriere for Coca-Cola? The Coca-Cola Company er et multinationalt drikkevareselskab med aktiviteter i over 200 lande. Virksomheden fremstiller, forhandler og markedsfører ikke-alkoholholdige drikkevarer, herunder Coca-Cola, Die...

Læs mere