Mi az a tartóssági tesztelés a szoftvertesztelésben? (példával)

⚡ Okos összefoglaló

A tartóssági tesztelés (Endurance Testing) egy alkalmazást normál várható terhelés alatt futtat hosszabb ideig, hogy felfedje, vajon a teljesítmény romlik-e az idő múlásával. Ez a teszt azokat a hibákat szűri ki, amelyeket egy órás terheléses futtatás nem tud elérni.

  • 🕒 Tartós terhelés: A várható éles forgalom órákig vagy napokig, nem pedig percekig maradt.
  • 📉 Degradációs fókusz: A kérdés az, hogy a válaszidők felfelé húzódnak-e, nem pedig az, hogy a cél egyszer teljesül-e.
  • 💧 Gyakori megállapítások: Memóriaszivárgások, kapcsolatkészlet kimerülése, valamint korlátlan napló- vagy gyorsítótár-növekedés.
  • 📊 Monitoring készlet: Memória, CPU, válaszidő, átviteli sebesség és adatbázis-kapcsolatok a teljes futtatás során.
  • 🇧🇷 szerszámozás: A szabványos betöltési eszközök irányítják a forgalmat, míg az APM eszközök rögzítik az erőforrás-görbéket.
  • 🇧🇷 Kompromisszum: Az eredmények értékesek, de lassan érhetők el, ami korlátozza a teszt futtatásának gyakoriságát.

Mi az állóképességi teszt?

Mi az az állóképességi teszt?

Tartóssági tesztelés A szoftvertesztelés nem funkcionális típusa, ahol a szoftvert nagy terhelés mellett, jelentős ideig meghosszabbítva tesztelik, hogy értékeljék a szoftveralkalmazás viselkedését tartós használat mellett. A tartós tesztelés fő célja annak biztosítása, hogy az alkalmazás eléggé képes legyen kezelni a hosszabb terhelést anélkül, hogy a válaszidő romlana.

Az ilyen típusú tesztelést a teljesítményfutási ciklus utolsó szakaszában hajtják végre. A tartóssági tesztelés hosszú folyamat, és néha akár egy évig is eltarthat. Ez magában foglalhatja a külső terhelések, például az internetes forgalom vagy a felhasználói műveletek alkalmazását. Ez különbözteti meg a tartóssági tesztet Terhelésvizsgálat, ami általában pár óra múlva véget ér.

Az állóképesség a kapacitást jelenti, így más szóval az állóképességtesztet kapacitástesztnek nevezheti.

Az állóképességi tesztelés céljai

  • Az állóképességi tesztelés elsődleges célja a memóriaszivárgás ellenőrzése.
  • Hogy megtudja, hogyan működik a rendszer tartós használat mellett.
  • Annak biztosítása érdekében, hogy hosszú idő elteltével a rendszer válaszideje ugyanaz vagy jobb maradjon, mint a teszt kezdete.
  • A felhasználók és/vagy tranzakciók számának meghatározásához egy adott rendszer támogatni fogja és teljesíti a teljesítménycélokat.
  • A jövőbeli terhelések kezeléséhez meg kell értenünk, hogy hány további erőforrásra (például processzorkapacitásra, lemezkapacitásra, memóriahasználatra vagy hálózati sávszélességre) van szükség a jövőbeni használat támogatásához.
  • A tartóssági tesztelést általában a rendszer túlterhelésével vagy bizonyos rendszererőforrások csökkentésével és a következmények értékelésével végzik.
  • Ennek biztosítása érdekében történik, hogy a viszonylag „normális” használati időszak után ne forduljanak elő hibák vagy memóriaszivárgás.

Mit kell figyelni az állóképességi tesztelés során?

Tartóssági tesztelés

Az állóképességi tesztelés során a következő dolgokat tesztelik.

  • Memóriaszivárgás tesztelése– Ellenőrzik, hogy nincs-e memóriaszivárgás az alkalmazásban, ami a rendszer vagy az operációs rendszer összeomlását okozhatja
  • Tesztelje a kapcsolat lezárását a rendszer rétege között – Ha a rendszer rétegei közötti kapcsolat nem záródik sikeresen, akkor a rendszer néhány vagy összes modulja leállhat.
  • Az adatbázis-kapcsolat tesztelése sikeresen lezárult– Ha az adatbázis-kapcsolat nem záródik sikeresen, a rendszer összeomolásához vezethet
  • Teszt válaszidő – A rendszert tesztelik a rendszer válaszideje szempontjából, mivel az alkalmazás kevésbé hatékony a rendszer hosszan tartó használata következtében.

Hogyan végezzünk állóképességi tesztet?

Az alábbiakban bemutatjuk az állóképességi teszt alapvető tesztelési megközelítését

  • Tesztkörnyezet – Azonosítsa a hardvert, szoftvert, operációs rendszert, amelyre szüksége van a tartóssági teszteléshez, a csapaton belüli szerepkörök és felelősségek kiosztásához stb. A környezetnek készen kell állnia a teszt végrehajtása előtt. Ezenkívül meg kell becsülnie a közös adatbázis-termelés méretét és az éves növekedést. Erre önmagában szükség van, és tesztelnie kell, hogyan fog reagálni az alkalmazás egy, két vagy öt év múlva.
  • Tesztterv készítése, forgatókönyvek – A tesztelés jellege alapján – kézi vagy automatizált, vagy a kettő kombinációja, Teszt eset tervezést, felülvizsgálatot és kivitelezést kell megtervezni. A tesztterv részét kell képeznie a rendszer stresszt okozó tesztelésének, a töréspont tesztelésének stb. A rendszer terhelése érdekében végzett tesztelés határozza meg az alkalmazás töréspontját.
  • Tesztbecslés – Adja meg a becslést, hogy mennyi ideig tart a tesztelési szakasz befejezése. Elemezni kell az érintett tesztelők száma és a szükséges vizsgálati ciklusok száma alapján.
  • Kockázatelemzés - A kockázat elemzése és a megelőzés érdekében megfelelő intézkedések megtétele. A tesztesetek rangsorolása a kockázati tényező szerint, és azonosítsa az alábbi kockázatokat és problémákat, amelyeket a tesztelő fázisban végezhet a tartóssági teszt során.
  • A teljesítmény egyenletes marad az idő múlásával?
  • Vannak más kisebb problémák, amelyeket még nem észleltek?
  • Van olyan külső interferencia, amelyet nem kezeltek?
  • Teszt ütemezése - Határozza meg a költségvetést, a teljesítéseket az időkereteken belül. Mint Tartóssági tesztelés a tranzakciók hatalmas, de természetes terhelési elrendezését alkalmazza a rendszerre/alkalmazásra folyamatos időtartamra.

Példa az állóképesség tesztelésére

Míg Stressz tesztelés a tesztelt rendszert a korlátai közé viszi, Tartóssági vizsgálat határáig viszi az alkalmazást túlóra.

Például a legösszetettebb problémák – memóriaszivárgások, adatbázis-kiszolgáló kihasználtsága és a rendszer lefagyása – akkor fordulnak elő, amikor a szoftver hosszabb ideig fut. Ha kihagyja a tartóssági teszteket, akkor az ilyen hibák telepítés előtti észlelésének esélye meglehetősen alacsony.

Állóképesség-vizsgáló eszközök

Az állóképességi tesztelés előnyei

  • Segít meghatározni, hogy a rendszer terhelés alatt milyen terhelést képes kezelni.
  • Pontos adatokat biztosít, amelyeket az ügyfél felhasználhat infrastrukturális igényeinek érvényesítésére vagy javítására.
  • Azonosítja azokat a teljesítményproblémákat, amelyek akkor fordulhatnak elő, ha a rendszer hosszabb ideig magas szinten fut
  • A tipikus problémákat kisebb célzott teljesítménytesztek azonosítják, ami azt jelenti, hogy az alkalmazás még akkor is elérhető marad, ha nagyon rövid időn belül nagy terhelés van.
  • A tartóssági tesztet arra is használják, hogy ellenőrizzék, nincs-e teljesítményromlás a hosszú távú végrehajtás után

Az állóképességi tesztelés hátrányai

  • Gyakran nehéz meghatározni, hogy mennyi stresszt érdemes alkalmazni.
  • A tartóssági tesztelés alkalmazás- és/vagy hálózati hibákat okozhat, amelyek jelentős fennakadást okozhatnak Tesztkörnyezet nem elszigeteltek.
  • A rendszer túlterhelése tartós adatvesztést vagy -sérülést okozhat.
  • Az erőforrás-kihasználás a stressz megszüntetése után is nagyon magas marad.
  • Egyes alkalmazásösszetevők nem válaszolnak.
  • A kezeletlen kivételeket a végfelhasználó figyeli meg.

Hogyan illeszkedik ez a teszt a teljesítménytesztelési családba

A teljesítménytesztelés egy gyűjtőfogalom. Az alábbi változatok csak az alkalmazott terhelés alakjában és annak időtartamában különböznek, ezért gyakran összekeverik őket egymással.

Teszt típusa Betöltési minta Kérdés, amit megválaszol
Terhelési tesztelés Várható csúcsterhelés, rövid időtartam Eléri-e a rendszer a céljait normál csúcsforgalom mellett?
Stressz tesztelés Kapacitáson túl növelve, egészen meghibásodásig Hol törik el, és kecsesen meghibásodik?
Tüskék tesztelése Hirtelen extrém hullám, majd megvonás Túléli és felépül egy közlekedési sokk után?
Tartóssági vizsgálat Normál terhelés sok órán át Idővel romlik a teljesítmény?
Áztatási tesztelés Tartós terhelés hosszabb időn keresztül Vannak memóriaszivárgások vagy erőforrás-kimerülések?
Stabilitási vizsgálat Változó terhelés a körülményektől függően Megbízható marad-e a rendszer a változó körülmények ellenére is?
Térfogatvizsgálat Átlagos felhasználók, nagyon nagy adatmennyiség Vajon bírja az adatbázis növekedését?

A tartóssági és az átitatási vizsgálatot gyakran szinonimaként kezelik. Gyakori használatuk szerint mindkettő hosszú ideig tartós terhelést tart. Ahol a csapatok különbséget tesznek közöttük, a tartóssági tesztelés arra összpontosít, hogy a válaszidők felfelé csúsznak-e, míg a tartóssági tesztelés az erőforrás-fogyasztásra, például a memóriára, a fájlkezelőkre és a kapcsolatkészletekre összpontosít. Az egyik futtatása általában mindkettőre bizonyítékot szolgáltat.

A teszt során rögzítendő legfontosabb mutatók

Egy teljesítményfutás csak annyira jó, mint amit futás közben rögzítesz. Rögzítsd ezt a hat adatot a szerver és a kliens oldalon, majd hasonlítsd össze őket az alapvonallal, ne pedig a megérzéseiddel.

Metric Mit mond neked Figyelmeztető jel
Átlagos válaszidő Tipikus felhasználói élmény Bármilyen felfelé sodródás a pályán
95. percentilis válaszidő A leglassabb felhasználók tapasztalatai Messze az átlag felett, ami következetlenséget jelent
áteresztőképesség Másodpercenként kezelt kérések Esés, miközben a terhelés állandó marad
Hibaarány Sikertelen vagy időtúllépéses kérelmek aránya Bármilyen emelkedés a megállapodott küszöbérték felett
CPU- és memóriahasználat Szerver erőforrás-tartalék Emlék, mely felkúszik és soha nem tér vissza
Adatbázis-kapcsolatok és szálak Medence kimerülése Olyan számok, amelyek folyamatosan növekednek kiadás nélkül

Olvasd le az átlagot és a percentilist együtt. Egy 800 ms-os átlag 900 ms 95. percentilissel egy konzisztens rendszert ír le. Ugyanez az átlag 9 másodperces 95. percentilissel azt jelenti, hogy minden huszadik felhasználó rosszul érzi magát, és az átlag ezt elrejti.

A formára is figyelj, ne csak az értékre. Bármely hosszú ideig futó tesztben a lapos erőforrás-vonal sikeres, az emelkedő pedig szivárgást jelent, még akkor is, ha az abszolút szám a teszt végén még kényelmesen a határértéken belül van.

Állóképességi tesztelés: Főbb tanulságok

  • In Szoftverfejlesztés, A tartóssági tesztelés a terhelésteszt egy részhalmaza.
  • A tartóssági tesztelés hosszú folyamat, és néha akár egy évig is eltarthat
  • Ellenőrzéseket végeznek az ellenőrzésre
  • Memóriaszivárgás tesztelése
  • Teszt válaszidő
  • Adatbázis kapcsolat tesztelése stb.

GYIK

A terheléses tesztelés azt ellenőrzi, hogy a rendszer rövid távon csúcsterhelés mellett is megfelel-e a céljainak. A tartóssági tesztelés órákon át normál terhelés mellett vizsgálja, hogy a célok a futás végén is teljesülnek-e.

Bármilyen tartósan növekvő tendencia a válaszidőben vagy az erőforrás-felhasználásban, még akkor is, ha nem lépik át a küszöbértéket. A hiba maga az eltérés, mivel végül átlépi a határértéket az éles környezetben.

Miután a funkcionális és terheléses tesztek sikeresek voltak, és elég korán ahhoz, hogy a felfedezett szivárgást még ki lehessen javítani, a kiadás előtti este lefuttatva nincs idő az eredmény alapján cselekedni.

A mesterséges intelligencia alapú monitorozás érzékeli azt a pontot, ahol egy mutató trendje megváltozik, és korrelációt teremt a telepítésekkel vagy az ütemezett feladatokkal, így órákon átívelő grafikonokat gyanúsítottá alakítva.

Segíthet a priorizálásban. A kockázati modellek kiemelik, hogy mely kódok szabadulnak fel érintésszivárgásra hajlamosak, így a teljes futtatásokat azokra a változtatásokra tartják fenn, amelyeknél a legnagyobb valószínűséggel szükség van rájuk.

Foglald össze ezt a bejegyzést a következőképpen: