Stabilitetstest i softwaretest
โก Smart opsummering
Stabilitetstest kontrollerer, om en applikation fortsรฆtter med at fungere pรฅlideligt, nรฅr forholdene รฆndrer sig, i stedet for kun under รฉn fast belastning. Det afslรธrer nedbrud, ressourceudtรธmning og forringelse, som en kort funktionel kรธrsel aldrig nรฅr.

Hvad er stabilitetstest?
Stabilitetstest er en type ikke-funktionel softwaretest udfรธrt for at mรฅle effektiviteten og evnen af โโen softwareapplikation til kontinuerligt at fungere over en lang periode. Formรฅlet med stabilitetstestning er at kontrollere, om softwareapplikationen gรฅr ned eller fejler ved normal brug pรฅ et hvilket som helst tidspunkt ved at udรธve hele dets anvendelsesomrรฅde.
Stabilitetstest udfรธres for at kontrollere effektiviteten af โโet udviklet produkt ud over normal driftskapacitet, ofte til et brudpunkt. Der er 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 stresse softwarekomponenten maksimalt. Det er en ikke-funktionel teknik.

Stabilitetstest omtales ogsรฅ som en belastning eller udholdenhedstest.
Risici, hvis systemet under test ikke har gennemgรฅet stabilitetstest
For en applikation under test, hvor et stort antal brugere introduceres, og applikationer, der skal kรธre i flere mรฅneder uden at genstarte, vil der sandsynligvis opstรฅ en rรฆkke problemer:
Den mulige fejl kan konfronteres,
- systemet bremser
- systemet stรธder pรฅ funktionsproblemer
- systemet viser kablet adfรฆrd
- systemet gรฅr helt ned
I Software Engineering, Stabilitetstest involverer typisk trรฆning af systemet med tunge brugere (virtuel) og mรฅling af ydeevneparametrene for at verificere, om systemet kan understรธtte den forventede belastning.
Hvorfor udfรธrer stabilitetstest
Denne form for test hjรฆlper brugerne med at forstรฅ, hvordan systemet vil fungere i virkelige situationer.
Derfor giver stabilitetstest dig mulighed for at kontrollere,
- Giv tillid til stabiliteten af โโdit system, der testes.
- Sรธrg for, at dit system kan hรฅndtere store programmer.
- Overvรฅg effektiviteten af โโdit system.
- Test systemets stabilitet under stress.
Det spiller en vigtig rolle i produktudvikling, da det bruges til at bestemme begrรฆnsningerne for et softwareprodukt, der testes, fรธr det frigives, eller omrรฅder med flere forbedringer, fรธr produktet gรฅr live eller i produktion.
Et meget almindeligt eksempel pรฅ stabilitetstestteknik er
Online SHopping Portals: Stabilitetstest vil kontrollere, hvordan hjemmesiden vil opfรธre sig, nรฅr โ
- Hรธj mรฆngde data indtastet pรฅ spidsbelastningstidspunktet
- Antal hits pรฅ et bestemt bestemt tidspunkt
- Problem med sideindlรฆsning pรฅ samme tid
- Systemets opfรธrsel
- Systemets lydhรธrhed og mange flere kommer under Stabilitetstest
Et andet eksempel
A CPU test er en populรฆr form for stabilitetstest under Test af ydeevne teknik. Denne test kontrollerer processorstabilitet og overvรฅger ogsรฅ dens ydeevne, nรฅr processorens arbejdsbyrde รธges.
Sรฅdan laver du stabilitetstest
- For at bestemme omfanget og formรฅlet med testen skal vi sikre, at applikationsserveren(e) ikke gรฅr ned under belastningstesten.
- For at bestemme forretningsproblemerne skal du kontrollere systemets ydeevne og belastning i henhold til slutbrugerens perspektiv.
- For at tildele de forskellige ansvarsomrรฅder og roller som -Oprettelse af testplan, Test sag design, Test case review, Test udfรธrelse mv.
- For at sikre, at testen leverer inden for den angivne tid
- For at sikre korrekt Load Testing vรฆrktรธjer og erfaringsteam er til stede for det samme.
- At mรฅle risikoen og omkostningerne ved testen. Dette vil bestemme omkostningerne ved hver udfรธrelse i form af CPU-udnyttelse og hukommelse.
- Bestem Defekt trackonge og rapportering og deres rette kortping med kravene.
Testcase for stabilitetstest for CPU-ydelse
- For at verificere den รธvre grรฆnse for systemet.
- Hvordan systemet gรฅr ned eller genopretter.
- Et samlet antal gennemfรธrte transaktioner pr. anmodning.
- Hvorvidt transaktionssvaret forbliver stabilt eller stiger over tid.
- Hvordan systemet opfรธrer sig under hรฅrd belastning.
- Dens reaktion og adfรฆrd under tung belastning.
Testrapporter til stabilitetstestning
Adskillige statistikker indsamles og mรฅles under testudfรธrelser; disse tal analyseres for at generere en rapport og identificere mulige prรฆstationsproblemer.
Eksempler pรฅ statistik indsamlet under test er:
- Transaktionssvartider: Den gennemsnitlige tid det tager at udfรธre transaktioner under testen. Denne statistik vil evaluere, om serverens ydeevne er inden for de acceptable minimums- og maksimumsperioder for transaktionsydelse, der er defineret for systemet. Disse oplysninger vil evaluere den tid, det tager at behandle anmodningen af โโwebserveren og sendes til applikationsserveren, som i de fleste tilfรฆlde vil fremsรฆtte en anmodning til en databaseserver.
- Hits per sekund: Antallet af hits lavet pรฅ serveren af โโbrugere. Disse statistikker gavner til at bestemme antallet af belastning, som brugere genererer med hensyn til et antal hits.
- gennemlรธb: Mรฆngden af โโgennemlรธb pรฅ webserveren under testen, som mรฅles i bytes. Gennemlรธb betyder mรฆngden af โโdata, som brugerne modtog fra serveren pรฅ et givet tidspunkt. Denne statistik hjรฆlper med at evaluere mรฆngden af โโbelastning, som brugerne genererer.
- Transaktion pr. sekund: Disse er det samlede antal gennemfรธrte transaktioner (bรฅde vellykkede og mislykkede) udfรธrt under en test. Denne statistik hjรฆlper med at kontrollere den faktiske transaktionsbelastning pรฅ systemet.
- CPU: CPU procentudnyttelse brugt under en test.
- Hukommelse: Hukommelsesbrug under en test.
- Disk: udnyttelse af diskplads brugt under en test.
Grundlรฆggende om stabilitetstest
Stabilitetstest kommer under Performance Testing โ en teknik, der udfรธres for at kontrollere nogle af softwarens kvalitetsegenskaber som stabilitet, pรฅlidelighed og tilgรฆngelighed.
Denne test bruges til at bestemme, hvor hurtigt et system eller undersystem klarer sig under en bestemt arbejdsbelastning.
Ydelsestest har mange typer, og stabilitetstest er en af โโdem.
- Stresstest: Det er en testtype, som kontrollerer systemets robusthed ud over systemets kapacitet.
- Spike test: Det bruges til at kontrollere et systems adfรฆrd ved at รธge en belastning af et system รธjeblikkeligt. Mรฅlet er at kontrollere, pรฅ hvilket tidspunkt systemet vil have problemer med ydeevnen, eller det vil bestรฅ.
- Skalerbarhedstest: Det bruges til at kontrollere et systems muligheder. Hvor effektivt systemet vil opfรธre sig i stigende behov, รฆndring i stรธrrelse og รฆndring i volumen.
- Volumen test: Det er en ikke-funktionel testteknik, hvor software, der testes, udsรฆttes for en enorm mรฆngde data, og et systems opfรธrsel kontrolleres og verificeres i overensstemmelse hermed.
- Belastnings- eller stabilitetstest: (allerede diskuteret ovenfor)
Vรฆrktรธjer til stabilitetstest
Nogle af vรฆrktรธjerne til prรฆstationstest er som โ
- WebLOAD
- LoadRunner
- Apache JMeter
- NeoLoad
- CloudTest
- Laststorm
- LoadUI
- WAPT
- LoadImpact
- Lรฆsser
- Httperf
- OpenSTA
Hvordan denne test passer til prรฆstationstestfamilien
Ydelsestest er en paraplybetegnelse. Varianterne nedenfor adskiller sig kun i formen af โโden pรฅfรธrte belastning og den varighed, den holdes i, hvilket er grunden til, at de sรฅ ofte forveksles med hinanden.
| Testtype | Indlรฆsningsmรธnster | Spรธrgsmรฅl det besvarer |
|---|---|---|
| Belastningstest | Forventet spidsbelastning, kort varighed | Opfylder systemet sine mรฅl under normal spidsbelastning? |
| Stresstest | รget ud over kapaciteten indtil fejl | Hvor knรฆkker den, og fejler den yndefuldt? |
| Spike test | Pludselig ekstrem stigning, derefter tilbagetrรฆkning | Overlever og kommer den sig efter et trafikchok? |
| Udholdenhedstest | Normal belastning holdt i mange timer | Forringes ydeevnen over tid? |
| Soak-test | Vedvarende belastning over en lรฆngere periode | Er der hukommelseslรฆkager eller ressourceudtรธmning? |
| Stabilitetstest | Varierende belastning under forskellige forhold | Forbliver systemet pรฅlideligt, nรฅr forholdene รฆndrer sig? |
| Volumentest | Normale brugere, meget stor datamรฆngde | Klarer den sig, nรฅr databasen vokser? |
Holdbarheds- og gennemvรฆdningstestning behandles ofte som synonymer. I almindelig brug er de: begge holder en vedvarende belastning i en lang periode. Hvor teams adskiller dem, fokuserer udholdenhedstest pรฅ, om svartiderne stiger, mens soak-test fokuserer pรฅ ressourceforbrug sรฅsom hukommelse, filhandles og forbindelsespuljer. At kรธre en giver dig normalt bevis for begge.
Nรธglemรฅlinger, der skal registreres under testen
En performancekรธrsel er kun sรฅ god som det, du optager, mens den udfรธres. Registrer disse seks pรฅ server- og klientsiden, og sammenlign dem derefter med baseline i stedet for med en mavefornemmelse.
| metric | Hvad den fortรฆller dig | Advarselsskilt |
|---|---|---|
| Gennemsnitlig svartid | Typisk brugeroplevelse | Enhver opadgรฅende drift pรฅ tvรฆrs af lรธbet |
| 95. percentil responstid | Oplevelsen for de langsomste brugere | Langt over gennemsnittet, hvilket betyder inkonsekvens |
| gennemlรธb | Anmodninger behandlet pr. sekund | Fald mens belastningen forbliver konstant |
| Fejlrate | Andel af mislykkede eller timeout-forespรธrgsler | Enhver stigning over den aftalte tรฆrskel |
| CPU- og hukommelsesforbrug | Serverressource headroom | Hukommelse der klatrer og aldrig vender tilbage |
| Databaseforbindelser og trรฅde | Udmattelse af poolen | Antal der vokser stรธt uden frigivelse |
Lรฆs gennemsnittet og percentilen sammen. Et gennemsnit pรฅ 800 ms med en 95. percentil pรฅ 900 ms beskriver et konsistent system. Det samme gennemsnit med en 95. percentil pรฅ 9 sekunder betyder, at รฉn ud af tyve brugere har det dรฅrligt, og gennemsnittet skjuler det.
Se pรฅ formen, ikke kun vรฆrdien. I enhver langvarig test er en flad ressourcelinje et bestรฅet resultat, og en stigende er en lรฆkage, selv nรฅr det absolutte tal stadig er komfortabelt inden for grรฆnsen i det รธjeblik, kรธrslen slutter.
