Velkommen til verden af software test , som sikrer kvaliteten og pålideligheden af software applikationer . At forstå de forskellige typer softwaretest er afgørende for både udviklere og kvalitetssikringsprofessionelle.
I denne vejledning vil vi udforske de grundlæggende kategorier af softwaretest, fra enhedstest til sikkerhedstest, hjælper dig med at navigere og sikre, at din software opfylder de højeste standarder for ydeevne og funktionalitet.
Indholdsfortegnelse
- Principper for softwaretest
- Forskellige typer softwaretest
- Typer af manuel test
- Typer af Black Box-test
- Typer af funktionstest
- Typer af integrationstest
- Typer af ikke-funktionel test
- Andre typer test
- Fordele ved softwaretest
- Ulemper ved softwaretest
- Spørgsmål til praksis
- Ofte stillede spørgsmål om typer af softwaretest
Principper for softwaretest
- Alle testene skal opfylde kundens krav.
- For at gøre vores software test skal udføres af en tredjepart.
- Udtømmende test er ikke mulig. Da vi har brug for den optimale mængde af test baseret på risikovurderingen af ansøgningen.
- Alle de test, der skal udføres, bør planlægges, før de implementeres
- Den følger Pareto-reglen(80/20-reglen), som siger, at 80% af fejlene kommer fra 20% af programkomponenterne.
- Begynd at teste med små dele og udvid det til store dele.
- Typer af test

Typer af softwaretest
Forskellige typer softwaretest
- Manuel test
- Test af automatisering
1. Manuel test
Manuel test er en teknik til at teste softwaren, der udføres ved hjælp af funktionerne og funktionerne i en applikation. Ved manuel softwaretestning udfører en tester tests på softwaren ved at følge et sæt foruddefinerede testcases. I denne test laver testere testcases for koderne, tester softwaren og giver den endelige rapport om denne software. Manuel test er tidskrævende, fordi det udføres af mennesker, og der er risiko for menneskelige fejl.
Fordele ved manuel test
- Hurtig og præcis visuel feedback: Det registrerer næsten hver eneste fejl i softwareapplikationen og bruges til at teste de dynamisk skiftende GUI-design som layout, tekst osv.
- Billigere: Det er billigere, da det ikke kræver nogen færdigheder på højt niveau eller en bestemt type værktøj.
- Ingen kodning er påkrævet: Der kræves ingen programmeringskendskab, mens du bruger black box-testmetoden. Det er nemt at lære for de nye testere.
- Effektiv til uplanlagte ændringer: Manuel test er velegnet i tilfælde af uplanlagte ændringer af applikationen, da det nemt kan adopteres.
2. Automationstest
Automatiseret test er en teknik, hvor testeren skriver scripts på egen hånd og bruger passende software eller automatiseringsværktøj til at teste softwaren. Det er en automatiseringsproces af en manuel proces. Det giver mulighed for at udføre gentagne opgaver uden indgriben fra en manuel tester.
Fordele ved automatiseringstest:
- Forenkler udførelse af testcase: Automatiseringstest kan efterlades praktisk talt uden opsyn, og det tillader således overvågning af resultaterne i slutningen af processen. Dermed forenkles den overordnede testudførelse og effektiviteten af applikationen øges.
- Forbedrer pålideligheden af tests: Automationstest sikrer, at der er lige fokus på alle testens områder, og dermed sikres det bedste kvalitets slutprodukt.
- Øger mængden af testdækning: Ved hjælp af automatiseringstest kan flere testcases oprettes og udføres for den applikation, der testes. Dette resulterer i højere testdækning og påvisning af flere fejl. Dette giver mulighed for test af mere komplekse applikationer, og flere funktioner kan testes.
- Minimering af menneskelig interaktion: I automatiseringstest er alt automatiseret fra oprettelse af testcase til udførelse, så der er ingen ændringer for menneskelige fejl på grund af forsømmelse. Dette reducerer behovet for at rette fejl i post-release-fasen.
Typer af manuel test
- White Box Test
- Black Box test
- Test af grå boks
1. White Box Test
Hvid boks test teknikker analyserer de interne strukturer, de anvendte datastrukturer, internt design, kodestruktur og softwarens funktion i stedet for blot funktionaliteten som i black box test. Det kaldes også glasbokstestning af klarbokstest eller strukturel test. White Box Testing er også kendt som transparent test eller open box test.
White box-test er en softwaretestteknik, der involverer test af en softwareapplikations interne struktur og funktion. Testeren har adgang til kildekoden og bruger denne viden til at designe testcases, der kan verificere rigtigheden af softwaren på kodeniveau.
Fordele ved White box Testing:
- Grundig afprøvning : White box test er grundig, da hele koden og strukturerne testes.
- Kodeoptimering: Det resulterer i optimering af kode, der fjerner fejl og hjælper med at fjerne ekstra linjer kode.
- Tidlig opdagelse af defekter: Det kan starte på et tidligere tidspunkt, da det ikke kræver nogen grænseflade som i tilfælde af black box-test.
- Integration med SDLC: White box test kan nemt startes i Software Development Life Cycle.
- Påvisning af komplekse defekter: Testere kan identificere defekter, der ikke kan opdages gennem andre testteknikker.
2. Black Box Test
Black-box-test er en type softwaretest, hvor testeren ikke er bekymret for softwarens interne viden eller implementeringsdetaljer, men snarere fokuserer på at validere funktionaliteten baseret på de angivne specifikationer eller krav.
Fordele ved Black Box-test:
- Testeren behøver ikke at have mere funktionel viden eller programmeringsevner for at implementere Black Box-testen.
- Det er effektivt til at implementere testene i det større system.
- Test udføres fra brugerens eller klientens synspunkt.
- Testcases er let reproducerbare.
- Det bruges til at finde tvetydigheden og modsætningerne i de funktionelle specifikationer.
3. Test af grå boks
Test af grå boks er en softwaretestteknik, der er en kombination af Black Box test teknik og White Box Test teknik.
- I Black Box Testing-teknikken er testeren uvidende om den interne struktur af det emne, der testes, og i White Box Testing er den interne struktur kendt af testeren.
- Den interne struktur er delvist kendt i Gray Box Testing.
- Dette inkluderer adgang til interne datastrukturer og algoritmer til at designe testcases.
Fordele ved Gray Box Testing:
- Klarhed af mål: Brugere og udviklere har klare mål, mens de laver test.
- Udført fra et brugerperspektiv: Grå boks-test udføres for det meste fra brugerperspektivet.
- Høje programmeringsevner ikke påkrævet: Testere er ikke forpligtet til at have høje programmeringsevner til denne test.
- Ikke-påtrængende: Test af grå boks er ikke-påtrængende.
- Forbedret produktkvalitet: Den generelle kvalitet af produktet er forbedret.
Typer af Black Box-test
- Funktionstest
- Ikke-funktionel test
1. Funktionstest
Funktionel test er en type softwaretest, hvor systemet testes i forhold til funktionelle krav og specifikationer. Funktionstest sikrer, at kravene eller specifikationerne er korrekt opfyldt af applikationen. Denne type test er især optaget af resultatet af behandlingen. Den fokuserer på simulering af faktisk systembrug, men udvikler ingen systemstrukturantagelser. Artiklen fokuserer på at diskutere funktionstest.
min live cricket
Fordele ved funktionel test
- Fejlfrit produkt: Funktionel test sikrer levering af et fejlfrit produkt af høj kvalitet.
- Kundetilfredshed: Det sikrer, at alle krav er opfyldt og sikrer, at kunden bliver tilfreds.
- Test med fokus på specifikationer: Funktionel test er fokuseret på specifikationer i henhold til kundebrug.
- Korrekt funktion af applikationen: Dette sikrer, at applikationen fungerer som forventet og sikrer, at al applikationens funktionalitet fungerer korrekt.
- Forbedrer kvaliteten af produktet: Funktionstest sikrer produktets sikkerhed og sikkerhed og forbedrer produktets kvalitet.
2. Ikke-funktionel test
Ikke-funktionel test er en type Softwaretest der udføres for at verificere de ikke-funktionelle krav til applikationen. Det verificerer, om systemets opførsel er i overensstemmelse med kravet eller ej. Den tester alle de aspekter, der ikke testes i funktionstest. Ikke-funktionel test er en softwaretestteknik, der kontrollerer systemets ikke-funktionelle attributter. Ikke-funktionel test er defineret som en type softwaretest for at kontrollere ikke-funktionelle aspekter af en softwareapplikation. Det er designet til at teste et systems beredskab i henhold til ikke-funktionelle parametre, som aldrig behandles af funktionel test. Ikke-funktionel test er lige så vigtig som funktionel test.
Fordele ved ikke-funktionel test
- Forbedret ydeevne: Ikke-funktionel test kontrollerer systemets ydeevne og bestemmer de flaskehalse i ydeevnen, der kan påvirke ydeevnen.
- Mindre tidskrævende: Ikke-funktionel test er generelt mindre tidskrævende end den anden testproces.
- Forbedrer brugeroplevelsen: Ikke-funktionel test som Usability test kontrollerer, hvor let anvendelig og brugervenlig softwaren er for brugerne. Fokuser således på at forbedre den overordnede brugeroplevelse for applikationen.
- Mere sikkert produkt: Da ikke-funktionel testning specifikt omfatter sikkerhedstest, der kontrollerer applikationens sikkerhedsflaskehalse, og hvor sikker applikationen er mod angreb fra interne og eksterne kilder.
Typer af funktionstest
- Enhedstest
- Integrationstest
- Systemtest
1. Enhedstest
Enhedstest er en metode til at teste individuelle enheder eller komponenter i en softwareapplikation. Det udføres typisk af udviklere og bruges til at sikre, at de enkelte enheder i softwaren fungerer efter hensigten. Enhedstests er normalt automatiserede og er designet til at teste specifikke dele af koden, såsom en bestemt funktion eller metode. Enhedstest udføres på det laveste niveau af softwareudviklingsproces , hvor individuelle kodeenheder testes isoleret.
Fordele ved enhedstest:
Nogle af fordelene ved enhedstest er anført nedenfor.
- Det hjælper med at identificere fejl tidligt i udviklingsprocessen, før de bliver sværere og dyrere at rette.
- Det er med til at sikre, at ændringer i koden ikke introducerer nye fejl.
- Det gør koden mere modulær og nemmere at forstå og vedligeholde.
- Det hjælper med at forbedre den overordnede kvalitet og pålidelighed af softwaren.
Bemærk: Nogle populære rammer og værktøjer, der bruges til enhedstest, omfatter JUnit , NUnit, og xEnhed.
- Det er vigtigt at huske på, at enhedstestning kun er ét aspekt af softwaretest, og det bør bruges i kombination med andre typer test såsom integrationstest, funktionstest og accepttest for at sikre, at softwaren opfylder brugernes behov .
- Den fokuserer på den mindste enhed af softwaredesign. I dette tester vi en individuel enhed eller gruppe af indbyrdes forbundne enheder. Det gøres ofte af programmøren ved at bruge prøveinput og observere dets tilsvarende output.
Eksempel:
- I et program tjekker vi om løkken, metoden eller funktionen fungerer fint.
- Misforstået eller forkert, aritmetisk forrang.
- Forkert initialisering.
2. Integrationstest
Integrationstest er en metode til at teste, hvordan forskellige enheder eller komponenter i en softwareapplikation interagerer med hinanden. Det bruges til at identificere og løse eventuelle problemer, der kan opstå, når forskellige enheder af softwaren kombineres. Integrationstest udføres typisk efter enhedstest og før funktionstest og bruges til at verificere, at de forskellige enheder i softwaren arbejder sammen efter hensigten.
Forskellige måder at udføre integrationstest på:
Forskellige måder til integrationstestning diskuteres nedenfor.
- Top-down integrationstest: Det starter med modulerne på højeste niveau og adskiller dem fra moduler på lavere niveau.
- Bottom-up integrationstest: Det starter med modulerne på det laveste niveau og integrerer dem med moduler på højere niveau.
- Big-Bang integrationstest: Den kombinerer alle modulerne og integrerer dem alle på én gang.
- Inkrementel integrationstest: Den integrerer modulerne i små grupper, tester hver gruppe, efterhånden som den tilføjes.
Fordele ved at integrere test
- Det hjælper med at identificere og løse problemer, der kan opstå, når forskellige enheder af softwaren kombineres.
- Det er med til at sikre, at softwarens forskellige enheder arbejder sammen efter hensigten.
- Det hjælper med at forbedre softwarens overordnede pålidelighed og stabilitet.
- Det er vigtigt at huske på, at integrationstest er afgørende for komplekse systemer, hvor forskellige komponenter er integreret.
- Som med enhedstest er integrationstest kun ét aspekt af softwaretest, og det bør bruges i kombination med andre typer test såsom enhedstest, funktionel test og accepttest for at sikre, at softwaren opfylder brugernes behov.
Det objektiv er at tage enhedstestede komponenter og bygge en programstruktur, der er dikteret af design. Integrationstest er test, hvor en gruppe komponenter kombineres for at producere output.
Integrationstest er af fire typer: (i) Top-down (ii) Bottom-up (iii) Sandwich (iv) Big-Bang
Eksempel:
- Black Box test: Det bruges til validering. I dette ignorerer vi interne arbejdsmekanismer og fokuserer på, hvad er outputtet?
- Hvid boks test: Det bruges til verifikation. I dette fokuserer vi på interne mekanismer, dvs. hvordan output opnås.
3. Systemtest
Systemtest er en type softwaretest, der evaluerer den overordnede funktionalitet og ydeevne af en komplet og fuldt integreret softwareløsning. Den tester, om systemet lever op til de specificerede krav, og om det er egnet til levering til slutbrugerne. Denne type test udføres efter integrationstesten og før accepttesten.
Systemtest er en type software test der udføres på et fuldstændigt integreret system for at evaluere systemets overensstemmelse med de tilsvarende krav. Ved systemtest tages integrationstest beståede komponenter som input. Målet med integrationstest er at opdage enhver uregelmæssighed mellem de enheder, der er integreret.
Fordele ved systemtest:
- Testerne kræver ikke mere viden om programmering for at udføre denne test.
- Det vil teste hele produktet eller softwaren, så vi nemt kan opdage de fejl eller defekter, der ikke kan identificeres under enhedstesten og integrationstesten.
- Testmiljøet ligner det i realtidsproduktions- eller forretningsmiljøet.
- Det kontrollerer hele systemets funktionalitet med forskellige testscripts, og det dækker også kundernes tekniske og forretningsmæssige krav.
- Efter denne test vil produktet næsten dække alle mulige fejl eller fejl, og derfor vil udviklingsteamet trygt gå videre med accepttest.
Typer af integrationstest
- Inkrementel test
- Ikke-inkrementel test
1. Inkrementel test
Ligesom udvikling er test også en fase af SDLC (Software Development Life Cycle) . Forskellige tests udføres på forskellige stadier af udviklingscyklussen. Inkrementel test er en af de testmetoder, der er almindeligt anvendt i softwareområdet under testfasen af integrationstest som udføres efter enhedstest . Der bruges flere stubbe og drivere til at teste modulerne én efter én, hvilket hjælper med at opdage fejl og defekter i de specifikke moduler.
Fordele ved inkrementel test
- Hvert modul har sin specifikke betydning. Hver enkelt får en rolle at spille under testen, da de øges individuelt.
- Defekter opdages i mindre moduler i stedet for at angive fejl og derefter redigere og genkorrigere store filer.
- Det er mere fleksibelt og omkostningseffektivt i henhold til krav og omfang.
- Kunden får mulighed for at reagere på hver bygning.
Der er 2 typer Inkrementel test
- Top-down integrationstest
- Bottom-up integrationstest
1. Top-down integrationstest
Top-down test er en form for inkrementel integrationstest fremgangsmåde, hvor test udføres ved at integrere eller forbinde to eller flere moduler ved at bevæge sig ned fra top til bund gennem arkitekturstrukturens kontrolflow. I disse testes højniveaumoduler først, og derefter testes lavniveaumoduler. Så bliver der endelig lavet integration for at sikre, at systemet fungerer korrekt. Stubber og drivere bruges til at udføre dette projekt. Denne teknik bruges til at øge eller stimulere adfærden for moduler, der ikke er integreret i et lavere niveau.
Fordele Top Down Integrationstest
- Der er ingen grund til at skrive drivere.
- Interfacefejl identificeres på et tidligt tidspunkt, og fejllokalisering er også lettere.
- Hjælpeprogrammer på lavt niveau, der ikke er vigtige, testes ikke godt, og testere på højt niveau testes godt på en passende måde.
- Repræsentation af testcases er nemmere og enklere, når input-output-funktioner er tilføjet.
2. Bottom-up Integrationstest
Bottom-up test er en form for inkrementel integrationstest fremgangsmåde, hvor test udføres ved at integrere eller forbinde to eller flere moduler ved at bevæge sig opad fra bund til top gennem arkitekturstrukturens kontrolflow. I disse testes lavniveaumoduler først, og derefter testes højniveaumoduler. Denne type test eller tilgang er også kendt som induktiv ræsonnement og bruges i mange tilfælde som et syntesesynonym. Bottom-up test er brugervenlig test og resulterer i en stigning i den samlede softwareudvikling. Denne test resulterer i høje succesrater med langvarige resultater.
Fordele ved bottom-up integrationstest
- Det er nemt og enkelt at skabe og udvikle testbetingelser.
- Det er også nemt at observere testresultater.
- Det er ikke nødvendigt at vide om detaljerne i det strukturelle design.
- Hjælpeprogrammer på lavt niveau er også testet godt og er også kompatible med den objektorienterede struktur.
Typer af ikke-funktionel test
- Ydelsestest
- Usability test
- Kompatibilitetstest
1. Ydelsestest
Ydelsestest er en type softwaretest, der sikrer, at softwareapplikationer fungerer korrekt under deres forventede arbejdsbyrde. Det er en testteknik, der udføres for at bestemme systemets ydeevne i form af følsomhed, reaktivitet og stabilitet under en bestemt arbejdsbelastning.
Ydelsestest er en type softwaretest, der fokuserer på at evaluere ydeevnen og skalerbarheden af et system eller en applikation. Målet med performancetest er at identificere flaskehalse, måle systemets ydeevne under forskellige belastninger og forhold og sikre, at systemet kan håndtere det forventede antal brugere eller transaktioner.
Fordele ved præstationstestning
- Ydelsestest sikrer systemets hastighed, belastningsevne, nøjagtighed og andre ydeevner.
- Den identificerer, overvåger og løser problemerne, hvis der opstår noget.
- Det sikrer den store optimering af softwaren og giver også mange brugere mulighed for at bruge den på samme tid.
- Det sikrer kundens såvel som slutkundens tilfredshed. Ydelsestest har flere fordele, der gør det til et vigtigt aspekt af softwaretest:
- Identifikation af flaskehalse : Ydelsestest hjælper med at identificere flaskehalse i systemet, såsom langsomme databaseforespørgsler, utilstrækkelig hukommelse eller overbelastning af netværket. Dette hjælper udviklere med at optimere systemet og sikre, at det kan håndtere det forventede antal brugere eller transaktioner.
2. Usability Test
Du designer et produkt (f.eks. et køleskab), og når det bliver helt klar, skal du have en potentiel kunde til at teste det for at kontrollere, at det virker. For at forstå, om maskinen er klar til at komme på markedet, tester potentielle kunder maskinerne. Ligeledes er det bedste eksempel på usability-testning, når softwaren også gennemgår forskellige testprocesser, som udføres af potentielle brugere, inden den lanceres på markedet. Det er en del af softwareudviklingens livscyklus (SDLC).
Fordele og ulemper ved Usability Testing
Usability-test foretrækkes til at evaluere et produkt eller en service ved at teste det med de rigtige brugere. I Usability test, vil udviklings- og designteams bruge til at identificere problemer før kodning, og resultatet vil være, at tidligere problemer vil blive løst. Under en Usability-test kan du,
- Lær, om deltagerne vil være i stand til at fuldføre den specifikke opgave fuldstændigt.
- identificere, hvor lang tid det vil tage at fuldføre den specifikke opgave.
- Giver fremragende egenskaber og funktionaliteter til produktet
- Forbedrer brugertilfredsheden og opfylder krav baseret på brugerfeedback
- Produktet bliver mere effektivt og effektivt
3. Kompatibilitetstest
Kompatibilitetstest er softwaretest, der hører under ikke-funktionel test kategori, og den udføres på en applikation for at kontrollere dens kompatibilitet (kørselsevne) på forskellige platforme/miljøer. Denne test udføres kun, når applikationen bliver stabil. Dette betyder ganske enkelt, at denne kompatibilitetstest har til formål at kontrollere den udviklede softwareapplikations funktionalitet på forskellige software, hardwareplatforme, netværksbrowsere osv. Denne kompatibilitetstest er meget vigtig i produktproduktion og implementeringssynspunkt, da den udføres for at undgå fremtidige problemer med kompatibilitet.
Fordele ved kompatibilitetstest
- Det sikrer fuld kundetilfredshed.
- Det giver service på tværs af flere platforme.
- Identifikation af fejl under udviklingsprocessen.
Der er 4 typer Ydelsestest
- Belastningstest
- Stresstest
- Skalerbarhedstest
- Stabilitetstest
1. Belastningstest
Belastningstest bestemmer applikationens opførsel, når flere brugere bruger den på samme tid. Det er systemets respons målt under varierende belastningsforhold.
- Belastningstesten udføres for normale og ekstreme belastningsforhold.
- Belastningstest er en type præstationstest, der simulerer en belastning i den virkelige verden på et system eller en applikation for at se, hvordan det klarer sig under stress.
- Målet med belastningstest er at identificere flaskehalse og bestemme det maksimale antal brugere eller transaktioner systemet kan håndtere.
- Det er et vigtigt aspekt af softwaretest, da det hjælper med at sikre, at systemet kan håndtere de forventede brugsniveauer og identificere eventuelle potentielle problemer, før systemet implementeres til produktion.
Fordele ved belastningstest:
Belastningstest har flere fordele, der gør det til et vigtigt aspekt af softwaretest:
- Identifikation af flaskehalse: Belastningstest hjælper med at identificere flaskehalse i systemet, såsom langsomme databaseforespørgsler, utilstrækkelig hukommelse eller overbelastning af netværket. Dette hjælper udviklere med at optimere systemet og sikre, at det kan håndtere det forventede antal brugere eller transaktioner.
- Forbedret skalerbarhed: Ved at identificere systemets maksimale kapacitet hjælper belastningstest med at sikre, at systemet kan håndtere et stigende antal brugere eller transaktioner over tid. Dette er især vigtigt for webbaserede systemer og applikationer, der forventes at håndtere en stor mængde trafik.
- Forbedret pålidelighed: Belastningstest hjælper med at identificere potentielle problemer, der kan opstå under tunge belastningsforhold, såsom øgede fejlfrekvenser eller langsomme svartider. Dette er med til at sikre, at systemet er pålideligt og stabilt, når det implementeres til produktion.
2. Stresstest
I Stresstest , giver vi ugunstige forhold til systemet og kontrollerer, hvordan det fungerer under disse forhold.
Eksempel:
- Testtilfælde, der kræver maksimal hukommelse eller andre ressourcer, udføres.
- Testtilfælde, der kan forårsage thrashing i et virtuelt operativsystem.
- Testtilfælde, der kan forårsage for store diskkrav Ydelsestest.
Det er designet til at teste softwarens runtime-ydeevne i sammenhæng med et integreret system. Det bruges til at teste programmets hastighed og effektivitet. Det kaldes også belastningstest. I den kontrollerer vi, hvad systemets ydeevne er i den givne belastning.
Eksempel:
Kontrol af flere processorcyklusser.
3. Skalerbarhedstest
Skalerbarhedstest er en type ikke-funktionel test, hvor ydeevnen af en softwareapplikation, et system, et netværk eller en proces testes i forhold til dets evne til at skalere op eller nedskalere antallet af brugeranmodningsindlæsninger eller andre sådanne ydeevneattributter. Det kan udføres på hardware-, software- eller databaseniveau. Skalerbarhedstest er defineret som et netværks, system, applikations, produkts eller process evne til at udføre funktionen korrekt, når der foretages ændringer i systemets størrelse eller volumen for at imødekomme et voksende behov. Det sikrer, at et softwareprodukt kan håndtere den planlagte stigning i brugertrafik, datavolumen, frekvensen af transaktionsoptællinger og mange andre ting. Det tester systemet, processerne eller databasens evne til at imødekomme et voksende behov.
Fordele ved skalerbarhedstest
- Det giver mere tilgængelighed til produktet.
- Det registrerer problemer med websideindlæsning og andre ydeevneproblemer.
- Den finder og løser problemerne tidligere i produktet, hvilket sparer en masse tid.
- Det sikrer slutbrugeroplevelsen under den specifikke belastning. Det giver kundetilfredshed.
- Det hjælper med effektiv sporing af værktøjsanvendelse.
4. Stabilitetstest
Stabilitetstest er en type softwaretest til kontrol af softwarens kvalitet og adfærd under forskellige miljøparametre. Det er defineret som produktets evne til at fortsætte med at fungere over tid uden fejl.
Det er en ikke-funktionel testteknik, der fokuserer på at stresse softwarekomponenten maksimalt. Stabilitetstest udføres for at kontrollere effektiviteten af et udviklet produkt ud over normal driftskapacitet, som er kendt som brudpunkt. Det har større betydning for fejlhåndtering, softwarepålidelighed, robusthed og skalerbarhed af et produkt under tung belastning frem for at kontrollere systemets adfærd under normale omstændigheder.
Stabilitetstest vurderer stabilitetsproblemer. Denne test er primært beregnet til at kontrollere, om applikationen vil gå ned på et hvilket som helst tidspunkt eller ej.
Fordele ved stabilitetstestning
- Det giver grænsen for de data, som et system praktisk kan håndtere.
- Det giver tillid til systemets ydeevne.
- Det bestemmer stabiliteten og robustheden af systemet under belastning.
- Stabilitetstest fører til en bedre slutbrugeroplevelse.
Andre typer test
- Røgtestning
- Sanitetstest
- Regressionstest
- Accepttest
- Brugeraccepttest
- Udforskende afprøvning
- Adhoc test
- Sikkerhedstest
- Globaliseringstest
- Regressionstest
- Røgtestning
- Alpha test
- Beta test
- Objektorienteret test
1. Røgtestning
Røgtestning gøres for at sikre, at softwaren, der testes, er klar eller stabil til yderligere test
Det kaldes en røgtest, da test af et indledende bestået foretages for at kontrollere, om det ikke brød i brand eller røg ved den første tænding.
Eksempel:
If the project has 2 modules so before going to the module make sure that module 1 works properly.>
Fordele ved røgtestning
- Røgtest er let at udføre.
- Det hjælper med at identificere defekter i de tidlige stadier.
- Det forbedrer kvaliteten af systemet.
- Røgtest reducerer risikoen for fejl.
- Røgtest gør fremskridt nemmere at få adgang til.
2. Sanitetstest
Det er en delmængde af regressionstest . Sanitetstest udføres for at sikre, at de kodeændringer, der foretages, fungerer korrekt. Sanitetstest er et stop for at kontrollere, om test til bygningen kan fortsætte eller ej. Teamets fokus under fornuftstestprocessen er at validere applikationens funktionalitet og ikke detaljeret test. Sanitetstest udføres generelt på en build, hvor produktionsimplementeringen er påkrævet med det samme som en kritisk fejlrettelse.
Fordele ved Sanitetstest
- Sanitetstest hjælper med hurtigt at identificere defekter i kernefunktionaliteten.
- Det kan udføres på kortere tid, da der ikke kræves dokumentation for fornuftstest.
- Hvis defekterne opdages under sanitetstest, afvises projektet, hvilket er en hjælp til at spare tid til udførelse af regressionstest.
- Denne testteknik er ikke så dyr sammenlignet med en anden type test.
- Det hjælper med at identificere de afhængige manglende objekter.
3. Regressionstest
Processen med at teste de ændrede dele af koden og de dele, der kan blive påvirket på grund af ændringerne, sikrer, at der ikke er blevet introduceret nye fejl i softwaren, efter at ændringerne er blevet foretaget. Regression betyder returnering af noget, og i softwarefeltet refererer det til returnering af en fejl.
Fordele ved regressionstest
- Det sikrer, at der ikke er blevet introduceret nye fejl efter tilføjelse af nye funktionaliteter til systemet.
- Da de fleste af de testcases, der bruges i regressionstestning, er udvalgt fra den eksisterende testsuite, og vi kender allerede deres forventede output. Derfor kan det nemt automatiseres af de automatiserede værktøjer.
- Det hjælper med at opretholde kvaliteten af kildekoden.
4. Accepttest
Accept test sker af kunderne for at kontrollere, om de leverede produkter udfører de ønskede opgaver eller ej, som anført i kravene. Vi bruger Objektorienteret test til at diskutere testplaner og til at udføre projekterne.
Fordele ved accepttest
- Denne test hjælper projektteamet med at kende brugernes yderligere krav direkte, da det involverer brugerne til test.
- Automatiseret testudførelse.
- Det bringer tillid og tilfredshed til kunderne, da de er direkte involveret i testprocessen.
- Det er lettere for brugeren at beskrive deres krav.
- Det dækker kun Black-Box-testprocessen, og derfor vil hele produktets funktionalitet blive testet.
5. Brugeraccepttest
Brugeraccepttest er en testmetode, hvor kunder/slutbrugere deltager i produkttestning for at validere produktet i forhold til deres krav. Det gøres på klientens websted på udviklerens websted. For industrier som medicin eller rumfart udføres kontraktlige og lovmæssige overholdelsestests og operationelle accepttests også som en del af brugeraccepttests. UAT er kontekstafhængig, og UAT-planer er udarbejdet baseret på krav og er ikke forpligtet til at udføre alle former for brugeraccepttest og er endda koordineret og bidraget af testteamet.
6. Udforskende afprøvning
Udforskende afprøvning er en type software test hvor testeren frit kan vælge enhver mulig metode til at teste softwaren. Det er en uscriptet tilgang til softwaretest. I eksplorativ testning bruger softwareudviklere deres læring, viden, færdigheder og evner til at teste softwaren udviklet af dem selv. Udforskende test kontrollerer softwarens funktionalitet og drift samt identificerer funktionelle og tekniske fejl i den. Udforskende test har til formål at optimere og forbedre softwaren på alle mulige måder.
Fordele ved Exploratory Testing
- Mindre forberedelse påkrævet: Det kræver ingen forberedelse, da det er en unscripted testteknik.
- Finder kritiske fejl: Udforskende test involverer en undersøgelsesproces, der hjælper med at finde kritiske defekter meget hurtigt.
- Forbedrer produktiviteten: I eksplorativ testning bruger testere deres viden, færdigheder og erfaring til at teste softwaren. Det hjælper med at udvide testernes fantasi ved at udføre flere testcases, og dermed forbedre den overordnede kvalitet af softwaren.
7. Adhoc test
Adhoc-test er en type softwaretest, der udføres uformelt og tilfældigt efter den formelle test er afsluttet for at finde et smuthul i systemet. Af denne grund er det også kendt som Random eller Monkey test. Adhoc-test udføres ikke på en struktureret måde, så den er ikke baseret på nogen metodisk tilgang. Derfor er Adhoc-test en type ustruktureret softwaretest.
Fordele ved Adhoc test
- De fejl, der ikke kan identificeres med skriftlige testcases, kan identificeres ved Adhoc-test.
- Det kan udføres inden for en meget begrænset tid.
- Hjælper med at skabe unikke testcases.
- Denne test hjælper med at bygge et stærkt produkt, der er mindre tilbøjelig til fremtidige problemer.
- Denne test kan udføres når som helst i løbet af Softthe ware Development Life Cycle Process (SDLC)
8. Sikkerhedstest
Sikkerhedstest er en type Softwaretest der afdækker sårbarheder i systemet og bestemmer, at systemets data og ressourcer er beskyttet mod mulige ubudne gæster. Det sikrer, at softwaresystemet og applikationen er fri for trusler eller risici, der kan forårsage tab. Sikkerhedstest af ethvert system er fokuseret på at finde alle mulige smuthuller og svagheder i systemet, der kan resultere i tab af information eller omdømme for organisationen.
Fordele ved sikkerhedstest
- Identifikation af sårbarheder: Sikkerhedstest hjælper med at identificere sårbarheder i systemet, som kunne udnyttes af angribere, såsom svage adgangskoder, upatchet software og forkert konfigurerede systemer.
- Forbedring af systemsikkerhed: Sikkerhedstest hjælper med at forbedre systemets overordnede sikkerhed ved at identificere og rette sårbarheder og potentielle trusler.
- Sikring af overholdelse: Sikkerhedstest hjælper med at sikre, at systemet opfylder relevante sikkerhedsstandarder og regler, såsom HIPAA, PCI DSS og SOC2.
9. Globaliseringstest
Globaliseringstest er en type softwaretest, der udføres for at sikre, at systemet eller softwareapplikationen kan fungere uafhængigt af det geografiske og kulturelle miljø. Det sikrer, at applikationen kan bruges over hele verden og accepterer alle sprogtekster. I dag med stigningen i forskellige teknologier er hvert softwareprodukt designet på en sådan måde, at det er et globaliseret softwareprodukt.
Fordele ved globaliseringstest
- Hjælper med at skabe skalerbare produkter: Det gør softwareproduktet mere fleksibelt og skalerbart.
- Spare tid: Det sparer samlet tid og kræfter til softwaretest.
- Reducer tid til lokaliseringstest: Globaliseringstest hjælper med at reducere tiden og omkostningerne ved lokaliseringstest.
10. Regressionstest
Regressionstest er en testmetode, der bruges til at sikre, at ændringer i softwaren ikke introducerer nye fejl eller får eksisterende funktionalitet til at bryde. Det gøres typisk efter ændringer i koden, såsom fejlrettelser eller nye funktioner, og bruges til at verificere, at softwaren stadig fungerer efter hensigten.
Regressionstest kan udføres på forskellige måder, såsom:
- Gentestning : Dette involverer test af hele applikationen eller den specifikke funktionalitet, der blev påvirket af ændringerne.
- Vedr – udførelse : Dette involverer at køre en tidligere udført testpakke for at sikre, at ændringerne ikke bryder nogen eksisterende funktionalitet.
- Sammenligning : Dette indebærer at sammenligne den aktuelle version af softwaren med en tidligere version for at sikre, at ændringerne ikke bryder nogen eksisterende funktionalitet.
Fordele ved regressionstest
- Det er med til at sikre, at ændringer i softwaren ikke introducerer nye fejl eller får eksisterende funktionalitet til at bryde.
- Det er med til at sikre, at softwaren fortsætter med at fungere efter hensigten, efter der er foretaget ændringer.
- Det hjælper med at forbedre softwarens overordnede pålidelighed og stabilitet.
- Det er vigtigt at huske på, at regressionstest er en løbende proces, der bør udføres hele vejen igennem softwareudvikling
- livscyklus for at sikre, at softwaren fortsætter med at fungere efter hensigten. Det bør automatiseres så meget som muligt for at spare tid og ressourcer. Derudover er det vigtigt at have en veldefineret regressionstestpakke, der dækker
Hver gang et nyt modul tilføjes fører til ændringer i programmet. Denne type test sikrer, at hele komponenten fungerer korrekt, selv efter tilføjelse af komponenter til det komplette program.
Eksempel:
Antag, at vi i skolens optegnelser har modulpersonale, studerende og økonomi, der kombinerer disse moduler og kontrollerer, om integrationen af disse moduler fungerer fint i regressionstest.
11. Røgtestning
Røgtestning gøres for at sikre, at softwaren, der testes, er klar eller stabil til yderligere test
Det kaldes en røgtest, da test af et indledende bestået foretages for at kontrollere, om det ikke brød i brand eller røg ved den første tænding.
Eksempel:
Hvis projektet har 2 moduler, så før du går til modulet, sørg for at modul 1 fungerer korrekt.
12. Alfa-testning
Alpha test er en form for valideringstest. Det er en form for accepttest det gøres før produktet frigives til kunderne. Det udføres typisk af QA-folk.
Eksempel:
Når softwaretest udføres internt i organisationen.
13. Beta-testning
Det beta test udføres på et eller flere kundesteder af slutbrugeren af softwaren. Denne version er frigivet til et begrænset antal brugere til test i et realtidsmiljø.
Eksempel:
Når softwaretest udføres for det begrænsede antal personer.
14. Objektorienteret test
Objektorienteret test test er en kombination af forskellige testteknikker, der hjælper med at verificere og validere objektorienteret software. Denne test udføres på følgende måde:
- Test af krav,
- Design og analyse af test,
- Test af kode,
- Integrationstest,
- System test,
- Brugertest.
Fordele ved softwaretest
- Forbedret softwarekvalitet og pålidelighed.
- Tidlig identifikation og udbedring af defekter.
- Forbedret kundetilfredshed.
- Øget tillid til interessenterne.
- Reducerede vedligeholdelsesomkostninger.
- Kundetilfredshed
- Omkostningseffektiv
- Kvalitetsprodukt
- Lav fejl
- Fejlfri applikation
- Sikkerhed
- Fremskynd udviklingsprocessen
- Tidlig defektdetektering
- Pålideligt produkt
Ulemper ved softwaretest
- Tidskrævende og øger projektomkostningerne.
- Dette kan bremse udviklingsprocessen.
- Ikke alle defekter kan findes.
- Det kan være svært at teste komplekse systemer fuldt ud.
- Potentiale for menneskelige fejl under testprocessen.
Spørgsmål til praksis
1. Med hensyn til softwaretestning skal du overveje en flowgraf G med én tilsluttet komponent. Lad E være antallet af kanter, N være antallet af noder, og P være antallet af prædikatknuder for G. Overvej følgende fire udtryk: [GATE IT -2006]
- I. E-N+P
- II. E-N+2
- III. P+2
- IV. P+1
Den cyklomatiske kompleksitet af G er givet af
- (EN) I eller III
- (B) II eller III
- (C) II eller IV
- (D) I eller IV
Løsning: Korrekt svar er (C).
Ofte stillede spørgsmål om typer af softwaretest
1. Hvad er en testcase?
Flere år: Testtilfælde kan ganske enkelt bestemmes som betingelser for, at en tester vil kontrollere, om koden kører perfekt eller ej.
2. Hvad er brugen af automatiseringstest?
Flere år: Automationstest bruges til at reducere testindsatsen og tester også hurtigere leveringskapacitet.
3. Hvad er forskellen mellem manuel og automatiseret test?
Flere år: Manuel test involverer en menneskelig tester, der interagerer med softwaren for at finde fejl. Automatiseret test bruger scripts eller værktøjer til at automatisere gentagne testcases.