Szoftvertesztelő munkakör

Réfi Balázs

2021. április 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 kerüljön átadásra az éles üzemű működésre. A tesztelés során cél továbbá az alkalmazás megbízhatóságának növelése, de cél lehet a hibák megelőzése is (lásd regressziós teszt)

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

Unit tesztelés

Unit tesztelés célja egy-egy funkció vagy eljárás tesztelése. A unit tesztek elvégzése természetesen a fejlesztőktől is elvárható. 

Interface tesztelés

Interface tesztelés során két vagy több rendszer között kialakított interface tesztelése a cél.

Integrációs tesztelés

Célja két vagy több rendszer működésének, integrációjának tesztelé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.

Szoftvertesztelői fizetések

Nézzük, hogyan alakulnak a szoftvertesztelők bruttó bérei! (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!