Icke funktionell testning

โšก Smart sammanfattning

Icke-funktionell testning validerar hur en mjukvaruapplikation presterar vad gรคller tillfรถrlitlighet, anvรคndbarhet, sรคkerhet, skalbarhet och andra kvalitetsattribut. Denna genomgรฅng fรถrklarar mรฅl, parametrar, egenskaper, vanliga testtyper och praktiska exempel pรฅ testfall som anvรคnds av kvalitetssรคkringsteam.

  • ๐ŸŽฏ Kvalitetsfokus: Icke-funktionell testning mรคter hur ett system presterar snarare รคn vad det gรถr.
  • ๐Ÿ“ Mรคtbara kriterier: Varje krav kvantifieras, vilket eliminerar subjektiva formuleringar som bra, bรคttre eller bรคst.
  • ๐Ÿ” Kritiska parametrar: Sรคkerhet, tillfรถrlitlighet, skalbarhet, anvรคndbarhet och portabilitet dominerar icke-funktionell verifiering.
  • ๐Ÿงช Olika testtyper: Prestanda-, belastnings-, stress-, รฅterhรคmtnings- och kompatibilitetstestning tar alla upp specifika kvalitetsrisker.
  • ๐Ÿ“Š Affรคrspรฅverkan: Stark icke-funktionell testning minskar produktionskostnader, driftstopp och kundmissnรถje mellan olika versioner.

Icke funktionell testning

Vad รคr icke-funktionell testning?

Icke-funktionell testning รคr en kategori av mjukvarutestning som validerar de icke-funktionella aspekterna av en applikation โ€“ prestanda, anvรคndbarhet, tillfรถrlitlighet och liknande kvalitetsattribut. Den utvรคrderar systemets beredskap mot kriterier som funktionstestning aldrig tar upp, och sรคkerstรคller att applikationen uppfyller fรถretagets fรถrvรคntningar under verkliga fรถrhรฅllanden.

Ett klassiskt exempel pรฅ icke-funktionell testning รคr att mรคta hur mรฅnga samtidiga anvรคndare som kan logga in pรฅ en applikation utan prestandafรถrsรคmring. Icke-funktionell testning รคr lika viktig som funktionell testning eftersom den direkt pรฅverkar kundnรถjdheten och den รถvergripande produktuppfattningen.

ร–versiktsdiagram รถver vad icke-funktionell testning รคr

Mรฅl fรถr icke-funktionell testning

Icke-funktionell testning utfรถrs fรถr att fรถrbรคttra en produkts รถvergripande kvalitet och livslรคngd. De viktigaste mรฅlen inkluderar:

  • ร–ka produktens anvรคndbarhet, effektivitet, underhรฅllbarhet och portabilitet.
  • Minska produktionsrisken och kostnaderna i samband med icke-funktionella defekter.
  • Optimera hur produkten installeras, konfigureras, kรถrs, hanteras och รถvervakas.
  • Samla in mรคtningar och mรคtvรคrden fรถr intern forskning och utveckling.
  • Fรถrbรคttra fรถrstรฅelsen fรถr produktens beteende och de tekniker som anvรคnds.

Kรคnnetecken fรถr icke-funktionell testning

Fรถljande egenskaper definierar hur icke-funktionell testning bรถr planeras och utfรถras:

  • Den mรฅste vara mรคtbar och lรคmna inget utrymme fรถr subjektiva beskrivningar som bra, bรคttre eller bรคst.
  • Exakta siffror รคr vanligtvis okรคnda i bรถrjan av kravprocessen.
  • Krav mรฅste prioriteras sรฅ att de omrรฅden med hรถgst risk รฅtgรคrdas fรถrst.
  • Kvalitetsattribut identifieras korrekt under programvaruutvecklingsfasen.

Icke-funktionella testparametrar

Elva parametrar anvรคnds vanligtvis fรถr att avgrรคnsa icke-funktionella testinsatser:

  1. Sรคkerhet: Mรคter hur ett system skyddas mot avsiktliga och oavsiktliga attacker frรฅn interna eller externa kรคllor. Verifierad genom sรคkerhetstestning.
  2. Pรฅlitlighet: I vilken utstrรคckning ett system kontinuerligt utfรถr sina specificerade funktioner utan fel. Verifierad genom tillfรถrlitlighetstestning.
  3. ร–verlevnadsfรถrmรฅga: Bekrรคftar att systemet fortsรคtter att fungera och รฅterstรคller sig sjรคlvt efter ett fel. Verifierad genom รฅterstรคllningstestning.
  4. Tillgรคnglighet: Bestรคmmer i vilken grad en anvรคndare kan lita pรฅ systemet under drift. Verifierad genom stabilitetstestning.
  5. anvรคndbarhet: Den lรคtthet med vilken anvรคndare kan lรคra sig, anvรคnda, fรถrbereda indata och konsumera utdata frรฅn systemet. Verifierad genom anvรคndbarhetstester.
  6. skalbarhet: I vilken grad en programvara kan utรถka sin bearbetningskapacitet fรถr att mรถta den รถkande efterfrรฅgan. Verifierad genom skalbarhetstestning.
  7. interoperabilitet: Kontrollerar hur ett programvarusystem samverkar med andra programvarusystem. Verifieras genom interoperabilitetstestning.
  8. Effektivitet: I vilken utstrรคckning systemet hanterar kapacitet, kvantitet och svarstid under belastning.
  9. Flexibilitet: Hur enkelt applikationen kan fungera med olika hรฅrdvaru- och mjukvarukonfigurationer, sรฅsom varierande RAM- eller CPU-specifikationer.
  10. portabilitet: Programvarans flexibilitet att flytta frรฅn sin nuvarande hรฅrdvaru- eller mjukvarumiljรถ till en annan.
  11. ร…teranvรคndbarhet: Avser den del av ett programvarusystem som kan anpassas fรถr anvรคndning i en annan applikation.

Diagram รถver icke-funktionella testparametrar

Typ av mjukvarutestning

Programvarutestning delas i stort sett in i tre kategorier:

  • funktions~~POS=TRUNC
  • Icke-funktionell testning
  • Underhรฅllstestning

Varje kategori innehรฅller flera testnivรฅer, vilka team ofta kallar testtyper. Olika bรถcker och referensmaterial kan klassificera dem nรฅgot olika, sรฅ fรถrvรคnta dig mindre variationer.

Listan รถver testtyper รคr inte uttรถmmande โ€“ det finns รถver 100 olika testtyper, och nya fortsรคtter att dyka upp. Alla typer gรคller inte fรถr alla projekt; omfattningen beror pรฅ den testade applikationens art, riskprofil och komplexitet.

Typer av icke-funktionell testning

De vanligaste typerna av icke-funktionell testning som utfรถrs av QA-team inkluderar:

  • Prestandatester
  • Lasttestning
  • Failover-testning
  • Test av kompatibilitet
  • Anvรคndbarhetstestning
  • Stresstestning
  • Underhรฅllbarhetstestning
  • Skalbarhetstestning
  • Volymtestning
  • Sรคkerhetstestning
  • Katastrofรฅterstรคllningstest
  • ร–verensstรคmmelsetestning
  • Portabilitetstest
  • Effektivitetstestning
  • Pรฅlitlighetstestning
  • Baslinjetestning
  • Uthรฅllighetstestning
  • Dokumentationstestning
  • ร…terhรคmtningstestning
  • Internationaliseringstestning

Exempel pรฅ testfall fรถr icke-funktionell testning

Fรถljande exempel illustrerar hur icke-funktionella testfall skrivs i verkliga projekt:

Testfall # Testfall Domรคn
1 Applikationens laddningstid bรถr inte รถverstiga 5 sekunder nรคr upp till 1000 anvรคndare har รฅtkomst till den samtidigt. Prestandatester
2 Programvaran ska kunna installeras pรฅ alla versioner som stรถds av Windows och macOS. Test av kompatibilitet
3 Alla webbbilder bรถr innehรฅlla beskrivande alt-taggar. Tillgรคnglighetstestning

Vanliga frรฅgor

Funktionstestning verifierar vad systemet gรถr mot specificerade krav. Icke-funktionell testning mรคter hur systemet presterar, inklusive hastighet, tillfรถrlitlighet, anvรคndbarhet och sรคkerhet, och sรคkerstรคller att applikationen uppfyller kvalitetsstandarder utรถver kรคrnfunktionernas beteende.

Populรคra verktyg inkluderar JMeter och LoadRunner fรถr prestanda, Selenium fรถr automatisering av anvรคndbarhet, Burp Suite och OWASP ZAP fรถr sรคkerhet, och BrowserStack fรถr kompatibilitet. Varje verktyg riktar sig mot ett specifikt icke-funktionellt omrรฅde som QA-team vill mรคta.

Icke-funktionell testning bรถr pรฅbรถrjas nรคr systemet รคr funktionellt stabilt och fรถre stรถrre utgรฅvor. Prestanda-, sรคkerhets- och tillfรถrlitlighetstester schemalรคggs vanligtvis i sena testfaser, men shift-left-strategier frรคmjar tidigare exekvering i takt med utvecklingen.

Varje parameter mรคts mot kvantifierbara trรถskelvรคrden. Prestanda mรคts i svarstid och dataflรถde, sรคkerhet genom antal sรฅrbarheter, anvรคndbarhet genom slutfรถrandefrekvens och tillfรถrlitlighet genom medeltid mellan fel. Numbers ersรคtta subjektiva รฅsikter.

Bรฅde. Prestanda-, belastnings-, stress- och sรคkerhetstestning รคr starkt beroende av automatisering pรฅ grund av skalbarhet och repeterbarhet. Anvรคndbarhets- och tillgรคnglighetstestning krรคver ofta manuell observation, expertgranskningar eller kontroller av hjรคlpmedelsteknik tillsammans med automatiserade verktyg.

AI genererar belastningsprofiler, fรถrutspรฅr prestandaflaskhalsar, prioriterar riskfyllda testfall och analyserar loggdata automatiskt. AI-drivna plattformar minskar exekveringstiden och visar regressioner snabbare.ping QA-team skalar icke-funktionell tรคckning รถver olika versioner.

Nej. AI accelererar skanningar, skapande av baslinjer och avvikelsedetektering, men experttestare tolkar fortfarande resultat, validerar exploitkedjor och utformar testscenarier. AI fรถrstรคrker mรคnskligt omdรถme i icke-funktionell testning snarare รคn att ersรคtta erfarna QA-ingenjรถrer.

Sammanfatta detta inlรคgg med: