Irányított crowdtesting – a tesztelés egy kibővített megközelítése
Mindig van új a nap alatt. Vegyük a Crowdtestinget, amit manapság a mobil alkalmazások tesztelésénél sokszor használnak a fejlesztő cégek. Vajon egy magyarországi pár fős fejlesztői csapatnak megérné a tesztelői közösség erejét használni? Milyen előnyei származhatnak belőle és hol vannak a buktatói?
A tesztelési szakma számos változáson megy keresztül. A formálódó informatikai látkép egy-re ügyfél központú, a nyílt forráskódú és a felhő alapú. A hardverek és a szoftverek növekvő komplexitása mellett nehezebb és nehezebb igazán jó tesztelést végezni a szinte végtelen számú platform, eszköz, tesztkonfiguráció és sokféle felhasználói karakter által kialakított környezetben.
Mi az a Crowdtesting?
A crowdtesting vagy crowdsourced testing egy olyan igényalapú modellben történő valós tesztelés, amelyet magasan képzett, földrajzilag különbözően elhelyezkedő szakemberek látnak el egy biztonságos privát platformon keresztül.
Crowdtesting a következő hagyományos tesztelési problémákra kínál megoldást:
- ugyanazok tesztelik a szoftvereket
- fix / korlátozott mennyiségben rendelkezésre álló erőforrások
- felhasználói szempontok hiánya
- friss ötletek hiánya
E cikkben rövid áttekintést adok az irányított crowdtestingről, amely egy kiegészítés ahhoz, hogyan lehet a crowdtesting-et jobban csinálni.
Az irányított crowdtesting
Egy képzett projektmenedzser, aki jellemzően egy tapasztalt vezető vagy egy személy az ügy-fél oldaláról megtervezi/véleményezi a tesztstratégiát, és jóváhagyja/módosítja azt, hogy teljes mértékben lefedje az ügyfél által vizsgálandó követelményeket. Minden projekt tar-talmaz egy olyan fórumot, ahol a hibák és a problémák megvitathatók és további kérdéseket lehet feltenni. A tesztelők dokumentálják a hibajegyeket és a tesztriportjaik minősége alap-ján kerülnek értékelésre. A tesztelők keresete az alapján növekszik, minél több, a projektve-zető által elfogadott hibát találnak. A közösség ötvözi az együttműködés és a versengés szempontjait, mivel tagjai azon dolgoznak, hogy megoldást találjanak a felmerült problé-mákra.
A crowdtesting előnyei
- Reprezentatív forgatókönyvek valós felhasználóktól.
- Szoros visszacsatolás gyors és agilis visszajelzésekkel.
- Széles körű lefedettség az esetek, platformok, eszközök, böngészők, tesztelők stb. terüle-tén, melyet nagyon nehéz egy házon belüli tesztlaboratóriumban előállítani.
- Költséghatékonyság.
- A tesztelők sokszínűsége széleskörű teszteléshez vezet.
- Kevesebb idő szükséges a teszteléshez, csökken a piacra jutási idő és a tulajdonosi össz-költség, mivel a legtöbb hiba viszonylag rövid idő alatt azonosítható, ami a fenntartási költ-ségek jelentős csökkenéséhez vezet.
A Crowdtesting hátrányai
- A projekt irányítása során a biztonsággal, a kitettséggel és a titoktartással kapcsolatos problémák léphetnek fel, amikor felkínálunk egy közösségi projektet egy szélesebb felhasz-nálói körnek tesztelésre.
- A projektmenedzsment kihívásokkal néz szembe a tesztelők különböző hátteréből, nyelvé-ből és tapasztalataiból adódóan.
- Minőségbiztosítási erőfeszítéseket igényel a hibajegyek ellenőrzése, javítása, az ismétlő-dések és a téves riasztások feltárása és megszüntetése.
- Méltányossági és egyenlőségi korlátok vannak a fizetési mechanizmusban, amikor a mun-ka hozzáadott értéke és az előírt minimális elvárások nem találkoznak.
Hol alkalmazható a crowdtesting a legjobban?
Mobil szervezetek
Mivel a Google, az Apple és a Microsoft fejlesztőeszközei gyakorlatilag ingyen elérhetőek, egyre nagyobb az a fejlesztői kör, mely mobil alkalmazásokat és weboldalakat hoz létre Android, iOS és Windows platformokra. De könnyű egy alkalmazás fejlesztési és sikeres be-vezetési költségeit alábecsülni. A költségek megtakarításának egyik módja lehet a crowdtesting.
A crowdtesting leginkább a felhasználócentrikus alkalmazások esetén célravezető. A mobil és játék applikációk felhasználói kifejezetten elvárják, hogy az alkalmazások fussanak az ezernyi különböző gyártótól származó, különböző méretű, felbontású, különböző hálózatokra kapcso-lódó és helyszíneken lévő eszközökön. Ez megkívánja, hogy ne csak tesztelők kisebb csoportja tesztelje a szoftvert maroknyi eszközön és konfigurációban, hanem számos felhasználó az ezzel járó sokszínűséggel.
Növekedési szakaszban lévő startupok
A lean startup forradalom elterjedésével a világ különböző részein, a startupok alapítói ter-mékeiket ma már okosabban, béta fázisban olcsóbban vagy ingyenesen teszik közzé. Néhány évvel ezelőtt a béta tesztelést még egy kiválasztott csoport végezte, amely el volt különítve a felhasználók széles közönségétől. Ma sok startup alkalmazásának korai verzióit is közzéteszi a felhasználók számára, hogy gyors és fontos visszajelzéseket kapjon. Gyorsabban akarnak hi-bázni és ebből tanulni.
Bizonyos alkalmazásokat csak néhány helyen lehet tesztelni, némelyek speciális vezetékes csatlakozást és hálózati szolgáltatót igényelnek, bizonyosaknak speciális hálózati csatlakozás-ra van szüksége, mint pl. a 4G LTE vagy még jobb minőségű hálózati csatlakozásra; van olyan, amelyik adott nyelvű felhasználókat igényel, és így tovább. Ilyen esetekben akármilyen felhasználó nem is tud dolgozni, nem használható a teszteléshez. Ilyen esetekben, amikor specifikus felhasználókra van szükség, szóba jön egy elkötelezett és irányított crowdtesting közösség.
Vállalatok
Nagyvállalatok is profitálhatnak a crowdtesting előnyeiből úgy, hogy nagy felhasználói bázist alapul véve tanulmányozzák a használati mintázatokat és a visszajelzéseket figyelembe véve fejlesztenek, miközben biztosítják az alkalmazások zökkenőmentes futását számos különböző eszközön, operációs rendszeren, böngészőn és nyelvi változatban. A kibocsátást követő nagy hibakitettségű alkalmazások számára jó lehetőség a crowdtesting.
Például a Microsoft kiadta az Office 2010 irodai programcsomag béta változatát, amelyet 9 millió ember töltött le és tesztelt, 2 millió értékes megjegyzést és észrevételt téve, ami hoz-zájárult a termék jelentős javításához.
A tesztelés megközelítésének kibővítése
Több üzletembert és értékesítőt hallottam beszélni arról, miért fog működni az offshore tesz-telés, vagy a szétosztott tesztelést miért nem; vagy a crowdtesting miért varázsszer, és így tovább. Több, mint egy évtizedes tapasztalatom alapján állíthatom, hogy nincs csodaszer. Minden szervezet ápol egy bizonyos szellemiséget, fenntart egy megfelelő munkakultúrát, tehetséges emberek csapatát és egy csomó műszaki adósságot. Teljesen mindegy, hogy 50 évvel ezelőtti, mai, vagy 50 évvel későbbi cégeket nézünk, a legtöbb szervezetnél a szoftver-tesztelés jelenti a legkevesebb problémát. Az ügyfél szerint a szoftvertesztelés pénzbe kerül, pénzt viszont nem hoz. Az IT vezetőség szerint pedig nincs értelme a szoftvertesztelési tech-nikákat az „ügyfelek” részére olyan csomagolásban eladni, hogy „ez az évszázad leginnovatí-vabb megoldása”.
A tesztelési szolgáltatások esetében az igény az, hogy a megoldásokat, módszereket úgy vá-zoljuk fel, mint egy kibővített megközelítését a tesztelésnek.
1. forgatókönyv – Egy olyan szervezet keres meg, amely hagyományos tesztelési módsze-reket alkalmaz
Tegyük fel, hogy ez a szervezet kiforrott tesztelési folyamattal rendelkezik, és van egy kiváló tesztcentere minden tesztelési és minőségbiztosítási feladatra a szervezeten belül. Hogyan állítasz elő hozzáadott értéket? Fontos megérteni az ügyfél igényeit, azonosítani azokat a problémákat, amelyekkel a tesztelés hiánya vagy alacsony színvonala miatt küzd, és felvázol-ni azt a modellt, amely a legmegfelelőbb számára. Az ügyfélnek szüksége lehet néhány tesztciklusra annak megítéléséhez, hogy a modell működik-e vagy sem.
Ebben az esetben, lehet csak egy friss szem szükséges. Segítséget jelenthet ha új személyeket javaslunk a cégnek vagy a csapatnak annak érdekében, hogy előrébb mozdítsuk a tesztelést. Ha ez nagyobb léptékben szükséges, akkor a crowdtesting lehet az egyik opció. Nem az egyetlen opció, de mindenképpen egy a számos lehetőség közül.
2. forgatókönyv – Ha egy szervezet a tesztkonfigurációk és a teszteszközök sokszínűségét keresi
Egy nagy szervezetnél webes és mobil alkalmazások különböző operációs rendszerekre, bön-gészőkre és böngészőverziókra, számos mobil eszközre, különböző platformokra, mint példá-ul Android, iOS, Windows, számos eszközről, különböző képernyőméretben és felbontásban érhető el. Ez az állapot tökéletes terep a crowdtestingnek, amelyben egy professzionális tesz-telő közösség a „hozd-a-saját-eszközödet” modellben dolgozik és teszteli az alkalmazást, ez-által szélesebb lefedettséget biztosítva eszközök és platformok tekintetében.
3. forgatókönyv – Ha egy szervezet a regressziós tesztelési problémáját akarja megoldani
A régi alkalmazásoknál a regressziós tesztelésre nagy szükség lehet. Amíg az új funkciókat megtervezik és lefejlesztik, a meglévő funkciók meghibásodásának megelőzése számos prob-lémát okozhat. Ezt a kockázatot tovább növeli a többfajta operációs rendszer, böngésző, mo-bileszköz és egyéb tesztkonfiguráció. A regressziós tesztelés kiválóan alkalmas crowdtestingre, ahol a tömeg rövid idő alatt képes haladni a különböző platformokon és tesztkonfigurációkon.
Mit tartogat a jövő?
Crowdsourced tesztelésnek nyilvánvalóan megvannak az előnyei és a korlátai. Nem lehet csodaszernek tekinteni minden tesztelési követelményre, és a tömeg erejét megfontoltan kell alkalmazni. A sikeres crowdtesting kulcsa, hogy körültekintően alkalmazzuk annak a szervezetnek a taktikai és stratégiai igényeitől függően, amely a crowdsourced tesztelési szolgáltatásokat igényli. Fontos, hogy a szervezet elfogadja a megfelelő modellt, azonosítsa a célalkalmazásokat, a crowdtestinget végrehajtsa, kitapasztalja néhány tesztelési ciklus erejé-ig, nyomon kövesse a teszteredményeket és a modellt saját igényeinek megfelelően testre szabja.
Miért is beszélek crowdtestingről?
Nemrég csatlakoztam a PASS Technologieshez, amely a szoftvertesztelési szolgáltatásokkal, offshore teszteléssel és crowdtestinggel foglalkozik. Bár már mintegy 11 éve dolgozom az offshore testing szolgáltatások területén, ez az első élményem arról, hogyan működik a crowdtesting. Számos előnyét látom, amely miatt a szervezeteknek érdemes alkalmaz-niuk a crowdtestinget, illetve kiszélesíteniük a tesztelési szolgáltatásaikat, legyenek e szervezetek szolgáltatás- vagy termékalapúak.
Miért előnyös az ügyfélnek?
- on-demand tesztelés
- jobb tesztlefedettség
- gyorsabb teszteredmények
- olcsóbb
- kivitelezhető megoldás
Miért jó a tesztelőnek?
A tesztelők „keresnek, tanulnak és fejlődnek”. A tesztelő számára a crowdtesting előnyei többek között:
- bevétel a jóváhagyott hibák után a hibaalapú fizetési modellben;
- kapcsolati háló a legmenőbb tesztelőkkel, akik a közösségünkbe tartoznak;
- sztártesztelőként a szakmai közösség elismerése;
Forrás:http://curioustester.blogspot.hu/2014/11/ managed-crowdtesting-augmented-approach. html
Szerző: Parimala Hariprasad
A szerző
- Parimala kilenc évnyi tapasz- talattal rendelkezik tesztelés, vezetés és szoftvertesztelő csapatok trenírozásában. Dolgozott már CRM, biztonsági, kereskedelmi és támogatás- automatizálási területeken. A tesztelés mellett – amit nagy szenvedéllyel űz – nagyon kedveli a tesztelők trenírozását is. Gyakran ír tapasztalatairól a http://curioustester .blogspot.com oldalon. Emellett még számos cikket publikált tapasztalatairól olyan magazinokban, mint a Better Software, Testing Circus és Testing Planet. Parimala aktív résztvevője a területhez kapcsolódó konferenciáknak és találkozóknak. Mélyen hisz a csapatmunkában, és segíti a csapatokat, hogy közösen dolgozzanak a végső cél elérésében. Ha épp nem tesztel, szívesen játszik két tündéri gyermekével, könyveket, magazinokat, cikkeket olvas, és még sok mást. Jelenleg tesztmenedzserként dolgozik a Moolya Software Testing Pvt Ltd-nél, Bangalore-ban. Elérhető a parimala@moolya.com címen vagy twitteren @CuriousTester néven.