“Shifting Right” a tesztelésben
A Cloud telepítés lehetővé tette és szükségessé is tette a folyamatos tesztelés és monitorozást az élesben futó rendszereknél. Míg a Cloud ugyan globális elérhetőséget és végtelen skálázhatóságot eredményez, addig ez sokkal bonyolultabb, összetettebb művelet, mint csak kitelepíteni egy vállalati adat központba. A legtöbb esetben a tesztelők általában helyi rendszereken vagy egyszerűsített Cloud rendszereken futtatják a teszteket, amelyek tulajdonságai nem mindig azonosak teljes mértékben a telepítési környezettel. Ha különbségek vannak a teszt és az éles környezet között, akkor a tesztelés nem tudja jól tükrözni, hogy milyen hibák merülhetnek fel élesben.
Ezért fontos, hogy a tesztelők megfigyeljék, és teszteljék a rendszert éles környezetben is. A munka még nem fejeződött be.
Kihívást jelenthet meggyőzni a veterán tesztelőket arról, hogy igenis fontos élesben is tesztelni. Annak ellenére, hogy elfogadott az, hogy a teszt környezet eltérhet az éles környezettől, a tesztelők régóta igen elfogultak és ellene vannak a telepítés utáni tesztelésnek. Az alkalmazás módosítgatása éles környezetben súlyos következményekkel járhat és a tesztelők úgy gondolják, hogy a munkájuknak vége, amint az alkalmazás átadásra kerül.
De ez egyszerűen nem így van. A Cloud-ban gyorsabban vissza lehet állítani a rendszert, egy hiba vagy egy rendszer zavar után. A legjobb esetben gyorsabban adhat eredményeket élesben megfigyelni az alkalmazást, mint ha a csapatok megvizsgálnák a teljesítményt, és a rendelkezésre álló adatokat. A legrosszabb esetben biztosítani kellene a gyors visszaállást az előző verzióra.
Cloudban való megfigyelés, és tesztelés lehetővé teszi, hogy a tesztelők a hibákat előbb megtalálják, mint, hogy ez problémákat okozzon a felhasználóknak. Nyilvánvaló, hogy miért fontos ez a digitális felhasználói élmény korszakában. Megtalálni, és javítani a hibákat mielőtt a felhasználók észlelnék azt, jelentős nyereség a cég, vállalat számára, mert nem teszi ki a felhasználókat rossz tapasztalatoknak, és ezzel talán nem veszít a termelékenységből, és nem csökkennek az eladások.
Szintetikus tesztelés éles környezetben
A tesztelők ismerik a felhasználói felület (UI) tesztelés automatizálását – azaz a felhasználók lépéseit rögzítik, és ezeket a rögzített lépéseket automatizálják. Éles környezetben ezt nevezik Szintetikus tesztelésnek. Ez gyakran egy részmegoldása a megfigyelésnek, így az alkalmazást tesztelés alatt lehet megfigyelni.
Ezek a tesztek az általános felhasználói esetekben működnek, gyakran határozzák meg úgy, hogy ezek azok a User Story-k, amelyek az alkalmazás alapját képezik. Amint ezt rögzítették, bármikor végrehajthatók, legyen nappal vagy éjjel. Ennek során az alkalmazás feltételei megvizsgálhatók különböző időpontokban és terhelésekkel. Különböző kéréseket lehet indítani, különböző adat központokba, a világ különböző részeire, hogy jobban megértsük a lehetőségeket és válaszidőt.
Ez a legjobb módja annak, hogy megtaláljuk a hibákat és más problémákat még a felhasználók előtt. A Szintetikus tesztelés logikátlanságokat, hibákat tárhat fel, amiket nem fedeztek fel az élesítés előtt, még akkor is, ha a felhasználók nem jelentettek egyet sem. Ezeket a problémákat meg lehet állapítani, és javítani lehet, mielőtt hatással lenne bármilyen felhasználóra, vagy vállalkozásra.
Megfigyelés az egészséges működés és a hatékonyság érdekében
Még nem beszéltem arról, hogy mit kell figyelnünk egy élesben működő alkalmazáson. Először is ugyanazokat a dolgokat, amelyeket az adatközpontban is figyelnénk – a CPU-t, a lemezt és a hálózatot. Ezek továbbra is alapvető fontosságúak az alkalmazás működésének megértésében.
Mivel azonban a felhasználói élmény egyre nagyobb hangsúlyt kap, a hagyományos megfigyelési mutatók visszatérnek azokhoz az intézkedésekhez, amelyek befolyásolják a tényleges felhasználókat. Néhány megfigyelő eszköz valós felhasználói megfigyelést alkalmaz, vagy RUM-ot a visszatérő adatok időben történő ellenőrzése érdekében, esetleg ideje egy új képernyőképet csinálni, mint kapni 404, vagy más hiba üzenetet. Ez teszi lehetővé, hogy a tesztelők időben felfedezzék a felhasználói élmény hiányosságait.
A megfigyeléshez kapcsolódó elemzések nem csupán pillanatfelvételek az alkalmazás állapotáról. Információt nyújtanak a trendekről, amelyek lehetővé teszik a tesztelők számára, hogy azonosítsák, várható-e, hogy a jövőben egy alkalmazással probléma adódik. Ha több héten, vagy hónapon keresztül tárolunk nagy mennyiségű megfigyelésből származó adatot, akkor lehetséges lesz majd azonosítani a memóriaszivárgást, a szűk keresztmetszeteket, vagy más egyéb rendellenességet, még mielőtt azok nagyobb problémákat okoznak.
Tesztelőknek monitorozni kell az adatokat
A tesztelésnek folyamatos megfigyelést kell tartalmaznia és élesben kell tesztelni a Cloud alkalmazásokat. Miért? Mert a tesztelés az utóbbi években megváltozott. Olyan praktikák kerültek előtérbe, mint DevOps, és a folyamatos telepítés (CD – continous deployment), valamint a szoftver fejlesztés életciklus fázisai közötti különbségtétel, beleértve a gyártást is. Agilis vagy DevOps szerint működő csapatoknál a tesztelőknek biztosan kell alkalmazni a Shifting right módszert, hogy megbizonyosodjanak arról, hogy az alkalmazás éles környezetben is az elvárt módon viselkedik.
Beszéltem néhány szót arról, hogy mit kell megfigyelni, és miért, de arról nem, hogy hogyan kell kell ezt tenni. Több féle eszköz létezik az alkalmazások monitorozására. Megemlítek néhányat, de érdemes saját magunknak is utánanézni, hogy melyek az igényinknek leginkább megfelelők. A legismertebb kereskedelmi eszközök közé tartozik a Dynatrace, New Relic, AppDynamics, DataDog és a Sumo Logic, de szó szerint tucatnyi eszköz közül lehet választani.
Számos nyílt forráskódú monitoring megoldás létezik. A Geekflare hat népszerű nyílt forráskódú eszközről ad leírást, míg az OpenAPM olyan folyamatot mutat be, amely lehetővé teszi a legjobb megoldások kiválasztását az igények alapján.
Nem szeretném reklámozni egyik eszközt sem. A monitoring rendszerek különböző képességűek, különböző árfekvésűek, és nincs olyan, hogy egy termék mindenre megfelelő. De ezek a rendszerek elengedhetetlenné váltak a rendelkezésreállás, a teljesítmény, terhelés, a hibák monitorozásánál, azért, hogy egy jobb minőségű Cloud alapú alkalmazás legyen a végeredmény. És a rendelkezésre álló számos megoldás igazolja ezen tevékenységek fontosságát.
Forrás: https://blog.testproject.io/2019/12/02/shifting-right-with-testing-and-monitoring-in-production/
A szerző
- Peter Varhol közismert író és előadó. Tucatnyi cikket írt és számos ipari konferencián és internetes közvetítésen adott elő. Felsőfokú végzettséggel rendelkezik a számítástechnikából, az alkalmazott matematikából és pszichológiából. A Technology Strategy Research ügyvezetője, szoftverfejlesztési tanácsadást folytat vállalatok részére szoftverfejlesztés, tesztelés és gépi tanulás területén. Régebben technológiai újságíróként, szoftver termékmenedzserként, szoftverfejlesztőként és egyetemi tanárként is dolgozott.