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.