Automatizált tesztelés
Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. augusztus 30-án áttekintett
verziótól ; az ellenőrzések 6 szerkesztést igényelnek .
Az automatizált szoftverteszt a tesztelési folyamat része a szoftverfejlesztési folyamat minőségellenőrzési szakaszában . Szoftvereszközöket használ a tesztek futtatásához és a futtatás eredményeinek ellenőrzéséhez, ami segít csökkenteni a tesztelési időt és leegyszerűsíteni a tesztelési folyamatot.
Történelem
Az első "automatizálási" kísérletek a DOS és a CP / M operációs rendszerek korában jelentek meg . Aztán ez abból állt, hogy parancsokat adtak ki az alkalmazásnak a parancssoron keresztül, és elemezték az eredményeket. Kicsit később távoli hívásokat adtunk hozzá az API -n keresztül a hálózaton keresztüli munkavégzéshez . Első Az automatizált tesztelést Frederick Brooks The Mythical Man-Month című könyve említi, amely az egységteszt alkalmazásának kilátásairól beszél . A valódi tesztautomatizálás azonban csak az 1980-as években kezdett fejlődni.
Megközelítések
A tesztelés automatizálásának két fő megközelítése van: a kódszintű tesztelés és a felhasználói felület tesztelése (konkrétan a GUI tesztelése). Az első típushoz tartozik különösen az egységteszt . A második - a felhasználói műveletek utánzása - a funkcionális tesztelés (speciális tesztkeretrendszerek használatával . )
GUI automatizálás
Az automatizálás leggyakoribb formája az alkalmazások tesztelése grafikus felhasználói felületen ( GUI ) keresztül . Az ilyen típusú tesztelés népszerűsége két tényezőnek köszönhető: egyrészt az alkalmazást ugyanúgy tesztelik, ahogyan azt egy személy használni fogja, másrészt lehetőség van az alkalmazás tesztelésére anélkül, hogy hozzáférne a forráskódhoz.
A GUI automatizálás az eszközök és technikák 4 generációja során fejlődött ki:
- A rögzítő/ lejátszási eszközök rögzítik a tesztelő műveleteit a kézi tesztelés során . Lehetővé teszik, hogy hosszú ideig közvetlen emberi beavatkozás nélkül végezzen teszteket, jelentősen növelve a termelékenységet és kiküszöbölve az ismétlődő műveletek "ostoba" ismétlődését a kézi tesztelés során. Ugyanakkor a tesztelés alatt álló szoftver bármilyen kisebb módosítása a kézi tesztek újraírását igényli. Ezért az eszközök ezen első generációja nem hatékony és nem méretezhető.
- A szkriptelés , a programozás egy olyan nyelvi formája , amelyet kifejezetten a szoftvertesztelés automatizálására terveztek, enyhíti a rögzítési és lejátszási eszközökkel kapcsolatos számos problémát. A fejlesztést azonban magas szintű programozók végzik, akik külön dolgoznak a teszteket közvetlenül futtató tesztelőktől. Ezenkívül a szkriptek a legalkalmasabbak a grafikus felhasználói felületek tesztelésére, és semmilyen módon nem injektálhatók, csomagolhatók vagy kombinálhatók rendszerbe. Végül a tesztelés alatt álló szoftverek módosításai a megfelelő szkriptek bonyolult módosítását teszik szükségessé, és a tesztszkriptek egyre növekvő könyvtárának karbantartása végül is leküzdhetetlen feladattá válik.
- Az adatvezérelt tesztelés a tesztautomatizálásban használt módszertan. Különlegessége, hogy a tesztszkriptek végrehajtása és ellenőrzése egy központi adattárházban vagy adatbázisban tárolt adatok alapján történik. Az adatbázis szerepét ODBC erőforrások, csv vagy xls fájlok stb. tölthetik be. Az adatvezérelt tesztelés több, egymással kölcsönhatásban álló tesztszkript és azok adatforrásainak kombinációja a módszertanban használt keretrendszerré. Ebben a keretrendszerben a változókat mind a bemeneti, mind a kimeneti tesztértékekre használják: a tesztszkriptben az alkalmazásban való navigáció, az adatforrások olvasása és a naplózási tesztelés általában kódolt. Tehát a scriptben végrehajtandó logika az adatoktól is függ.
- A kulcsszó alapú tesztelés automatizálása magában foglalja az ügy létrehozási folyamatának két szakaszra osztását: a tervezési és a megvalósítási szakaszra . Ebben az esetben a végső teszt nem egy programkód, hanem egy műveletsor leírása a paramétereivel együtt (például „hozzon létre egy felhasználót az adatbázisban XXX bejelentkezési névvel és YYY jelszóval”). Ebben az esetben a keretrendszer felelős a kulcsszavak (műveletek) közvetlen megvalósításáért, és elegendő, ha a teszttervezőnek elképzelése van a keretrendszerben megvalósított műveletek teljes halmazáról. Ez lehetővé teszi tesztek készítését olyan emberek számára, akik nem rendelkeznek programozási ismeretekkel.
Problémák
Az automatizált tesztelés egyik fő problémája a komplexitás: annak ellenére, hogy lehetővé teszi a rutin műveletek egy részének kiiktatását és a tesztek végrehajtásának felgyorsítását, maguknak a teszteknek a frissítésére jelentős erőforrások fordíthatók. Ez mindkét típusú automatizálásra vonatkozik. Refaktoráláskor gyakran szükség van az egységtesztek frissítésére is, és a tesztkód megváltoztatása annyi időt vehet igénybe, mint a fő kód megváltoztatása. Másrészt az alkalmazás felületének megváltoztatásakor minden olyan tesztet át kell írni, amely a frissített ablakokhoz kapcsolódik, ami nagy számú teszt mellett jelentős erőforrásokat is igénybe vehet.
Alkalmazások
Számos alkalmazás létezik a tesztelés automatizálására. Közülük a legnépszerűbbek a 2007-es eredmények szerint: [1]
Ezen eszközök használatával a tesztelők automatizálhatják a következő feladatokat:
- termék telepítése
- tesztadatok létrehozása
- GUI interakció
- probléma meghatározás
Az automatizált tesztek azonban nem helyettesíthetik teljesen a kézi tesztelést. Az összes teszt automatizálása nagyon költséges folyamat, ezért az automatikus tesztelés csak kiegészítője a kézi tesztelésnek. Az automatizált tesztek legjobb felhasználási módja a regressziós tesztelés .
Toolkit
Lásd még
Jegyzetek
- ↑ SoftJournal '2007. szeptember/ SoftJournal '2007. szeptember (a link nem érhető el) . Letöltve: 2010. április 12. Az eredetiből archiválva : 2010. március 23.. (határozatlan)
Linkek