A kiszervezett tesztelés kezelése (időben és költségtakarékosan)

A tesztelési feladat végrehajtásának nagyszerű módja a kiszervezett tesztelés, amikor kevés az idő vagy a munkatárs. A kiszervezett tesztelés jól ki tudja egészíteni a minőségbiztosítási csapat munkáját is. Azonban nagyon drága is lehet, és nem mindig a legjobb megoldás egy projekt számára. Ez az írás megpróbál segíteni, hogyan állapítsuk meg a szükségleteket, hogyan értékeljük a munkát, és hogyan egyesítsük a kiszervezést egy már létező csapattal.

A kiszervezés fogalma

A kiszervezett tesztelési feladatok azok, melyet egy harmadik fél hajt végre. Ezek a feladatok lehetnek: tesztstratégia, tervezés, végrehajtás vagy automatizáció. Ezeket a feladatokat általában nem helyben végzik, bár ott is meg lehet csinálni. Ráadásul ott van még annak a feltétele is, hogy a feladatokat integráljuk az éppen futó tesztfolyamatba a projekt bármely időpontjában.

Menedzserek – ismerjék a lehetőségeket

A minőségbiztosítási menedzsernek ismernie kell az összes erőforrás opciót. A szoftvervilág nagyon gyorsan változik, projektek jönnek be és mennek ki, mielőtt észrevennénk, hogy mi volt a siker. Nem mindig lehetséges egy első osztályú csapatot vagy felszerelést fenntartani. Kevés a tehetséges tesztmérnök és projektmenedzser, szóval életmentő lehet, ha jó kapcsolatot ápolunk egy kívülálló tesztcéggel. A kiszervezett tesztmérnököket be lehet tenni egy már létező minőségbiztosítási szervezetbe. Ez az integráció lehetőséget ad a tesztelés fellendítésére és a hardvererőforrás kibővítésére. Amikor a projektnek vége, megint le tudjuk csökkenteni a tesztcsapatot és a hardver erőforrást.

A tesztcégek mellett nagy segítség, ha a teszteszközök gyártóival is jó kapcsolatot ápolunk. Néhány teszteszközgyártó teljes körű szolgáltatást biztosít a termékéhez. Ha sürget az idő, az ő mérnökeik segíthetnek az eszköz használatában és az igényeinkhez igazíthatják azt. A kiszervezési lehetőségtől függetlenül, minden próbálkozásnál időbe fog telni, hogy a költségeket és az embert biztosítsuk a feladathoz. Ezért fontos, hogy elegendő időt hagyjunk a megoldási lehetőségek mérlegelésére.
A szükségletek meghatározása – hozzunk létre egy kiszervezési kritériumot

Amikor egy projekt elkezdődik, tegyük fel a következő kérdéseket. Ez segít eldönteni, mely területre kell összpontosítanunk.

Elegendő a tesztelő személyzet a projekt teljesítéséhez?

Hogy néz ki a végrehajtási terv?

Van elég idő, hogy embereket vegyünk fel és képezzünk ki a projekthez? Ha a munkatársak hiánya a gond, akkor egy tesztlabor jó tesztelőkkel megoldhatja ezt a szükségletet.

A hardver megfelelő?

A hardver óriási kiadásokkal járhat. Néhány esetben a funkcionális tesztelés nagy részét egy vagy két platformon le lehet futtatni. Ha a tesztterveket jól megírták, akkor ki lehet szervezni a hardverkonfigurációs tesztelést. Így a legmodernebb gépekhez jutunk hozzá, és a tesztelési többlet párhuzamosan segít a mi kollégáinknak.

Vannak elvárások vagy specifikációk?

A elvárások tisztázása alapvető a jó teszttervezéshez és a stratégiához. Ez a kiszervezett feladatnál is fontos, mert a kívülállónak kevés, vagy semmilyen ismerete sincs az adott alkalmazásról. Egy jó specifikáció jobb tesztterveket és jobb teszteseteket eredményez.

Van-e tesztstratégia vagy -terv?

A tesztstratégia egy dokumentum, ami tisztázza a tesztelés szemléletmódját. Ez az első dokumentum, amit a tesztcsapatnak el kell készítenie, és ez az alapja más minőségbiztosítási átadandó anyagoknak is. Egy jó stratégia lefedi a tesztstílusokat, az eszközhasználatot, a tesztesetek összegzését, hogy mi van benne a tesztelési célban és mi nincs. Ha lehetséges, akkor ezt házon belül készítsük el. Ha a harmadik fél készíti, akkor a cég a projekt irányítása felé tolódik el. Ilyet csak akkor csináljunk, ha az egész minőségbiztosítást ki akarjuk szervezni.

Szükség van-e valamilyen speciális készségre a projekt végrehajtásához?
  • Szükség van-e olyan tesztelőkre, akik valamilyen szakterületen is jártasak (pl.: pénzügy stb.) ? Néhány szoftveralkalmazás megköveteli a szakterület részletes ismeretét. Ha a munkatársak között nincs ilyen, akkor szükség lehet a kiszervezésre.

  • Kell-e automatizálni? Az automatizálás még mindig nem gyakorlat sok szervezetnél. Még ha van is tapasztalt automatizálási szakember, az időkényszer is közbeszólhat. Ha az automatizáció elvárás, akkor ez is egy kiszervezhető feladat. Úgy, mint a hardvertesztelésnél, itt is nagyon fontos a jó dokumentáció, hogy a legtöbbet hozzuk ki a pénzünkért. Amikor a projektnek vége, a tesztszkriptek tulajdonjogát átvehetjük és beépíthetjük a regressziós készletbe. Ezt persze egyeztetni kell a feladatot végző harmadik féllel. Az ő mérnökeik lehet, hogy el tudják végezni ezt a feladatot.

  • Végre kell hajtani stressz- vagy loadtesztet? Ha kliens/szervert vagy webalkalmazást tesztelünk, feltétlenül szükséges valamilyen fajta stressz- vagy load tesztet csinálni. Ez a tesztelés szimulálja a felhasználói adatbevitelt, és megnézhetjük, hogyan viselkedik a rendszer, ha a felhasználók száma növekszik. A stressz és load teszteket általában a senior mérnökök végzik. Nehéz ilyet találni. A stressztesztelést általában akkor csinálják, amikor az alkalmazás fejlesztése már a végéhez közeleg, ami azt jelenti, hogy a határidő elég szűkös. Ez a fajta tesztelés is extra hardvert igényel.

  • Van elég pénzem a kiszervezésre vagy tudunk rá szerezni? A pénz mindig egy kulcskérdés. Ha kevés a pénz, akkor csak a legkritikusabb feladatokat szervezzük ki. Egy ötletes alternatíva, ha egy másik részlegről veszünk kölcsön néhány embert. Egy másik, ha üzletet kötünk egy közeli főiskolával, hogy gyakornokokat szerezzünk.

Miután megválaszoltuk az előző kérdéseket, állítsuk össze a listát és készítsük el a kritériumokat. Ezen ismérvek alapján kezdhetjük felkutatni a külsős cégeket. Némelyik cég minden szükségletet el tud látni, szóval bizonyosodjunk meg arról, hogy a lista fontossági sorrendben van. A legkritikusabbak a lista elején álljanak.

  • Minden kritériumnak megfelelnek a tesztelő cégek? A tesztelő cégek keresését kezdhetjük a kollégák és ismerősök hívásával. A szóhagyomány még mindig a legjobb referencia. Ha ez a megoldás nem válik be, akkor forduljunk az internethez és a hirdetésekhez. A több portál, blog, magazin (pl.: Software Quality Magazine) jó forrás lehet. Sokféle szoftvertesztelő céget találhatunk, ezért fontos, hogy keresés előtt rögzítsük a kritériumokat. Szűkítsük le a jelentkezőket kettőre-háromra, és csak azután hívjuk fel őket telefonon.


Kérdés

Most hogy megvannak a jelöltek, itt az ideje, hogy kérdezzünk, kérdezzünk és kérdezzünk. Ez a kulcsa az egésznek, hogy el tudjuk dönteni, melyik céget válasszuk. Itt van néhány fontos kérdés, amit fel kell tennünk:

Kérjünk a következőkből néhány mintát:
  • Tesztterv és tesztesetek
  • Hibajelentések
  • Projekt összefoglalók

A minták kinézete és felépítése nagyon fontos. Amikor a munkát más helyszínen végzik, az írott és szóbeli kommunikáció nagyobb szerepet kap. A személyes találkozók nagyon ritkák lesznek. Nézzük meg, mennyire világosak és részletesek a hibajelentések, tesztesetek.

Kérdezzünk a hardverről / szoftverről
  • A projekt gépeit megosztják más feladatokkal?
  • Mennyire elérhető a projektspecifikus felszerelés? Ha egy nagyon leterhelt céget használunk, akkor nagy valószínűséggel a felszerelést megosztják a projektek között. Az érdekünk, hogy ezt kiderítsük. Kérdezzük meg, ha szükséges, a cég tud-e bérelni/beszerezni egyéb felszerelést.

  • Mennyi hardverük és szoftverük van? Kérjünk egy hardver- és szoftverlistát. Egy jó nevű cég ad arra, hogy a legújabb felszerelést használja. Sőt, az is fontos, hogy legyenek régebbi gépeik, melyek még elterjedtek a piacon. A cél az, hogy olyan közel kerüljünk a célközönség gépeihez, amennyire csak lehet. A következő listát szerezzük meg:

    • CPU-k
    • Nyomtatók
    • Modemek
    • Grafikus kártyák
    • Hálózati kiegészítők
  • A hardverük jól szervezett, átlátható? Egy tesztlabornak sok felszerelése lehet, de mennyire jól szervezett? Néhány esetben azt láttam, hogy a laborban mindenhol alkatrészek voltak és a gépek félbeszedetten üzemeltek. Kérdezzük meg, hogy a gépeket szokták-e átcipelni és hogyan követik nyomon a komponenseket. Egy jó kérdés lehet például, hogy ha egy videokártyát kellene megtalálni, hogyan csinálnák?

  • Használnak-e teljesen új, csomagolt gépeket? Néhány labor olyan szoftvereket telepít a gépeire, melyek nekik abszolút természetesek. Ezek a szoftverek lehet, hogy elfednek olyan problémákat, amivel egy átlagos otthoni felhasználó találkozhat. Egy jó módszer ennek kiderítésére, ha a labornak van teljesen új, még becsomagolt gépe. Ezek a gépek olyanok, mint amilyet a felhasználó kap a boltban és mentes mindenféle cégre jellemző szoftvertől. Nem minden gépen található például táblázatkezelő vagy szövegszerkesztő. Ha egy szoftver olyan dll-t igényel, ami egy népszerű alkalmazásban vagy operációs rendszerben van, az otthoni felhasználó gépe le is fagyhat. Ha egy széles körben elterjedt alkalmazást tesztelünk, ez a fajta teszt szinte kötelező.

  • A tesztelők tartják karban a gépeket vagy az IT-szakember? Ha a tesztelők állandóan gépeket konfigurálnak, akkor nincs idejük tesztelni. Ha a labornak van saját IT csapata, akkor ők tartják karban és futtatják a gépeket, míg a tesztelők a tesztelésre figyelnek. Egy IT csapat sokkal gyorsabban tud rendbe tenni egy gépet.

Kérdezzünk az alkalmazottakról
  • Nézzük meg néhány tesztelő önéletrajzát. Milyen a tesztelők tapasztalata összességében? Nézzünk meg néhányat a leendő tesztelők önéletrajzából is. A kereskedők mindenféle dolgot megígérnek, de a tesztelést akkor is csak egyének végzik. Nézzünk át néhány, a tesztelők által készített jelentést és projektösszegzést. Keressünk esetleg hasonló témában végzett tapasztalatot vagy terméket, melyet teszteltek már.

  • A tesztelők több projektben is dolgoznak egyszerre? Ha a laborok nem egy helyen vannak, akkor egy már megismert tesztelővel nem tudunk később találkozni. Derítsük ki, ez hogyan van és ennek megfelelően tervezzünk. Ha rátalálunk egy jó tesztelőre, kérjük őt megint egy jövőbeli projektnél is. Tulajdonképpen akár konkrét tesztelőket is kérhetünk a szerződés megtárgyalásakor.

  • Aláírnának-e titoktartási nyilatkozatot?
  • A tesztelőket a céghez kötik szerződéssel? Mivel a munkát más helyen végzik és sok klienssel, javaslom, hogy írjanak alá egy titoktartási nyilatkozatot. Ha a szoftverek pénzügyileg nagy fontosságúak, akkor kössünk a projekthez mindenkit, aki érintett. Ez lehet egy kikötés a szerződésben. Ne veszítsünk el jó tesztelőket azért, mert nem kötöttük ki, hogy csak a mi projektünkben dolgozhatnak.

  • Dolgoztak már hasonló projekt technológiával? A tesztelők dolgoztak már hasonló projekteken? Ez nagy segítség lehet, főleg ha a saját tesztelőink sem ismerik túl jól az új technológiát.

Látogatás

Tovább szűkítettük a jelentkezőket, így itt az ideje a helyszín felkeresésének. A látogatásnál fontos, hogy saját szemünkkel lássuk, milyen a labor felszereltsége és milyen a munkakörnyezet. Menjünk körbe a laborban.

  • A labor úgy néz ki mint egy kényelmes munkakörnyezet? Ezt mindenki magától értetődőnek veszi. A tesztelést emberek végzik és az embereknek kényelmes környezetre van szükségük. Némelyik labor kicsi és ablaktalan. Minél jobb a környezet, annál jobb a munka minősége.

  • A hardver jól szervezett? Nézzünk körül a laborban. Keressünk különböző hardvereket. Kérjük meg őket, hogy keressenek meg ezt-azt. Nézzük meg, mennyi ideig tart ez.

  • A labor megfelel a biztonsági követelményeknek? A saját szervezetünknek vannak sajátos biztonsági követelményei? Bizonyosodjunk meg arról, hogy a külsős cég is megfelel ezeknek. Ilyen lehet, hogy a projekt nem működhet a belső LAN hálózaton vagy nem kapcsolódhat a külvilággal.

  • Készítsünk interjút a tesztelőkkel! Ezek az emberek végzik a tényleges munkát. Kérdezzük őket. Próbáljuk kideríteni, hogy a tapasztalatuk megfelel-e az igényeinknek.

Költségek

Itt kezd trükkössé válni a dolog. A külsős cégek hajlamosak mindent kiszámlázni. Készítsünk kategóriákat, amivel dolgozunk majd. Ezek a kategóriák tartalmazzák az alkalmazottakat, a hardvert és a feladattal kapcsolatos költségeket. És persze legyenek benne a tervezett kezdési és befejezési dátumok.

  • Fix költségek vannak vagy napi elszámolás? A szoftver lehet hogy késve érkezik. Van-e állásidő vagy csak akkor fizetünk, amikor dolgoznak? Jár juttatás, ha a tesztelő szabadságra megy közben? Van-e helyettes ember, ha valaki elmegy szabadságra?

  • Ha hosszabb időre kötelezzük el magunkat, akkor lehet-e jobb szerződést kötni? Ha egyszerre több projektet viszünk a labornak, akkor próbáljunk alacsonyabb árat kialkudni. Ha egy projekt megy egyszerre, akkor az költségesebb.

  • Vannak-e járulékos hardverköltségek? Néhány labor csak az alapgépeket biztosítja a teszthez. Ha a tesztszimulációknak ennél többre van szüksége, akkor ezt még a szerződés aláírása előtt tisztázzuk.

  • A tesztelők nálunk vagy máshol dolgoznak? Ha a tesztelők máshol dolgoznak, akkor rögzítsük a szerződésben, hogy ki fizeti ennek a költségeit.

  • Egyeztessünk, hogy a leszállítandó termékben mi legyen. Előre döntsük el, hogy a projekt végtermékbe mi legyen. Például tartalmazza a hibajelentések és a javaslatok másolatait és minden levelezést a két fél között.

  • A projektmenedzsernek külön fizetés jár? Tisztázzuk, hogy a projektmenedzser a tesztcsapat tagja-e. Fizessünk külön projektmenedzsert, vagy nézzük meg, hogy az egyik tesztelő el tudná-e ezt a feladatot végezni. Ez csökkentené a költségeket.

Munkafolyamat

 Kezdjük el és alakítsuk ki a munkafolyamatot. Ha megvan a külsős cég, akkor kezdjük el a tesztelést. Állítsunk fel projekt munkafolyamatot.

  • Teszteljünk egy kevésbé kockázatos részt. Ha komoly fenntartásaink vannak a kiszervezéssel, akkor próbáljunk ki egy kevésbé kockázatos területet. Válasszunk olyan projektrészt, ami nem zavarja nagyon a menetrendet, ha valami nem sikerül tökéletesen. Ha jó tapasztalataink vannak a kiszervezéssel, akkor vállalhatunk több kockázatot.

  • Építsünk ki egy elsődleges kontakt személyt mindkét oldalon. Ha a munkát egy külső helyszínen végzik, fontos, hogy a kommunikáció rendszeres legyen és következetes. Ezt úgy érhetjük el a legegyszerűbben, ha mindkét oldalon csak egy-egy kontakt személy vagy alkalmazás van. Ez segít elkerülni a félretájékoztatást és mozgásban tartja a munkát. Az e-mail a legjobb módja, hogy nyomon kövessünk minden változást. A telefonhívásokkal nincs gond, csak nem marad utána semmi nyom. Néhány esetben kérhetünk egy business kontaktot, ő tudja kezelni a nem teszteléssel kapcsolatos ügyeket.

  • Hozzuk össze az egész csapatot, hogy lássák egymást. Fontos, hogy a csapattagok ismerjék egymást, főleg, ha más helyszínen dolgoznak. A csapat egységét segíti, ha a csapattagok ismerik egymást már a tesztelés megkezdése előtt. Ha ez nem lehetséges, akkor legalább a kapcsolattartó személy legyen ott az ismerkedésnél.

  • Biztosítsuk a labor számára dokumentációt. Minden lehetséges dokumentációt adjunk át a labornak. Általában nekik nincs előzetes ismeretük az adott környezetről vagy az alkalmazásról. Ha a projekt már elkezdődött, akkor nekik is gyorsan fel kell venniük a munka ritmusát. Ha nem kapják meg a kellő dokumentációt, a csapatból valakinek ki kell mennie és személyesen kell segítséget nyújtania. Ez eléggé elnyújthatja a munkamenetet. A labor számára biztosított teszttervek és tesztesetek mindig legyenek nagyon alaposak. Fontos, hogy a tesztesetek világosak legyenek, mindenki tudja, hogy mit teszteljen és mi lesz a várható kimenet. Ne hagyjunk lehetőséget arra, hogy mindenki egyénileg értelmezze a kimeneti eredményeket.

  • Nézzük át a ő tesztterveiket és teszteseteiket. Ha a labor küld át a csapatnak tesztterveket, nézzük át őket alaposan. Bizonyosodjunk meg arról, hogy a részletessége megfelelő és nincs benne semmi félreérthető. Minden tesztesetnek kell hogy legyen egy előre definiált eredménye. A tesztesetek kimenete nem lehet nyitott a saját értelmezésre. Nézzük meg, hogy minden terület le legyen fedve tesztesetekkel.

  • Hívjunk össze napi / heti megbeszéléseket. Állapodjunk meg egy fix időpontban, amikor rendszeresen találkozunk és a tesztlabor beszámol a haladásról. Ezt fel lehet használni arra, hogy ők is kérdéseket tegyenek fel vagy megbeszéljük a felmerült problémákat. Az a  legpraktikusabb, ha egy heti írásbeli jelentést is kérünk tőlük. Ebben legyenek benne a hibajelentések, a tesztelés státusza és minden egyéb. Legyen mindig valaki, aki tartja a kapcsolatot. A tesztelőknek mindig legyen munkájuk, ne hagyjuk őket üresjáratban.

  • Építsünk ki egy hibajelentő mechanizmust. Ha lehetséges, a tesztelők közvetlenül a hiba adatbázisba, hibakezelő eszközbe vigyék be a hibákat. Egy webalapú rendszer erre a legideálisabb. Nagyon egyszerű egy ilyen eszközt beállítani, használni. Ha mégsem megoldható a hibakezelő eszköz közös használata, akkor egy másik módszer, ha e-mailen keresztül küldik a hibákat, de itt fennáll az esély arra, hogy elveszhetnek. Az e-mailben küldött hibákat igazoljuk vissza a külsős cégnek. Nézzük meg, hogy a bejelentett hibák megismételhetők-e, mielőtt a fejlesztőkhöz fordulunk. Ezzel segítjük a tesztelő cég munkáját. A fejlesztők nem szeretik a nehezen megismételhető hibákat. Ha a megbízott cég ilyen defekteket küld, azzal a saját munkájának a megbízhatóságát csökkenti.

  • A projekt végterméke. A projekt végén kell hogy legyen egy előre tisztázott végtermék. Ebben legyenek benne:

    • A projekt összegzése és a javaslatok
    • Az elvégzett tesztesetek eredményekkel együtt
    • Minden levelezés másolata
    • A hibajelentések
  • Kezeljük úgy a tesztelőket mintha a saját alkalmazottaink lennének. Tartsuk észben, hogy a tesztelők a kiterjesztett alkalmazottaink. Bánjunk úgy velük, mint a saját embereinkkel. Néhányan lényegtelennek tartják ezt, de tartsuk észben, hogy ezek a tesztelők végzik a legfontosabb feladatok egyikét. Bánjunk velük jól.

Forrás:
Szerző:
George Hamblen

<< Vissza