Crowdtesting
A crowdtesting (angol, crowd = tömeg, testing = tesztelés), más néven crowdsource testing a szoftvertesztelés egy erősödő trendje, amely a crowdsourcing módszerének előnyeit és hatékonyságát használja. A crowdtesting lényege, hogy a tesztelést nem főállású tesztelők végzik, hanem a szervezeten kívüli, saját környezetükben dolgozó tesztelők egy online feladat disztribúciós rendszeren keresztül. A szoftvereket így lehetséges számos különböző platformon valós körülmények között tesztelni, valódi végfelhasználók bevonásával. A módszer előnyei leginkább akkor jelentkeznek, ha a tesztelt szoftver erősen felhasználó központú, így sikerének szempontjából elsődleges fontosságúak a valós felhasználói visszajelzések, illetve amelyek esetében számos különböző felhasználói környezetben szükséges hibamentes működést elérni. Gyakorta használják webes alkalmazások (webshoppok, weboldalak, self-care oldalak), mobil alkalmazások, illetve játékok tesztelése során. További okok lehetnek a crowdtesting alkalmazására, ha teszteléshez szükséges speciális tudással rendelkező szakértők földrajzilag egymástól távol helyezkednek el, illetve ha a szervezetnek nincs kellő erőforrása, vagy ideje belső erőforrásból megoldania a tesztelést.
Rendszer
[szerkesztés]A szervezetek jellemzően egy crowdtestingre specializálódott céghez fordulnak, ha valamely szolgáltatásukat, terméküket crowdsource módszerrel kívánják teszteltetni. Ezek a cégek saját platformot üzemeltetnek, amelyen keresztül a tesztelők kiválasztásra kerülnek, illetve amely a tesztelés technikai kereteit biztosítja. A crowdtesting cég a megrendelő igényei szerint osztja szét a platformján a tesztelési feladatot a regisztrált tesztelők között. A tesztelés fókuszától függően a tesztelőket számos különböző formában kompenzálják munkájukért: fix díjazással, felfedezett hibák után fizetve, esetleg verseny formájában, ahol a legjobban teljesítő tesztelők kerülnek komolyabb díjazásra. A crowdtesting cég típusától függően a folyamatot projektmenedzseri ellenőrzése, illetve szakértői elemzés egészítheti ki. A crowdtesting jellemzően nem a házon belüli tesztelés teljes kiváltására szolgál, hanem annak kiegészítésére, hatékonyságának javítására.
A crowdtesting típusai
[szerkesztés]A crowdtesting filozófiáját a szoftvertesztelés számos különböző területén lehetőség van alkalmazni. A különböző crowdtesting cégek ezek mindegyikét is kínálhatják, de jellemzően néhányra specializálódtak közülük.
Funkcionális tesztelés, hibakeresés
A hagyományos szoftvertesztelés kiegészítésére alkalmazzák a crowdtestinget. Mivel a tesztelés ilyenkor nem laboratóriumban történik, számos olyan hibára derülhet fény, amelyek mesterséges környezetben nem, vagy nehezen előállíthatók. Kiemelt felhasználási területe a mobil alkalmazások tesztelése, ahol a rengeteg különböző készüléken kell egy szoftvernek hibamentesen működnie. A nagyszámú modellen tesztelni nagyon erőforrás igényes, azonban crowdtesting segítségével könnyen elérhetőek a különböző eszközök. A tesztelés egyaránt történhet végfelhasználók, illetve informatikai háttérrel rendelkező tesztelők bevonásával.
Usability tesztelés, felhasználói élmény (UX) tesztelés
A technológiai ipar egyre kiemeltebben kezeli a felhasználói élmény (UX, User Experience) szerepét, így az ehhez kapcsolódó tesztelések iránt egyre növekvő a kereslet. A crowdtesting segítségével gyorsan szerezhetőek visszajelzések egy-egy szoftverről a fejlesztés szinte bármilyen szakaszában.
Biztonsági tesztelés
Számos crowdtesting cég kínál IT-rendszerek különböző biztonsági réseit felderítő szolgáltatásokat. Ilyenkor etikus (white-hat) hackereket kérnek fel a megrendelő rendszerének feltörésére, a hibákat felderítendő. Jellemzően verseny formájában kerül lebonyolításra.
Honosítás tesztelése
Multinacionális cégek sokszor számos országban vannak jelen azonos szoftver vagy webes szolgáltatás honosított verziójával. Ezek ellenőrzése a leghatékonyabban anyanyelvi tesztelők bevonásával történhet, amelyre a crowdtesting egy költséghatékony alternatíva.
A crowdtesting előnyei
[szerkesztés]A crowdtesting módszertanából számos világosan megfogalmazható előny származik.
- A belső tesztelőknek gyakran nem áll rendelkezésre elegendő erőforrás, hogy minden lehetséges felhasználási szituációt és környezetet lefedve (különböző eszközök, internet sebesség, térerő, stb.) teszteljék a szoftver működését. Ez a probléma költséghatékonyan hidalható át crowdtesting segítségével.
- A tesztelés valós körülmények között történik, nem laboratóriumban
- A crowdtesting flexibilisen skálázható, a tesztelők száma gyorsan változtatható, így nagy szabadságot nyújt a megrendelőnek a tesztelés paramétereinek meghatározásakor.
- A tesztelők véleménye objektív, mivel teljesen függetlenek a szoftver fejlesztőjétől.
- Különböző hátterű emberek széles skálájából választhatók ki a tesztelők. Míg hibakeresés esetén kívánatos lehet a technikai irányultság, IT tapasztalat, addig a usability tesztelésnél az alkalmazás célcsoportjába eső végfelhasználók nyújthatják a leghasznosabb visszajelzéseket.
- A nemzetközi crowdtesting cégek segítségével bármilyen anyanyelvű, illetve kulturális hátterű tesztelő könnyedén elérhető.
- Az online zajló folyamatoknak és a nagyszámú tesztelőnek köszönhetően a projektek a hagyományos tesztelésnél jóval gyorsabban lezajlanak.
A crowdsourcing kapcsán felmerülő kételyek
[szerkesztés]A crowdtesting nem minden feladatra és nem minden helyzetben tökéletes választás, illetve bizonyos esetekben speciális megoldásokra van szükség az alkalmazásához.[1]
- A bizalmas adatok megóvására különleges hangsúlyt kell fektetni crowdtesting alkalmazása esetén, hiszen a szervezeten kívüli, külső tesztelők végzik a tesztelést. A legtöbb crowdtesting cég erre kínál megoldást, de vannak helyzetek (pl.: katonai megoldások), amikor a tesztelés csak házon belülképzelhető el.
- Azonnali kommunikáció nehezen valósítható meg a tesztelőkkel.
- Amennyiben a tesztelés globálisan zajlik, a projektmenedzserekre nagy terhelés hárul a különböző időzónákban, különböző nyelveken dolgozó tesztelők koordinálásával.
- A szoftver minden részét lefedő tesztelést nehéz biztosítani, mivel a tesztelés jellemzően kevésbé szigorúan tervezett és dokumentált, mint a hagyományos vízesés tesztelési modell, illetve az agilis tesztelés esetében.
- Elsősorban a hagyományos minőségbiztosítás kiegészítésére alkalmas, hiszen nélkülözi annak tudományos módszertanát és kiszámíthatóságát.
Crowdsource és outsource tesztelés közötti hasonlóságok és különbségek
[szerkesztés]Az egyik lényeges különbség az outsource (kiszervezett) tesztelés és a crowdtesting között, hogy az utóbbi esetében a tesztelők egymástól távol helyezkednek el, és magánszemélyként, vagy egyéni vállalkozóként állnak szerződéses viszonyban a crowdtesting céggel vagy a megrendelővel, nem pedig egy cégként, mint az outsouce tesztelés esetében. Az outsource tesztelést jellemzően a megrendelőtől távoli, alacsonyabb költségeket kínáló országban üzemelő céghez szervezik ki, míg a crowdtesting jellemzően a megrendelő anyaországában élő tesztelőkkel történik.
Crowdtesting globálisan és Magyarországon
[szerkesztés]A világon jelenleg számos crowdtestingre specializálódott cég létezik (uTest, 99tests, Mob4hire, crowdsourcedstesting, bugcrowd, UserTesting.com), hazánkban 2013 szeptemberében indult el hivatalosan a Münchenben alapított Testbirds crowdtesting szolgáltatása. A Testbirds platformján regisztrálva végfelhasználók tesztelhetnek webes és mobilos alkalmazásokat fizetségért cserébe. A cég felhasználói élmény (UX) tesztelést és hibakeresést egyaránt kínál ügyfeleinek.
Kapcsolódó szócikkek
[szerkesztés]Források
[szerkesztés]- ↑ Noel, Wurst: Implementing Innovative Crowdsourced Testing: An Interview with Rajini Padmanaban. (Hozzáférés: 2013. április 12.)