software development
Hvad er softwareudviklings- og testmetoder?
Test er en væsentlig del af softwareudviklingsprocessen. Et robust og stabilt softwareprodukt kan leveres ved brug af standard testmetoder, der hjælper med at forudsige tidslinjen for softwaresystemet.
En softwareapplikation kan blive endnu mere kompleks med et stort antal platforme og enheder. Endnu vigtigere er det nødvendigt at sikre, om de opfylder de angivne krav og effektivt kan installeres og betjenes på brugerens maskine eller ej.
Med midlerne til sikkerhed , kompatibilitet og anvendelighed, skal et softwareprodukt testes ved hjælp af den korrekte testmetode.
I denne artikel , vi vil diskutere, hvad der menes med testmetoder, hvordan det adskiller sig fra teststrategier og typer softwaretestmetoder i detaljer.
Hvad du vil lære:
- Betydning af testmetoder
- Testteknikker
- Modeller i SDLC
- Forskel mellem testmetoder og teststrategier
- Konklusion:
- Anbefalet læsning
Betydning af testmetoder
Metoder kan betragtes som det sæt testmekanismer, der anvendes i softwareudviklings livscyklus fra enhedstest til systemtest. Valg af en passende testmetode anses for at være kernen i testprocessen.
Testteknikker
Dybest set er der 3 testmetoder, der bruges til test. De er White Box Testing, Black Box Testing og Test af grå boks . Disse kaldes også som Testteknikker . Hver af testteknikkerne er beskrevet nedenfor for din bedre forståelse.
# 1) White Box Testing:
Hvid boks testteknik bruges til at undersøge programmets struktur og forretningslogik, det validerer koden eller programmet for en applikation. Det kaldes også som Clear Box Testing, Glass Box Testing eller Open Box Testing .
White Box testteknikker inkluderer:
- Erklæringens dækning: Undersøger alle programmeringsudsagnene.
- Filialdækning: Serie løbende tests for at sikre, om alle grene er testet.
- Sti dækning: Tester alle mulige stier til at dække hver erklæring og gren.
# 2) Black Box Testing:
Black Box testmetode bruges til at teste funktionaliteten af en applikation baseret på kravspecifikationen. I modsætning til White Box Testing fokuserer den ikke på applikationens interne struktur / kode.
Black Box-teknikker inkluderer:
- Grænseværdianalyse
- Ækvivalenspartitionering (ækvivalensklasse partitionering)
- Beslutningstabeller
- Domænetests
- Statlige modeller
- Undersøgelsestest (kræver mindre forberedelse og hjælper også med at finde manglerne hurtigt).
# 3) Test af grå boks:
Denne testmetode udføres med mindre information om en applikations interne struktur. Generelt udføres dette kun som Black Box Testing, men i nogle kritiske anvendelsesområder anvendes White Box Testing.
Modeller i SDLC
Valg af korrekte testmetoder inkluderer også valg af en korrekt model i SDLC.
Modellerne inkluderer:
- Vandfaldsmodel
- I modellen
- Adræt model
- Spiral model
- RAD
Lad os se nærmere på hver enkelt softwareudviklingsmetode med en kort forklaring.
# 1) Vandfaldsmodel
Vandfaldsmodel er den grundlæggende livscyklusmodel, som blev udviklet af Winston Royce i 1970. Denne model repræsenterer flere trin eller processer på en sekventiel måde, der flyder gradvist nedad.
Denne tilgang er nyttig, når kravene er velkendte, teknologien forstås, og ressourcerne med den nødvendige ekspertise er tilgængelige.
Vandfaldsmodellen er defineret af følgende faser:
- Kravindsamling og analyse: Indfang og analyser alle kravene og sørg for, om de kan testes eller ej.
- Systemdesign: Oprette og dokumentere design baseret på kravanalyse. Definer hardware- og softwarekravene.
- Implementering: Opret robust kode til komponenter i henhold til designet og integrer dem.
- Systemtest: Integrerede komponenter danner et helt system, denne fase udføres for at sikre, om systemet fungerer i henhold til kravene, sporer og rapporterer testforløbet.
- Systeminstallation: Sørg for, at hvis systemet er stabilt med nul fejl, havde alle testkriterier været
sikres miljøopsætning osv. - System vedligeholdelse: Sørger for, at applikationen fungerer effektivt i henhold til kravet med det passende miljø. Hvis der findes en defekt, skal den rettes og implementeres (opdateres) i miljøet.
Fordele ved vandfaldsmodel:
- Enkel og let at forstå.
- Let at administrere, da hver fase har sine egne specifikke leverancer.
- Overlappende trin undgås.
- God til små projekter.
Ulemper ved vandfaldsmodel:
- Forøgelse af risikoen og usikkerheden.
- Når det er gået ind i testfasen, kan det ikke ændre noget i de foregående faser for eksempel Design og kodning mv.
- Ikke godt til komplekse og store projekter.
- Ikke egnet, hvor kravene bliver ved med at ændre sig.
# 2) I model
V-model er en udvidelse af Waterfall Model hvor procesudførelsen finder sted i en sekventiel stil i V-form og er også kendt som verifikations- og valideringsmodel. I denne tilgang findes der en direkte tilknyttet testfase i hver enkelt fase af udviklingscyklussen.
Det har vist sig fordelagtigt og omkostningseffektivt end vandfaldsmodellen, da testen udføres i hver udviklingsfase snarere end i slutningen af udviklingscyklussen.
V-modellen er klassificeret i 3 faser.
- Bekræftelsesfase
- Kodningsfase
- Valideringsfase
a) Verifikationsfase :
- Analyse af forretningskrav: Kommuniker med kunden for at forstå deres forventninger og krav.
- Systemdesign: Designkompletsystem og dets komponenter sammen med hardware- og softwarekravene.
- Arkitektonisk design: I denne fase fanges arkitektoniske specifikationer. Dette er også kendt som design på højt niveau.
- Modul Design: Dette er også kendt som Low-Level Design, detaljeret intern design for alle de specificerede systemmoduler.
b) Kodningsfase:
Denne fase indeholder den faktiske kodningsfase i udviklingslivscyklussen. Programmeringssprog skal vælges ud fra det system og det arkitektoniske design, der er specificeret i den tidligere teknologiplatform. Kodning udføres i henhold til de standarder og retningslinjer, der er foruddefinerede.
c) Valideringsfase :
- Enhedstest: Udført på et individuelt modul for at eliminere fejlene på et tidligt tidspunkt.
- Integrationstest: Udført for at teste kommunikationen mellem forskellige moduler i systemet.
- Systemtest: Systemtest udføres på et system som helhed.
- Acceptantestning: Dette er forbundet med forretningskravene. Det udføres i et brugermiljø fra brugerens synspunkt.
Fordele ved V-modellen
- Enkel, nem at bruge og forstå.
- Overlappende undgås, da faser udføres ad gangen.
- Let at styre og velegnet til små projekter.
Ulemper ved V-modellen svarer mere eller mindre til ulemperne ved vandfaldsmodellen.
# 3) Agil model
Adræt model viser en iterativ og inkrementel tilgang. Denne tilgang opdeler produktet i små trinvise enheder for at give iterationer. Derefter involverer hver iteration trin som planlægning, kravanalyse, design, kodning, enhedstest, accepttest osv.
Denne tilgang tillader også kontinuerlig interaktion med kunden for deres feedback og rettelser i kravene med jævne mellemrum.
Følgende diagram hjælper dig med at forstå Agile Model tilgang mere præcist:
Følgende billede viser iterationscyklussen i Agile Model:
Fordele ved agil model:
- En realistisk tilgang til softwareudvikling.
- Fremmer teamwork.
- Eliminerer uoverensstemmelse mellem krav og testsager.
- Hurtig og kræver et minimum af ressourcer.
- Velegnet til store og langsigtede projekter.
- God til at ændre kravene.
- Let at administrere.
Ulemper ved agil model:
- Ikke egnet til komplekse projekter.
- Kræver stor interaktion med kunden, hvilket kan forårsage forsinkelse.
- Misvisning af krav kan medføre forkert udvikling af softwareproduktet.
- Øget risiko for vedligeholdelse.
- Overdragelse til et andet hold kan være ret udfordrende.
# 4) Spiral Model
Spiralmodellen inkorporerer iterativ udviklingsmetode sammen med vandfaldsmodelens systematiske tilgang. Det svarer til den inkrementelle model og vægt på risikoanalyse.
Spiral Model har fire faser:
- Planlægningsfase
- Risikoanalyse
- Ingeniørfase
- Evalueringsfase
1) Planlægningsfase: I denne fase samles kravene og gennemgås for at færdiggøre testsagen.
2) Risikoanalyse: Denne fase inkluderer identifikation, overvågning og estimering af ledelsesrisici. Krav analyseres for at identificere risiciene ved hjælp af teknikker som brainstorming, gennemgang osv.
3) Ingeniørfase: I denne fase udvikles og testes softwaren i slutningen.
4) Evalueringsfase: Dette er den sidste fase, hvor en kunde evaluerer output fra et projekt og giver deres feedback til enten næste spiral eller godkendelse.
Billedskildring af spiralmodel:
Hvornår skal du bruge spiralmodel:
- Til højrisikoprojekter.
- Når kravene er komplekse.
- Hvis et projekt er stort.
- Har tilstrækkelig tid til at få brugerens feedback til den næste spiral.
- Kræver betydelige ændringer på grund af forskning og udforskning.
- Brugere er ikke sikre på deres behov.
Fordele ved spiralmodel:
- Undgåelse af risiko, da det involverer en høj risikoanalyse.
- Hurtig udvikling.
- Ændringer i krav imødekommes let.
- Krav kan opnås mere præcist.
Ulemper ved spiralmodel:
- Kompleks styring.
- Ikke egnet til små projekter.
- Kan involvere nej. af spiraler (ubestemt).
- Kostbar.
- Kræver en høj mængde risikoanalyse og ekspertise for deres projekts succes.
# 5) RAD-model
Rapid Application Development (RAD) er en type inkrementel model. I denne tilgang udvikles komponenter parallelt.
Dette er en hurtig tilgang, og det kan give kunden et hurtigt produkt til at give feedback.
Faser i RAD er som følger:
- Forretningsmodellering: Identificerer vigtig information og dens strømning mellem forskellige forretningskanaler.
- Datamodellering: Oplysninger, der blev indsamlet i det foregående trin, bruges til at definere de dataobjekter, der kræves til virksomheden.
- Procesmodellering: Dataobjekter konverteres for at få forretningsmål og strøm af information.
- Applikationsgenerering: I denne fase bruges automatiseringsværktøjer til at konvertere procesmodellen til faktisk kode.
- Test og omsætning: Tester alle komponenterne i et system, og dermed reduceres den samlede testtid.
Fordele ved RAD-model:
- Fremskridt kan måles.
- Reducerer udviklingstid.
- Øget genanvendelighed.
- Hurtige indledende anmeldelser.
- Forbedrer kundefeedback.
Ulemper ved RAD-model:
- Kræver højt kvalificerede ressourcer.
- Skøn over høje omkostninger.
- Ikke relevant for billigere projekter.
- Stor afhængighed af modelleringsevner.
- Kun et modulært system kan bygges ved hjælp af RAD.
Forskel mellem testmetoder og teststrategier
Svaret på dette er ikke meget komplekst, da der er en simpel forskel mellem begge.
Testmetoder er de metoder eller tilgange til test, der inkluderer fra enhedstest til systemtest.
Teststrategier er en oversigt over de vigtigste spørgsmål, der opstår i testprocessen og skal tages i betragtning af projektlederen, et team af udviklere og testere.
De ovennævnte softwaretestmetoder bruges til at implementere n antal teststrategier.
Nogle af dem er anført nedenfor:
1) Enhedstest:
- Fokuserer på meget små funktionelle enheder.
- Den enkleste måde at kontrollere de mindste enheder for isolering på.
- Generelt udført af udviklere.
2) Integrationstest:
hvad er en xml-fil, og hvordan åbner jeg den
- Dette er det næste trin, der skal udføres på udviklerens side.
- Tilvejebringe mekanisme til at teste interaktion, interoperation og kommunikation mellem de forskellige softwaremoduler
3) Funktionstest:
Det bruges til at kontrollere funktionerne i et softwaresystem, dvs. output til det givne input.
4) Regressionstest:
Kontrollerer, om fejlretningen er sket et sted, så de komplekse funktionaliteter ikke bør medføre ændringer i et andet kerneområde.
5) Systemtest:
- Test af alle de integrerede moduler som et kollektivt system.
- Kombinerer flere funktioner i end-to-end-scenarier.
6) Ydeevne test:
Tester applikationens ydeevne i kritiske situationer som overførsel af store filer, samtidige brugere adgang til systemet, konfigurationsfejl osv.
7) Accept test :
- Generelt Endelig testniveau, hvor softwareprodukt undersøges som brugerperspektiv af testere
- Resultatet af dette trin er subjektivt og tager lidt for at finde det nøjagtige problem
Konklusion:
At vælge en korrekt testmetode er den handling eller det sæt handlinger, der ligger i kernen i testprocessen. Dette kan endda være en alsidig aktivitet, der ændres i henhold til softwareproduktets forretningskrav og tidslinje.
Man kan dog vælge enkelt eller endda flere softwareudviklings- og testmetoder for at have et mere fleksibelt og effektivt slutprodukt, der tilfredsstiller kundens behov og forventninger inden for den ønskede eller mindre tidsfrist.
Fortæl os dine tanker / forslag i kommentarfeltet nedenfor.
Anbefalet læsning
- Bedste softwaretestværktøjer 2021 (QA Test Automation Tools)
- Softwaretest QA Assistant Job
- Software Testing Course: Hvilket Software Testing Institute skal jeg tilmelde mig?
- Valg af softwaretest som din karriere
- Softwaretest Teknisk indhold Writer Freelancer Job
- Nogle interessante softwaretestinterviewspørgsmål
- Feedback og anmeldelser om softwaretestkursus
- Software Testing Hjælp Affiliate Program!