Ikke funktionel test

โšก Smart opsummering

Ikke-funktionel testning validerer, hvordan en softwareapplikation prรฆsterer med hensyn til pรฅlidelighed, brugervenlighed, sikkerhed, skalerbarhed og andre kvalitetsegenskaber. Denne gennemgang forklarer mรฅl, parametre, egenskaber, almindelige testtyper og praktiske eksempler pรฅ testcases, der anvendes af kvalitetssikringsteams.

  • ๐ŸŽฏ Kvalitetsfokus: Ikke-funktionel testning mรฅler, hvordan et system prรฆsterer, snarere end hvad det gรธr.
  • ๐Ÿ“ Mรฅlbare kriterier: Hvert krav kvantificeres, hvilket eliminerer subjektive formuleringer som god, bedre eller bedst.
  • ๐Ÿ” Kritiske parametre: Sikkerhed, pรฅlidelighed, skalerbarhed, brugervenlighed og portabilitet dominerer ikke-funktionel verifikation.
  • ๐Ÿงช Forskellige testtyper: Ydelses-, belastnings-, stress-, genopretnings- og kompatibilitetstest adresserer hver isรฆr specifikke kvalitetsrisici.
  • ๐Ÿ“Š Forretningspรฅvirkning: Stรฆrk ikke-funktionel test reducerer produktionsomkostninger, nedetid og kundeutilfredshed pรฅ tvรฆrs af udgivelser.

Ikke funktionel test

Hvad er ikke-funktionel test?

Ikke-funktionel test er en kategori inden for softwaretestning, der validerer de ikke-funktionelle aspekter af en applikation - ydeevne, brugervenlighed, pรฅlidelighed og lignende kvalitetsegenskaber. Den evaluerer systemets parathed i forhold til kriterier, som funktionel testning aldrig adresserer, og sikrer, at applikationen opfylder virksomhedens forventninger under virkelige forhold.

Et klassisk eksempel pรฅ ikke-funktionel testning er at mรฅle, hvor mange samtidige brugere der kan logge ind pรฅ en applikation uden forringelse af ydeevnen. Ikke-funktionel testning er lige sรฅ kritisk som funktionel testning, fordi den direkte pรฅvirker kundetilfredsheden og den samlede produktopfattelse.

Oversigtsdiagram over ikke-funktionel testning

Mรฅlsรฆtninger for ikke-funktionel testning

Ikke-funktionel testning udfรธres for at forbedre et produkts samlede kvalitet og levetid. Hovedmรฅlene omfatter:

  • ร˜g produktets brugervenlighed, effektivitet, vedligeholdelsesvenlighed og bรฆrbarhed.
  • Reducer produktionsrisiko og omkostninger forbundet med ikke-funktionelle defekter.
  • Optimer den mรฅde, produktet installeres, konfigureres, udfรธres, administreres og overvรฅges pรฅ.
  • Indsaml mรฅlinger og metrikker til intern forskning og udvikling.
  • Forbedre forstรฅelsen af โ€‹โ€‹produktets adfรฆrd og de anvendte teknologier.

Karakteristika ved ikke-funktionel testning

Fรธlgende trรฆk definerer, hvordan ikke-funktionel testning skal planlรฆgges og udfรธres:

  • Det skal vรฆre mรฅlbart og ikke efterlade plads til subjektive beskrivelser som god, bedre eller bedst.
  • Nรธjagtige tal er normalt ukendte i starten af โ€‹โ€‹kravprocessen.
  • Krav skal prioriteres, sรฅ de omrรฅder med hรธjest risiko adresseres fรธrst.
  • Kvalitetsegenskaber identificeres nรธjagtigt i softwareudviklingsfasen.

Ikke-funktionelle testparametre

Elleve parametre bruges typisk til at afgrรฆnse ikke-funktionelle testindsatser:

  1. Sikkerhed: Mรฅler, hvordan et system er beskyttet mod bevidste og utilsigtede angreb fra interne eller eksterne kilder. Verificeret gennem sikkerhedstest.
  2. Pรฅlidelighed: I hvilken grad et system kontinuerligt udfรธrer sine specificerede funktioner uden fejl. Verificeret gennem pรฅlidelighedstest.
  3. Overlevelsesevne: Bekrรฆfter, at systemet fortsรฆtter med at fungere og genopretter sig selv efter en fejl. Verificeret gennem genoprettelsestest.
  4. tilgรฆngelighed: Bestemmer i hvilken grad en bruger kan stole pรฅ systemet under drift. Verificeret gennem stabilitetstest.
  5. Anvendelighed: Den lethed, hvormed brugere kan lรฆre, betjene, forberede input og forbruge output fra systemet. Verificeret gennem brugervenlighedstest.
  6. Skalerbarhed: I hvilken grad en softwareapplikation kan udvide sin behandlingskapacitet for at imรธdekomme den stigende efterspรธrgsel. Verificeret gennem skalerbarhedstest.
  7. interoperabilitet: Kontrollerer, hvordan et softwaresystem interagerer med andre softwaresystemer. Verificeret gennem interoperabilitetstest.
  8. Effektivitet: I hvilken grad systemet hรฅndterer kapacitet, mรฆngde og svartid under belastning.
  9. Fleksibilitet: Den lethed, hvormed applikationen kan fungere pรฅ tvรฆrs af forskellige hardware- og softwarekonfigurationer, sรฅsom varierende RAM- eller CPU-specifikationer.
  10. Overfรธrsel: Softwarens fleksibilitet til at flytte fra sit nuvรฆrende hardware- eller softwaremiljรธ til et andet.
  11. Genanvendelighed: Henviser til den del af et softwaresystem, der kan tilpasses til brug i en anden applikation.

Diagram over ikke-funktionelle testparametre

Type softwaretest

Softwaretestning er groft set opdelt i tre kategorier:

  • Funktionstest
  • Ikke-funktionel test
  • Vedligeholdelsestest

Hver kategori indeholder flere testniveauer, som teams ofte omtaler som testtyper. Forskellige bรธger og referencematerialer kan klassificere dem lidt forskelligt, sรฅ forvent mindre variationer.

Listen over testtyper er ikke udtรธmmende โ€“ der findes over 100 forskellige testtyper, og nye dukker lรธbende op. Ikke alle typer gรฆlder for alle projekter; omfanget afhรฆnger af arten, risikoprofilen og kompleksiteten af โ€‹โ€‹den applikation, der testes.

Typer af ikke-funktionel test

De mest almindelige typer ikke-funktionel testning udfรธrt af QA-teams omfatter:

  • Test af ydeevne
  • Load Testing
  • Failover test
  • Test af kompatibilitet
  • Usability Testing
  • Stresstest
  • Vedligeholdelsestest
  • Skalerbarhedstest
  • Volumentestning
  • Sikkerhedstest
  • Disaster recovery test
  • Overholdelsestest
  • Portabilitetstest
  • Effektivitetstest
  • Pรฅlidelighedstest
  • Baseline test
  • Udholdenhedstest
  • Dokumentationstest
  • Gendannelsestest
  • Internationaliseringstest

Eksempler pรฅ testcases til ikke-funktionel testning

Fรธlgende eksempler illustrerer, hvordan ikke-funktionelle testcases skrives i virkelige projekter:

Test sag # Test sag Domรฆne
1 Applikationens indlรฆsningstid bรธr ikke overstige 5 sekunder, nรฅr op til 1000 brugere tilgรฅr den samtidigt. Test af ydeevne
2 Softwaren skal kunne installeres pรฅ alle understรธttede versioner af Windows og macOS. Test af kompatibilitet
3 Alle webbilleder skal indeholde beskrivende alt-tags. Tilgรฆngelighedstest

Ofte Stillede Spรธrgsmรฅl

Funktionel testning verificerer, hvad systemet gรธr i forhold til specificerede krav. Ikke-funktionel testning mรฅler, hvordan systemet yder, herunder hastighed, pรฅlidelighed, brugervenlighed og sikkerhed, og sikrer, at applikationen opfylder kvalitetsstandarder ud over kernefunktionernes adfรฆrd.

Populรฆre vรฆrktรธjer omfatter JMeter og LoadRunner for ydeevne, Selenium til automatisering af brugervenlighed, Burp Suite og OWASP ZAP for sikkerhed og BrowserStack for kompatibilitet. Hvert vรฆrktรธj er rettet mod et specifikt ikke-funktionelt omrรฅde, som QA-teams รธnsker at mรฅle.

Ikke-funktionel testning bรธr starte, nรฅr systemet er funktionelt stabilt og fรธr stรธrre udgivelser. Ydelses-, sikkerheds- og pรฅlidelighedstests planlรฆgges normalt i sene testfaser, men shift-left-strategier fremmer tidligere udfรธrelse i takt med udviklingen.

Hver parameter mรฅles i forhold til kvantificerbare tรฆrskler. Ydeevne mรฅles i svartid og gennemlรธbshastighed, sikkerhed gennem antal sรฅrbarheder, brugervenlighed gennem opgavefuldfรธrelsesrater og pรฅlidelighed gennem gennemsnitlig tid mellem fejl. Numbers erstatte subjektive meninger.

Begge. Ydelses-, belastnings-, stress- og sikkerhedstest er i hรธj grad afhรฆngige af automatisering pรฅ grund af skala og repeterbarhed. Brugervenligheds- og tilgรฆngelighedstest krรฆver ofte manuel observation, ekspertvurderinger eller tjek af hjรฆlpeteknologi sammen med automatiserede vรฆrktรธjer.

AI genererer belastningsprofiler, forudsiger flaskehalse i ydeevnen, prioriterer risikable testcases og analyserer logdata automatisk. AI-drevne platforme reducerer udfรธrelsestiden og afdรฆkker regressioner hurtigere.ping QA-teams skalerer ikke-funktionel dรฆkning pรฅ tvรฆrs af udgivelser.

Nej. AI accelererer scanninger, oprettelse af baseline og anomalidetektering, men eksperttestere fortolker stadig resultater, validerer exploitkรฆder og designer testscenarier. AI forstรฆrker menneskelig dรธmmekraft i ikke-funktionel testning i stedet for at erstatte erfarne QA-ingeniรธrer.

Opsummer dette indlรฆg med: