headerphoto

A tesztelésről

Szoftvertesztelés, tesztelési tanácsadás

Nem csak az informatika világában terjedt el a minőségbiztosítás kifejezés, hanem az ipar számos más területén is. Ez a tény is alátámasztja, hogy a szolgáltatás alapon működő vállalkozások nagy hangsúlyt fektetnek a minőségi termékek előállítására. A megrendelő elsődleges kívánsága általában, hogy az általa megrendelt, jól specifikált termék tökéletesen használható legyen. A szolgáltató érdeke pedig a megrendelő elégedettsége. Ebből kiindulva cégünk a szoftvertesztelésre szakosodott, informatikai tanácsadásban jártas szakemberek által nyújt olyan megoldásokat, melyekkel a szoftverek nagy biztonsággal hiba nélkül, a megrendelő által elvártan működnek a mindennapi használat során. A szoftverminőség-biztosítás alapja és így a fejlesztési folyamat szerves része a szoftvertesztelés. Cégünk a tesztelés szinte teljes palettáját képviseli, valamint magas szintű, a teszteléssel kapcsolatos informatikai tanácsadói szolgáltatást nyújt. Az alábbiakban a két leggyakoribb fejlesztési és tesztelési folyamatot nagy vonalakban bemutatva érzékeltetni szeretnénk miért választottuk hivatásul ezt a szakmát.

Klasszikus fejlesztési folyamat

Az alapos tesztelés a jó teszttervezésen múlik, a teszt tervek elkészítése pedig a jó minőségű specifikáción és ezt egészen az ötlet megszületéséig vissza lehet vezetni. Ebből is jól látszik, hogy a tesztelés is csak abban az esetben biztosítja a megfelelő működést és fejlesztői szempontból a specifikációhoz igazodást, ha maga az igény a fejlesztési folyamat minden résztvevőjének ugyanazt jelenti. Egy szolgáltatás alapú cég ezért olyan, jól elkülönített fejlesztési folyamatot kell, felépítsen, ahol a kommunikáció gördülékeny és minden résztvevőt képvisel egy az adott feladatkört ellátni képes szakértő. A fejlesztés koordinálásában fontos a projekt menedzser szerepe, de legalább ilyen fontos egy kinevezett tesztmenedzser vagy tesztkoordinátor is, aki a képviseli a tesztelés érdekeit illetve rendelkezik a tesztelői erőforrásokkal is. A megtervezett és felépített fejlesztési folyamatot követően a tesztelői csapat kialakítására is nagy hangsúlyt kell fektetni. Nagyban függ a tesztelői csapat létszáma és összetétele a tesztelési módszertantól. A tesztmódszertan kialakítása a fejlesztési folyamatra kell illeszkedjen, hiszen az ott megadott szereplőkre és folyamatokra lehet támaszkodni. A módszertan alapja és egyben korlátja is a fejlesztés komplexitása, a tesztelésre meghatározott idő illetve az ötlettől a kész, működő termékig való eljutás, más néven time to market. Egy jó tesztmódszertan kidolgozása közben meg kell határozni, hogy milyen esetekben alkalmazunk regressziós-, integrációs-, funkcionális-, modul-, folyamat- (end-to-end) illetve performancia tesztet, bizonyos esetekben automatizált teszteket. Ezek meghatározása után a tesztelői csapat kialakítását is az előbbiek alapján kell megtenni, illetve ha van kialakítva tesztelői csapat, akkor az új vagy optimalizált módszertant kell beépíteni a mindennapi működésbe. A tesztelés megtervezése ezek után következik. A specifikációk alapján a jól dokumentált, érthető és megfelelően adminisztrált tesztesetek előállítása fontos, hogy egy tesztjegyzőkönyv állhasson elő belőle a tesztelés végén. Erre az adminisztrációra egy megfelelő tesztmenedzsment eszközt célszerű alkalmazni, aminek kiválasztásakor meg kell fontolni, hogy a fejlesztési folyamat további résztvevői is használni fogják akár hibák kezelésére, adminisztrációjára vagy csak riportozásra. A jó, minden szereplő által használt adminisztrációs eszköz fontos, hiszen megszüntetheti a redundanciát, amivel időt és így költséget spórolunk meg és a tesztelési folyamatunk is átláthatóbb lesz.

Agilis fejlesztés

Az előbbiekben a klasszikus fejlesztési és tesztelési folyamatot vettük alapul, de a piaci igények illetve a piaci verseny szükségessé teheti az agilis fejlesztési folyamat használatát is, amiben klasszikus értelemben vett tesztelés nincs, viszont a minőségbiztosítás ebben az esetben is fontos. Az agilis fejlesztés tesztelése az alapos, mindenre kiterjedő dokumentálás hiánya és a folyamatos változások miatt nem nyújt akkora biztonságot, mint a klasszikus, kiszámítható fejlesztési folyamatban alkalmazott tesztelés, ezáltal nagyobb a kockázat, viszont a változások azonnali követése és lereagálása olyan előnyt nyújt, mellyel a termék hamarabb a piacra kerülhet. Ennek hátránya, hogy a használatba került termék több hibát tartalmazhat, mint a klasszikus tesztelésen átesett termék. Az agilis fejlesztések tesztelésének adminisztrációja nem használ olyan kötött kereteket, mint a klasszikus, hiszen maga a teszt tervezés is egy sokkal kevésbé szofisztikált teszteset készlet előállítását eredményezi, így az adminisztráció sem teljes körű. Lényeges viszont, hogy az ilyen teszteket végző csapat jól felkészült legyen és részletesen ismerje a klasszikus tesztelés alapjait, hiszen sokkal gyorsabban kell reagálni a változásokra és hamarabb kell megbízhatóan működő terméket használatba helyezni. Nagy hangsúlyt kap a hibakezelés is ebben az esetben, hiszen még a klasszikus fejlesztési folyamatban a tesztkörnyezeten már a hibák nagy része megtalálásra és javításra kerül, addig az agilis fejlesztési folyamatban az éles környezetben előforduló hibák száma és így a prioritása is magasabb.

Optimalizált tesztelés

Tapasztalataink szerint, a tesztelés átstrukturálásával azonos mennyiségű fejlesztés, azonos tesztelői erőforrás mellett fele annyi idő alatt használatba helyezhető ugyanakkora biztonsággal, mint a tesztoptimalizálás előtt. Ehhez szükséges a rendszereit és folyamatait jól ismerő tesztelői csapat valamint jól kialakított, megtervezett teszteset készlet, tesztkörnyezet, tesztadat halmaz és egy tesztmenedzsment eszköz. Fontos továbbá a tesztkoordinátor vagy tesztmenedzser személye, aki összefogja és koordinálja a tesztcsapatot.

Szolgáltatásaink

Cégünk szakembereinek tapasztalata alapján a klasszikus és agilis fejlesztések tesztelésébe, a fejlesztési fázis bármelyik pontján be tudunk csatlakozni és tesztelőként illetve tanácsadóként is olyan megoldásokkal tudjuk megalapozni a termék minőségének biztosítását, melyekkel a megrendelő egy megbízhatóan működő szoftvert használhat.