automatizálási tesztelés bemutató: első lépések

Tartalomjegyzék

mi az automatizálási tesztelés?

ahogy a neve is sugallja. az automatizálási tesztelés szoftver tesztelési tevékenységeket végez, és azokat automatizálási eszközkészlet vagy keretrendszer segítségével hajtja végre. Egyszerű szavakkal, ez egy olyan típusú tesztelés, amelyben egy eszköz automatikusan végrehajtja a meghatározott mintában lévő feladatok halmazát.

leveszi a nyomást a kézi tesztelőkről, és lehetővé teszi számukra, hogy nagyobb értékű feladatokra összpontosítsanak-feltáró tesztek, teszteredmények áttekintése stb. Lényegében a gép átveszi és végrehajtja a hétköznapi, ismétlődő, időzavaros feladatokat, például a regressziós teszteket. Az automatizálási tesztelés elengedhetetlen a nagyobb teszt lefedettség eléréséhez rövidebb határidőkön belül, valamint az eredmények nagyobb pontossága.

miért kritikus fontosságú az automatizálási tesztelés egy szoftver életciklusában?

képzelje el ezt.

az első napon, mint a minőségbiztosítás, meg kell tesztelni egy alkalmazás, amely magában foglalja a mintegy 100 mezők, amelyek megkövetelik bemenet. Feltáró tesztelés során minden mezőbe manuálisan kell beírnia a bevitelt. Ez körülbelül 10 percet vesz igénybe, ha nagyon gyors vagy.

nyomja meg a Küldés gombot. Megjelenik egy hibaüzenet. Úgy néz ki, mint egy kezeletlen kivétel. Jelented a hibát, és nagyon jól érzed magad a jól elvégzett munkáról. Ismételje meg a folyamatot, keressen még néhány hibát, és általában produktív első napja van.

másnap a fejlesztő kijavítja a problémákat, és tesztelnie kell a szoftver új verzióját, megismételve ugyanazokat a lépéseket, mint az előző nap. Hiba javítva. Szép munka. Az erőfeszítéseinek köszönhetően jó felhasználói élmény biztosított.

a harmadik napon a fejlesztők kiadtak egy újabb verziót újabb funkciókkal. De annak biztosítása érdekében, hogy az új funkciók ne szakítsák meg a régebbi működési funkciókat, meg kell ismételnie a folyamatot. Nem található probléma.

egy hónap múlva a fejlesztők folyamatosan kiadják az újabb verziókat, ami azt jelenti, hogy folyamatosan tesztelnie kell a szoftvert, minden alkalommal megismételve ugyanazt a folyamatot (mezőbevitel beillesztése). Unatkozol és fáradt vagy. A pontosság kezd megingani, mint amelynek eredményeként végül a végén hiányzik egy hiba – esetleg egy meglehetősen nyilvánvaló egy.

Hiszed vagy sem, ez a legtöbb QAs esetében meglehetősen gyakori forgatókönyv. Nem lehet ugyanazt csinálni újra és újra, és tökéletesnek lenni minden alkalommal. Itt jön be az automatizálási tesztelés.

tesztelhet egy szoftver egy másik szoftvert?

Igen. Ez az automatizálási tesztelés lényege. Amikor a regressziós tesztelésről van szó, a kézi erőfeszítések befektetése hiábavaló és pazarló. Ahelyett, hogy elvárnánk az emberektől, hogy ugyanazokat a lépéseket ugyanolyan sebességgel, pontossággal és energiával ismételjék meg, sokkal logikusabb egy gépet ugyanerre programozni.

milyen teszteket kell automatizálni?

mielőtt létrehoznánk egy tesztautomatizálási stratégiát, vessünk egy pillantást arra, hogy mely tesztek a leginkább megvalósíthatók az automatizáláshoz:

  • regressziós tesztelés: a regressziós csomagok egyre növekszenek, és ugyanazokat a változókat számos alkalommal kell kitölteni annak biztosítása érdekében, hogy az új funkciók ne befolyásolják a régebbi funkciókat. Ez könnyen automatizálható.
  • komplex funkciók tesztelése: automatizálja az összes olyan tesztet, amely összetett számításokat igényel, ami hajlamos az emberi hibára.
  • Füstvizsgálat: Futtasson automatizált lakosztályokat a főbb funkciók minőségének ellenőrzéséhez. Ez időt takarít meg azáltal, hogy gyors elemzést nyújt arról, hogy egy összeállítás mélyebb tesztelést igényel-e.
  • adatvezérelt tesztelés: automatizálja a teszteket a funkciók érvényesítéséhez, amelyeket számos adatkészlettel ismételten tesztelni kell.
  • teljesítményteszt: automatizálja a szoftver teljesítményét különböző körülmények között figyelő teszteket. Ez manuálisan rendkívül fáradságos és időigényes lenne.
  • funkcionális tesztelés: Minden alkalommal, amikor egy fejlesztő benyújtja a PR-t, a funkcionális tesztelést gyorsan végre kell hajtani, és azonnali visszajelzést kell adni. Ezt automatizálás nélkül lehetetlen elérni, különösen a szervezetek növekedésével.

az automatizálási tesztelés első lépései

amikor átáll a kézikönyvről az automatizálási tesztelésre, tartsa szem előtt a következőket:

  • ne törekedjen a 100% – os tesztautomatizálásra. Nem minden teszt automatizálható. Még az automatizálható tesztek között sem állítsa be a teljes automatizálás kezdeti célját.
  • állítson be reális célt. Például kezdje azzal, hogy néhány tesztet áthelyez az automatizálásra. Írjon kisebb teszteseteket, amelyek könnyen felhasználhatók ugyanazon szoftver jövőbeli tesztjeiben. Térképes tesztesetek megfelelő funkciókkal a jobb teszt lefedettség érdekében. Címkézze meg a teszteseteket, hogy a csapatok tisztában legyenek azzal, hogy mit kell automatizálni, valamint hatékonyabban jelentsenek.
  • fedezze fel az alkalmazás új területeit automatizálással. Az automatizálási stratégiák kidolgozásakor ügyeljen arra, hogy az üzleti követelményeket ugyanolyan komolyan vegyék, mint a műszaki megfontolásokat.
  • tudja, mit nem szabad automatizálni. Ez segít eldönteni az automatizálás hatókörét az ötletelési folyamat elején. A következő teszteket a legjobb a kézi lefedettségre hagyni:

  1. felhasználói élmény tesztelése: az eszközök nem tudják megismételni a felhasználói utazást teljes egészében. Lehetetlen, hogy egy algoritmus megjósolja, hogy az egyes felhasználók hogyan fognak kölcsönhatásba lépni egy alkalmazással. A felhasználói élmény minőségének tényleges megítélése érdekében ragaszkodjon az emberi tesztelőkhöz. Próbáljon meg olyan kézi interaktív tesztelő eszközöket használni, mint a BrowserStack Live.
  2. Kisegítő lehetőségek tesztelése: Az alkalmazás hozzáférhetőségének tesztelésekor az emberi használat nem helyettesíthető. Egy eszköz nem tudja mérni a hozzáférhetőséget, mert az emberek gyakran eltérő véleményen vannak arról, hogy mi számít hozzáférhetőnek. Egy eszköz nem tudja felismerni, hogy a szoftveres munkafolyamat könnyű hozzáférést biztosít-e a tényleges emberek számára.
  • válassza ki a megfelelő eszközöketaz automatikus tesztelés teljes mértékben az eszközöktől függ. Íme, mit kell figyelembe venni a megfelelő eszköz kiválasztásakor:
  1. a szoftver jellege: az alkalmazást web-vagy mobil-alapon tesztelik?
    az előbbi teszteléséhez használjon olyan eszközt, mint a Selenium, a tesztek automatizálásához. Ez utóbbi esetében az Appium az automatizálás egyik legjobb eszköze.
  2. programozói tapasztalat: válasszon olyan keretrendszereket, nyelveket és eszközöket, amelyek megfelelnek a tesztelők kényelmének és tapasztalatának. Az automatizálási teszteléshez használt legnépszerűbb nyelvek közé tartozik a Java, A JavaScript, a Ruby, A C# stb.
  3. nyílt forráskódú vagy sem: a költségvetési korlátoktól függően dönthet úgy, hogy automatizálási célokra nyílt forráskódú eszközöket, például szelént vagy Appiumot használ. Fontos azonban megjegyezni, hogy az összes nyílt forráskódú eszköz nem rosszabb, mint a kereskedelemben kapható társaik. Például a Selenium Webdriver egy nyílt forráskódú eszköz, amelyet az automatizált tesztelők világszerte leginkább kedvelnek.
  • válassza ki a megfelelő teszthálózatot

a teszthálózat arra az infrastruktúrára vonatkozik, amelyen az összes automatizált teszt fut. Ez egy sor eszközt, böngészőt és operációs rendszert (több verziót) tartalmaz, amelyeken a szoftvert tesztelni kell. Mindig a legjobb, ha automatizálja a teszteket valódi eszközökön és böngészőkön. Ez biztosítja, hogy a szoftvert valós felhasználói körülmények között teszteljék.

ezenkívül az ideális tesztrácsnak lehetővé kell tennie a párhuzamos tesztelést. Ez azt jelenti, hogy a tesztelőknek képesnek kell lenniük több teszt futtatására egyszerre több eszközön. Ez csökkenti a tesztidőt, felgyorsítja az eredményeket, és rövidebb határidőkön belül kínál eredményeket.

még el kell dönteni, hogy a teszthálózatot a helyszínen vagy a felhőben kell-e tárolni. Ne feledje, hogy a helyszíni infrastruktúra létrehozása és fenntartása szinte mindig drága. Megköveteli az új eszközök, böngészők és operációs rendszerek nyomon követését, frissítését és karbantartását. Ez kihívást jelent, mivel minden hónapban több verzió jelenik meg.

ezzel szemben a felhőalapú hálózaton történő tesztelés könnyebb, mivel a frissítésről és karbantartásról a hálózatot kínáló szervezet gondoskodik. Például a BrowserStack egy cloud Selenium grid-et kínál, amely több mint 2000 valós eszközhöz és böngészőhöz csatlakozik tesztelés céljából. A felhasználóknak egyszerűen regisztrálniuk kell és el kell kezdeniük a tesztelést egy robusztus Selenium rácson, amelyet folyamatosan frissítenek a lehető legjobb eredmények érdekében.

a browserstack real device cloud több mint 2000 valós böngészőt és eszközt kínál azonnali, igény szerinti teszteléshez. A felhő olyan népszerű CI/CD eszközökkel is integrálható, mint a Jira, Jenkins, TeamCity, Travis CI és még sok más. Ezenkívül vannak beépített hibakereső eszközök, amelyek lehetővé teszik a tesztelők számára a hibák azonnali azonosítását és megoldását. A BrowserStack megkönnyíti a Cypress tesztelését 30+ böngészőverzión azonnali, problémamentes párhuzamosítással.

próbálja ki az automatizálási tesztelést ingyen

példa a Tesztautomatizálásra

a szoftver kézi tesztelésekor a tesztelő egy tartót és billentyűzetet használ a vele való interakcióhoz. Az automatizálási szkriptek és eszközök lépésről lépésre megismétlik ezt az interakciót.

ebben a példában egy számológépet tesztelnek, hogy meg tudja-e adni két számot, és megjelenítheti-e az eredményt. Manuálisan a következő lépések lennének:

1. lépés: Indítsa el a számológépet
2. lépés: Nyomja meg a 2
3. lépés: Nyomja meg a +
4. lépés: Nyomja meg a 3
5. lépés: Nyomja meg a =
6. lépés: a képernyőn megjelenik az 5
7. lépés: Close Calculator

egy automatizálási eszköz ugyanazokat a lépéseket hajthatja végre a következő parancsfájllal:

//the example is written in MS Coded UI using c# language.public void TestCalculator(){//launch the applicationvar app = ApplicationUnderTest.Launch("C:\Windows\System32\calc.exe");//do all the operationsMouse.Click(button2);Mouse.Click(buttonAdd);Mouse.Click(button3);Mouse.Click(buttonEqual); //evaluate the resultsAssert.AreEqual("5", txtResult.DisplayText,"Calculator is not showing 5");//close the applicationapp.Close();}

a fenti parancsfájl végrehajtásakor pontosan ugyanaz az eredmény (5) jelenik meg. Ahelyett, hogy végig kellene mennie a kézi lépéseken, egyszerűen írja meg a szkriptet, és hagyja, hogy az eszköz gondoskodjon a többiről.

hogyan lehet áttérni a kézikönyvről az automatizálási tesztelésre

először is: tegyen fel két kérdést.

  1. mit kell automatizálni?
  2. hogyan lehet automatizálni?

Mit Kell Automatizálni?

  • a gyakori kioldási ciklushoz szükséges tesztek automatizálása. Ez magában foglalhatja a füstvizsgálatokat, a regressziós teszteket és hasonlókat. Alapvetően automatizálja a teszteket, amelyek felgyorsítják a teljes tesztciklust. Ne feledje, hogy az alacsonyabb kézi beavatkozás gyorsabb eredményt jelent.
  • automatizálja a teszteket műszaki és üzleti prioritások alapján. Gondolj így: segítené-e a teszt automatizálása az üzletet? A teszt automatizálása segít-e egyszerűsíteni a technikai bonyolultságot? Ha bármelyik kérdésre igen a válasz, automatizálja.
  • automatizálás a használhatóság alapján. Egyes tesztek, például a böngészők közötti kompatibilitási tesztek egyszerűen jobban működnek, ha manuálisan hajtják végre. Az eszközfüggőség korlátozhatja egy bizonyos tesztelőcsoport vagy szervezet automatizálási potenciálját is.

Olvass tovább: 10 teszt automatizálási legjobb gyakorlat, amelyet követni kell

hogyan lehet automatizálni?

először is ne feledje, hogy nem minden teszt automatizálható. Az előző szakasz három stratégiájának betartásával könnyebbé válik az automatizált tesztelés gyakorlati kezdeményezése.

  • kezdje kicsi. A 100% – os automatizálás nem a cél, és nem is lehetséges. Írjon kisebb teszteseteket, mert könnyebben karbantarthatók és újrafelhasználhatók. Kis számú teszt áthelyezése egy automatizálási platformra, a tesztek futtatása, Az eredmények elemzése és annak eldöntése, hogy a folyamat hasznosnak bizonyult-e a szoftverfejlesztési folyamat szempontjából.
  • ha a művelet jelentős előnyökkel jár, helyezze át a teszteket az automatizálásra. Indítsa el a tesztek mozgatását nemcsak térfogatban, hanem növelje az automatizált tesztek típusát is. Ne feledje, hogy ez még mindig kísérleti szakasz. Lehetséges, hogy bizonyos tesztek hatástalannak bizonyulnak az automatizálásban, ezért vissza kell térni a kézi tesztelésre.
  • térképes tesztesetek minden módszerrel vagy funkcióval a jobb teszt lefedettség elérése érdekében. Címkézze fel teszteseteit a könnyebb azonosítás érdekében, így a csapat gyorsan megtudhatja, mely teszteket kell automatizálni. Ez segít a jobb jelentéstétel megvalósításában is.
  • az automatizálási tesztelés indításakor kezdje az alkalmazás új területeinek manuális feltárásával. Ezután hozzon létre egy kockázati tervet, amely részletezi, hogy mit kell automatizálni, az üzleti és technikai prioritások alapján.
  • az analytics segítségével határozhatja meg a végfelhasználói beállításokat. Hozzon létre egy listát azokról a böngészőkről és eszközökről, amelyekkel a felhasználók valószínűleg hozzáférnek a szoftverhez. Ez segít abban, hogy az automatizálási tesztelés lefedje a megfelelő interfészeket, és optimalizálja a szoftver teljesítményét a megfelelő felhasználói utakon.

próbálja ki az automatizált tesztelést valós Eszközfelhőn

Tesztautomatizálás karbantartása

miután elkészítette, az automatizálási tesztkészülékeket fenn kell tartani. Ahogy a szoftver fejlődik és a kódbázis bővül, az automatizálási szkripteket módosítani és frissíteni kell, hogy új funkciókat és funkciókat tartalmazzanak. Még a felhasználói felület apró változásai is megzavarhatják a teszteket, és kudarcot okozhatnak. A tesztesetek tervezésekor az automatizálási tesztelőknek figyelembe kell venniük a karbantartási erőfeszítéseket és a költségeket.

a tesztautomatizálás karbantartási megközelítése két fő szempontból működik:

  • Teszthiba: a sikertelen tesztek hibakeresésekor keresse meg a lehetséges karbantartási problémákat. A teszt szkriptet nem frissítették megfelelően? A szoftverkód változása befolyásolta a teszt szkriptet? Ez egy egyszerű módszer annak azonosítására, hogy mely területek igényelnek karbantartási erőfeszítéseket.
  • függőségek vagy eszközök változása: Megváltoztatta a csapat vagy a szervezet API-kat, jelentési eszközöket, adatbázisokat stb.? Ha igen, előfordulhat, hogy a teszteket módosítani vagy frissíteni kell, hogy igazodjanak az új eszközkészletekhez. Ennek megvalósításához a fejlesztőknek és a tesztelőknek nyilvánvalóan ki kell képezniük az új infrastruktúrát, hogy a jövőben lépést tudjanak tartani a karbantartási erőfeszítésekkel.

melyek a hatékony tesztautomatizálási stratégia legfontosabb elemei?

az automatizálási tesztelés minden tesztelő ökoszisztéma szerves része. Az automatizálási beállításra való áttérés nélkül az átfogó tesztelés megnehezül, csakúgy, mint az egyre rövidebb határidők betartása. Következésképpen fontos, hogy az automatizálási tesztelési protokollokat a lehető leghamarabb elindítsák oly módon, hogy egyensúlyba hozzák és kiegészítsék a kézi tesztelést.

próbálja ki a fent vázolt lépéseket, és kísérletezzen eleget ahhoz, hogy megtudja, melyik megközelítés hoz optimális eredményt. Ne aggódjon, hogy néhányszor kudarcot vall, mielőtt megtalálja azt az édes helyet, amely lehetővé teszi a hatékony automatizálást az emberi érvényesítés veszélyeztetése nélkül.

Write a Comment

Az e-mail-címet nem tesszük közzé.