Tesztelési megoldások .NET és Windows Phone környezetben

OData támogatás
Konzulens:
Dr. Micskei Zoltán Imre
Méréstechnika és Információs Rendszerek Tanszék

Az utóbbi évtizedekben a számítástechnika egyre inkább beépült az emberek hétköznapjaiba, és a felhasználóknak egyre nagyobb igénye lett a szoftverekkel szemben. Így a szoftverfejlesztési folyamatok hosszúak és bonyolultak lehetnek, ennek során pedig elkerülhetetlenül hibákat is vétenek. Ennek egyik oka lehet egy apró figyelmetlenség a fejlesztő részéről, de a nagy szoftverek komplexitása miatt könnyű hibázni. Ezen túl a specifikációban, vagy akár az igényekben is lehetnek hibák, amik sokkal súlyosabb következményekkel járhatnak. Egy jó szoftvertesztelési folyamat ezekre nyújt megoldást.

A szakdolgozatban a szoftvertesztelési alapfogalmaknak és elveknek a bemutatásával kezdem, amelyek elengedhetetlenek a hatékony teszteléshez. Egy fejlesztőnek ezenkívül tisztában kell lennie azokkal a szoftvertervezési irányelvekkel, amelyek egyáltalán lehetőséget adnak egységtesztek leírására, ezért bemutatom a SOLID alapelveket is. Ezek átláthatóbb, kezelhetőbb és tesztelhetőbb szoftvert eredményeznek.

A tesztelendő Windows Phone alkalmazás bemutatása után, a tesztelési folyamatot tervezem meg, vagyis meghatározom, hogy a szoftver különböző szintjein milyen módon célszerű tesztelni: egységtesztekkel az alacsonyabb szintű szoftverkomponensek tesztelését valósítom meg, figyelembe véve a komponensek közötti függőségeket; integrációs tesztekkel a komponensek helyes együttműködéséről bizonyosodom meg; rendszertesztekkel pedig az alkalmazás teljes funkcionalitását vizsgálom.

A tesztek implementációja előtt kitérek a platformon elérhető tesztelő eszközök működésére, mert a .NET és Visual Studio által nyújtott eszközök a Windows Phone 8 platformon csak korlátozottan érhetőek el. Az egyik legsúlyosabb hiányosság a kódfedettség mérésének lehetősége, ezért megvizsgálom ennek technikai okát és bemutatok egy megoldást rá. Ezután az alkalmazáshoz készített egység és integrációs teszteken keresztül mutatom be a tipikus tesztírás problémáit és megoldásait.

Végül a megtervezett tesztelési folyamat számos hibát akadályozott meg és derített fel, ráadásul pozitív hatással volt az alkalmazás kódminőségére. Az alkalmazáshoz összesen 112 egység és integrációs teszt készült el, amelyek a modell rétegen 99,1%-os, a szolgáltatás rétegen pedig 100%-os kódfedettséget biztosítottak. Mindezt könnyen átlátható és fenntartható tesztekkel sikerült elérnem.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.