Szoftvertesztelő munkakör

Réfi Balázs

2021. október 11.

A szoftvertesztelő felelős a tesztelés megtervezéséért, a tesztelés elvégzéséért és a hibajegyek rögzítéséért. 

More...

Mi a szoftvertesztelés?

MI a szoftvertesztelés - Bluebird blog

A szoftvertesztelés az a folyamat, amely során a kifejlesztett alkalmazás minőségi ellenőrzése történik.

A tesztelés az alkalmazás vagy rendszer élesbe állás előtt valósul meg és célja az, hogy az alkalmazás vagy rendszer hibamentesen és az elvárt követelményeknek megfelelően kerüljön átadásra az éles üzemű működésre.

A tesztelés során ellenőrizendő követelmények lehetnek funkcionálisak és nem funkcionálisak is (pl. válaszidő, terhelhetőség, stb.).

Miért fontos a szoftvertesztelő?

Azért, mert a jó szoftvertesztelő munkája biztosítja az alábbiakat:

Minőség: a követelmények szerinti termékminőség biztosítása miatt.

Vevői elégedettség: a vevői igényeknek való megfelelőség miatt.

Költségek szinten tartása: a tesztelés a fejlesztés minél korábbi szakaszában azonosítja a hibákat, annál alacsonyabb szinten tartható a fejlesztési költség. Fordított megfogalmazással: minél később derül ki egy hiba, annál nagyobb többletköltséget jelent a javítása.

Szoftvertesztelő feladatai

1. Tesztelendő rendszer megértése, értelmezése

A szoftvertesztelő első feladata az, hogy megértse, mit kell tesztelni. A megértés mélysége rendkívül fontos, hiszen a tesztelő minél mélyebben érti az adott alkalmazást vagy rendszert, annál pontosabban tudja meghatározni a tesztelési feladatokat.

Pont a mély megértés miatt kis szervezetekben vagy kritikus rendszerek esetében nagyon hasznos, ha a rendszert megálmodó rendszerszervező vagy business analyst is végez teszteket. Hiszen nála megvan az az előny, hogy pontosan érti, hogyan kell működnie a rendszernek. Ezzel persze el is jutottunk a rendszerszervezők részéről történő tesztelés árnyoldalához, a csőlátáshoz. Hiszen a rendszerszervező tudja, hogy az adott felületen milyen adatokat kell megadni, hogyan kell működnie a rendszernek, és emiatt sokszor esélyt sem ad magának arra, hogy hibásan használja az alkalmazást. Persze ez nem tudatosan, inkább tudat alatt történik. 

Ha a tesztelési feladatot dedikált szoftvertesztelő végzi, aki nem a rendszerszervező, akkor bízhatunk abban, hogy az általános problémák előjönnek a tesztelés során.

Aláhúznám újra: rendkívül fontos, hogy a tesztelőnek ne csak általános ismerete legyen a rendszerről, hanem nagyon mély és alapos tudása, hogy a rendszer bonyolult összefüggéseit is tesztelni tudja.

Szoftvertesztelő eszköz - SoapUI - Bluebird blog

2. Átadási követelmények részletes összeírása

Egy jó szoftvertesztelő tisztában van azzal, hogy tesztelésének nem csak az a célja, hogy adott funkciókban vagy tranzakcióban megtalálja a hibákat, hanem az is, hogy elvégezzen egy átadás-átvételi tesztet megelőző nagytakarítást. A takarítás eredményeként pedig tiszta és jól működő lesz az alkalmazás, ezért átadás során nem merülhetnek fel komolyabb diszfunkcionalitások. A nagytakarításban a szoftvertesztelő feladata az, hogy rámutasson a problémákra, a fejlesztők feladata pedig az, hogy ezeket javítsa a szoftverben.

Amennyiben nincs szükség átadás-átvételre, mert a megrendelő nem egy vállalat, akkor egy kicsit más a helyzet. Ebben az esetben nem lesz, aki átveszi az alkalmazást, viszont lesz olyan, aki nem fogja használni. És ha sok olyan felhasználó lesz, aki nem használja az alkalmazást, akkor a tesztelő és a teljes fejlesztő csapat is rossz munkát végzett. Ide értve természetesen a rendszerszervezőt, projektvezetőt, stb.

A szoftvertesztelőnek tehát precízen össze kell állítani egy listát, ami tartalmazza az átadási / élesbe állási követelményeket. Ezt adhatja a projekt vezetője is, származhat rendszer dokumentációból is, szerződésből.  A lényeg, hogy meglegyen. Tételesen és értelmezhetően. Ennek a listának lehetnek funkcionális, performancia, design és egyéb elemei is.

3. Tesztelési forgatókönyv elkészítése

A tesztelési forgatókönyv tartalmazza a tesztelés előfeltételeit, a tesztelési környezet ismertetését, a leszállítandó tesztelési dokumentumokat, a tesztelés módját, továbbá a teszt eszközöket (tool-okat). Ezen felül a tesztelési tervet, jegyzőkönyvet és riportsablonokat.

Tesztelési környezet alatt értjük a szoftver és hardver környezetet, azok összetevőit. Ide tartoznak az elérési adatok is.

Leszállítandó tesztelési dokumentumok alatt a szerződésben rögzített tesztelési dokumentációt értjük, ennek hiányában azt a dokumentum settet, amely a tesztelés sikerességét bizonyítja.

Tesztelés módja alapvetően lehet manuális és automatizált, de a tesztelési forgatókönyvben ezek megjelölése nem elegendő. Ide tartozik a tesztelés módjának pontos leírása is.

Szoftvertesztelő eszköz - Selenium - Bluebird blog

Teszt toolok alatt azokat a teszteszközöket értjük, melyeket a tesztelés során használni fogunk. Elterjedt toolok manapság a Selenium, a Katalon Studio, a Silk Test, a TestComplete, a SoapUI,  és a Ranorex.

A tesztelési forgatókönyv elkészítését tesztelő csapatok esetén gyakran a teszt menedzser végzi el és ebben definiálja a szoftvertesztelési feladatok erőforrás allokációját is.

4. Tesztek végrehajtása, eredmények elemzése

A szoftvertesztelő a teszt jegyzőkönyvben rögzített tesztesetek leteszteli, majd annak eredményét dokumentálja a teszt jegyzőkönyvben vagy tesztelési naplóban.

A teszt esetek előzetes tesztelése azért rendkívül fontos, mert a tervezetlen tesztelés nem szisztematikus ellenőrzést jelent, csak ide-oda csapkodást. Ezzel szemben az alaposan végiggondolt tesztesetek olyan tesztelést tesznek lehetővé, melynek eredményeként a funkciók / tranzakciók döntő többsége tesztelés alá kerül. Ettől függetlenül a tesztelés során előjöhetnek újabb tesztesetek, melyekkel a tesztelési forgatókönyvet a tesztelőnek bővítenie kell.

A tesztelés eredményét a szoftvertesztelőnek érthetően és egyértelműen kell rögzítenie, annak súlyosságával együtt (pl. blokkoló, kritikus, stb.)

A tesztelést követően a tesztelés eredményéről a tesztelő tájékoztatja akár a projektvezetőt, akár a fejlesztőket (attól függően, hogy milyen a projektszervezet kialakítása). Jó esetben a tesztelés során felmerült hibák azonnal javításra kerültnek / ütemezésre kerül, hogy melyik release-ben lesz a hiba kijavítva.

5. Hibák javítása, újratesztelés

A tesztelés során felszínre került hibák javítását követően a hibák újratesztelését a szoftvertesztelőnek kell elvégeznie. Ez a tesztelés vonatkozhat kizárólag azokra a funkciókra / tranzakciókra, melyek hibásan működtek és vonatkozhat az összes funkcióra egyaránt. A projektekben többnyire a kettő közötti scope-pal történik az újratesztelés. 

Tesztelés célja

A tesztelés célja alapvetően verifikáció vagy validálás lehet. Verifikáció esetén a cél a szoftverhibák feltárása, validálás esetén a cél a rendszer ügyfélnek történő megfelelésének vizsgálata.

Tesztelés típusai

A tesztelési feladat során - mint szoftvertesztelő - nagyon sokféle tesztelési feladattal találkozhatsz. Az alábbiakben megpróbálom csak a legfontosabbakat részletezni. Fontos, hogy egyes rendszerek esetében más és más tesztelés lehet a legfontosabb.

A szoftvertesztelő tesztelési feladatai nagyon szerteágazók lehetnek, lásd: 105 tesztelés típus

Legfontosabb tesztelés típusok véleményem szerint az alábbiak:

Unit teszt

Unit tesztelés alatt egy-egy szoftver alacsony szintű (kód) komponens vagy modul tesztelését értjük. Szoftver komponens lehet egy függvény vagy eljárás is. A unit tesztek elvégzése többnyire a fejlesztők által történik, hiszen ők rendelkeznek az adott unittal, osztállyal kapcsolatos legmélyebb ismeretekkel. 

Funkcionális tesztelés

A funkcionális tesztelés célja annak tesztelése, hogy az alkalmazás az üzleti követelményeknek megfelelően működik. A szoftvertesztelő funkciónként kell, hogy sorra vegye az alkalmazás funkcióit.

Integrációs teszt

Célja két vagy több rendszer/modul együttes működésének, integrációjának tesztelése. Tesztelés célja a rendszerek közötti működési hibák kiszűrése.

Terheléses teszt

Terheléses teszt alatt a szoftver terhelhetőségének tesztelését, illetve annak ellenőrzését értjük, hogy a szoftver megfelel-e a szerződésben megadott performancia követelményeknek.

Átadás-átvételi teszt

Végfelhasználóval közösen végzett teszt, melynek célja a "hibamentes" átvétel biztosítása. Természetesen a valóságban hibamentes szoftverrel nem gyakran találkozunk. Fogalmazhatnánk úgy is, hogy "ismert hibáktól mentes" szoftver átadás-átvétele.

És egy érdekes tesztelés típus 

Majom tesztelés

A tesztelés célja teljesen random adatok megadása és funkciók indítása annak érdekében, hogy bebizonyosodjon, összeomlik-e a rendszer, ha összevissza kezdjük el használni.

Szoftvertesztelő - majom tesztelés

Az első ilyen majom tesztet tanulmányaim alatt kellett elszendednie egy általam fejlesztett alkalmazásnak, aminek az elfogadása előtt tanárom nekiesett a szoftvernek és összevissza nyomogatta a billentyűzetet. Az alkalmazás összeomlott, mert numerikus mezőbe olyan karakterek kerültek, melyekkel nem volt elvégezhető az előre definiált művelet. "Na, látja kolléga! Ez bizony nincs kész!" - és mennyire igaz volt ez utóbbi mondat!

Szoftvertesztelő munkakörök

Teszt menedzser

A teszt menedzser / test lead felelős a tesztelési feladatok megszervezéséért, a teszteléshez szükséges feltételek megteremtéséért, a tesztelés lebonyolításáért, a tesztelő csapat vezetéséért és a külső kommunikációért.

Manuális tesztelő

A manuális tesztelő feladata az alkalmazásal kapcsolatos dokumentációk megismerése, tesztesetek definiálása, a tesztek manuális végrehajtása, teszt dokumentációk elkészítése, tesztelés eredményének riportolása.

Automata tesztelő

Az automata (vagy automatizált) tesztelő feladatai megegyeznek a manuális tesztelő feladataival, azzal a különbséggel, hogy az automatizált tesztelés esetén a tesztelés szoftverek segítségével (teszt scriptek, külső tesztelő szoftverek) történik.

Szoftvertesztelői fizetések

Nézzük, hogyan alakul egy-egy szoftvertesztelő bruttó bére! (Aktualitás: 2020. 11. hónap)

Szoftvertesztelő fizetés - Bluebird blog
IT állások és IT projektek a Bluebirdnél
Tesztelők keresése sikerdíj alapon - Bluebird
Szoftvertesztelés - Bluebird

Ha a blogbejegyzéseinkről mindig elsőként akarsz értesülni, kövess minket LinkedInen és Facebookon is!

Írj nekünk!