Crowdtesting

A Wikipédiából, a szabad enciklopédiából

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]