Hva er utholdenhetstesting i programvaretesting? (med eksempel)

Utholdenhetstesting

Utholdenhetstesting er en ikke-funksjonell type programvaretesting der en programvare testes med hรธy belastning over en betydelig tidsperiode for รฅ evaluere oppfรธrselen til programvareapplikasjonen under vedvarende bruk. Hovedformรฅlet med utholdenhetstesting er รฅ sikre at applikasjonen er i stand til รฅ hรฅndtere forlenget belastning uten forringelse av responstiden.

Denne typen testing utfรธres i siste fase av ytelseskjรธringssyklusen. Utholdenhetstesting er en lang prosess og varer noen ganger i opptil ett รฅr. Dette kan inkludere bruk av eksterne belastninger som Internett-trafikk eller brukerhandlinger. Dette gjรธr at utholdenhetstesting skiller seg fra Load Testing, som vanligvis slutter om et par timer eller sรฅ.

Utholdenhet betyr kapasitet, sรฅ med andre ord kan du betegne utholdenhetstesting som kapasitetstesting.

Mรฅl for utholdenhetstesting

  • Hovedmรฅlet med utholdenhetstesting er รฅ se etter minnelekkasjer.
  • For รฅ finne ut hvordan systemet fungerer under vedvarende bruk.
  • For รฅ sikre at etter en lang periode vil systemets responstid forbli den samme eller bedre enn starten av testen.
  • For รฅ bestemme antall brukere og/eller transaksjoner vil et gitt system stรธtte og oppfylle ytelsesmรฅlene.
  • For รฅ hรฅndtere fremtidige belastninger, mรฅ vi forstรฅ hvor mange ekstra ressurser (som prosessorkapasitet, diskkapasitet, minnebruk eller nettverksbรฅndbredde) som er nรธdvendig for รฅ stรธtte bruk i fremtiden.
  • Utholdenhetstesting utfรธres vanligvis ved enten รฅ overbelaste systemet eller ved รฅ redusere visse systemressurser og evaluere konsekvensene.
  • Det utfรธres for รฅ sikre at defekter eller minnelekkasjer ikke oppstรฅr etter det som anses รฅ vรฆre en relativt "normal" bruksperiode.

Hva du skal overvรฅke i utholdenhetstesting

Utholdenhetstesting

I utholdenhetstesting blir fรธlgende ting testet.
  • Test minnelekkasjeโ€“ Kontroller utfรธres for รฅ verifisere om det er noen minnelekkasje i applikasjonen, noe som kan forรฅrsake krasj i systemet eller OS
  • Test koblingen mellom laget av systemet โ€“ Hvis forbindelsen mellom lagene i systemet ikke lukkes, kan det stoppe noen eller alle modulene i systemet.
  • Test databasetilkoblingen ble lukketโ€“ Hvis databasetilkoblingen ikke lukkes, kan det fรธre til systemkrasj
  • Test responstid โ€“ Systemet testes for responstiden til systemet ettersom applikasjonen blir mindre effektiv som fรธlge av langvarig bruk av systemet.

Hvordan utfรธre utholdenhetstesting

Nedenfor er den grunnleggende testmetoden for utholdenhetstesten
  • Testmiljรธ โ€“ Identifiser maskinvaren, programvaren, operativsystemet som kreves for utholdenhetstestingen, tildeling av roller og ansvar i teamet osv. Miljรธet bรธr vรฆre klart fรธr testen utfรธres. Du mรฅ ogsรฅ estimere felles databaseproduksjonsstรธrrelse og รฅrlig vekst. Dette er pรฅkrevd, sรฅ du mรฅ teste hvordan sรธknaden din vil svare etter et รฅr, to eller fem.
  • Opprette testplanen, scenarier โ€“ Basert pรฅ testingens natur โ€“ manuell eller automatisering eller kombinasjon av begge, Testsak design, vurderinger og utfรธrelse bรธr planlegges. Testing for รฅ stresse systemet, bruddpunkttesting osv. bรธr ogsรฅ vรฆre en del av testplanen. Testing for รฅ stresse systemet bestemmer bruddpunktet i applikasjonen.
  • Testestimat โ€“ Gi estimat av hvor lang tid det vil ta รฅ fullfรธre testfasen. Den bรธr analyseres pรฅ grunnlag av et antall involverte testere og antall testsykluser som kreves.
  • Risikoanalyse โ€“ Analysere risikoen og iverksette passende tiltak for forebygging. Prioritering av testtilfeller i henhold til risikofaktoren og identifiser risiko- og problemstillingen nedenfor som testeren kan fase under utholdenhetstesten.
  • Vil ytelsen forbli konsistent over tid?
  • Er det andre mindre problemer som ennรฅ ikke er oppdaget?
  • Er det ekstern interferens som ikke ble adressert?
  • Testplan โ€“ Bestem budsjettet, leveranser innenfor tidsrammene. Som Utholdenhetstesting bruker en enorm, men naturlig belastningsordning av transaksjoner til systemet/applikasjonen i en sammenhengende periode.

Eksempel pรฅ utholdenhetstesting

Samtidig som Stresstesting tar det testede systemet til sine grenser, Utholdenhetstesting tar sรธknaden til det ytterste over tid. For eksempel skjer de mest komplekse problemene โ€“ minnelekkasjer, databaseserverbruk og system som ikke reagerer โ€“ nรฅr programvare kjรธrer over en lengre periode. Hvis du hopper over utholdenhetstestene, er sjansene dine for รฅ oppdage slike feil fรธr utplassering ganske lave.

Utholdenhetstestverktรธy

Fordeler med utholdenhetstesting

  • Det hjelper med รฅ bestemme hvordan arbeidsbelastningen kan hรฅndtere systemet under belastning.
  • Gir nรธyaktige data som kunden kan bruke til รฅ validere eller forbedre deres infrastrukturbehov.
  • Identifiserer ytelsesproblemer som kan oppstรฅ etter at et system har kjรธrt pรฅ et hรธyt nivรฅ over lengre tid
  • Typiske problemer blir identifisert i mindre mรฅlrettede ytelsestester, noe som betyr at det sikrer at applikasjonen forblir tilgjengelig selv nรฅr det er stor belastning pรฅ svรฆrt kort tid.
  • Utholdenhetstesten brukes ogsรฅ til รฅ sjekke om det er noen ytelsesforringelse etter en lang periode med utfรธrelse

Ulemper med utholdenhetstesting

  • Det er ofte vanskelig รฅ definere hvor mye stress som er verdt รฅ bruke.
  • Utholdenhetstesting kan forรฅrsake applikasjons- og/eller nettverksfeil som kan resultere i betydelige forstyrrelser hvis Test miljรธ er ikke isolert.
  • Permanent tap av data eller korrupsjon kan oppstรฅ ved รฅ overbelaste systemet.
  • Ressursutnyttelsen forblir svรฆrt hรธy etter at stresset er fjernet.
  • Noen applikasjonskomponenter svarer ikke.
  • Ubehandlede unntak observeres av sluttbrukeren.

Sammendrag

  • In Engineering programvare, Utholdenhetstesting er en undergruppe av belastningstesting.
  • Utholdenhetstesting er en lang prosess og varer noen ganger i opptil ett รฅr
  • Det gjรธres kontroller for รฅ verifisere
  • Test minnelekkasje
  • Test responstid
  • Test databaseforbindelse osv.

Oppsummer dette innlegget med: