23. óra · Szoftvertesztelés alapjai

Tesztmenedzsment és a tesztelői szerepek

Szervezeti megoldások, független és integrált tesztelés, szükséges képességek

Az óra végére képes leszel

  • Megkülönbözteted a tesztvezető és a tesztelő feladatait.
  • Értékeled a független és integrált tesztelés előnyeit és korlátait.
  • Konkrét feladathoz illő szakmai és együttműködési képességeket választasz.

Az óra témái

  • Tesztelő szervezet
  • Független és integrált tesztelés
  • Tesztvezető és tesztelő feladata
  • A résztvevők szükséges képességei
01 / TANANYAG

Hogyan szerveződik a tesztelés?

A tesztelés a teljes csapat minőségért végzett munkájához tartozik, de a konkrét felelősségeket meg kell nevezni. A fejlesztő saját komponenseit ellenőrizheti, a tesztelő más nézőpontból vizsgálhatja a kockázatokat, a felhasználói képviselő pedig megerősítheti az üzleti célokat. Egy kisebb csapatban egy személy több szerepet is elláthat; nagyobb projektben külön tesztcsapat működhet. A szervezeti felépítés önmagában nem garantálja a hibák felfedezését.

Az integrált tesztelés előnye a gyors közös egyeztetés: a tesztelő már a követelmény megbeszélésekor kérdezhet. A független nézőpont segíthet észrevenni olyan feltételezést, amelyet a megvalósító magától értetődőnek tart. A túl nagy szervezeti távolság viszont lassíthatja a visszajelzést; a függetlenség és az együttműködés ezért nem egymást kizáró célok.

Példa: Kurzusfoglalás

A fejlesztő ellenőrzi a férőhelyszámoló függvényt; a tesztelő a két egyidejű jelentkezést is kipróbálja; az ügyintéző ellenőrzi, hogy a várólista megfelel-e a napi munkájának.

02 / TANANYAG

A tesztvezető és a tesztelő munkája

A tesztvezető a tesztelési munkát szervezi: célokat és megközelítést egyeztet, becslést és tervet készíttet, erőforrásokat és kockázatokat követ, jelenti az előrehaladást, és segíti a szükséges irányváltást. Nem feltétlenül ő futtatja a legtöbb tesztet. A tesztelő feladatához tartozhat a követelmények áttekintése, tesztesetek és adatok tervezése, a végrehajtás, a tényleges eredmények értékelése és az érthető hibajelentés.

A két munkakör határa szervezetenként változhat. Egy agilis csapatban például az iterációs tervezés, a kockázatok megfogalmazása és az automatizálási döntések több szereplő közös munkái. A szerepet a felelősség és a döntési jog alapján érdemes leírni, nem az alapján, ki használ egy adott eszközt. A hibajavítás elvégzése és a javítás tesztelése két külön feladat lehet.

Tanári tipp

Feladatmegosztáskor írd oda: ki dönt, ki hajt végre, ki szolgáltat elvárást, és ki kap visszajelzést?

03 / TANANYAG

Milyen képességekre van szükség?

A tesztelőnek ismernie kell a tesztelési alapokat, képesnek kell lennie követelményt értelmezni, kockázatot felismerni, pontos megfigyelést rögzíteni és eredményt közölni. Hasznos a rendszer alkalmazási területének ismerete, az adatkezelés, a technikai környezet és a megfelelő eszközök megértése. A tesztvezetőnek ezek mellett szervezési, becslési, döntés-előkészítési és kommunikációs feladatokat is kezelnie kell.

A szakmai képességek mellett fontos a kíváncsiság és a tiszteletteljes kérdezés. A „nem működik” helyett leírjuk a verziót, a kiinduló adatot, az elvárt és a tényleges eredményt. Amikor a szabály bizonytalan, nem személyt hibáztatunk, hanem pontosítást kérünk. A közös cél a használható, megbízható termék, nem egy szereplő igazának bizonyítása.

Példa: Kompetencia a gyakorlatban

Hibát jelezni: „v1.4, 19/20 foglalás, két párhuzamos próbából két sikerüzenet, de csak egy szabad hely volt”; ez egyszerre tesztelési, elemzési és kommunikációs munka.

Négy nézőpont egy termék körül
  1. 1Üzleti képviselőMi a valódi elfogadási cél?
  2. 2FejlesztőHelyes az elkészült rész?
  3. 3TesztelőMelyik kockázat maradhat rejtve?
  4. 4TesztfelelősMire van bizonyíték és mire nincs?

A feladatok megoszthatók; a független nézőpont és a közös egyeztetés egyszerre értékes.

04 / TANANYAG

Függetlenség többféle mértékben

Az a fejlesztő, aki saját kódját ellenőrzi, gyorsan megtalálhat egy egyszerű hibát, de könnyen osztozhat saját feltételezéseiben. Egy másik csapattag friss szemmel vizsgálhatja a részt; egy külön tesztelő vagy külső felhasználói képviselő még eltérőbb nézőpontot adhat. A nagyobb függetlenség azonban nem garantálja a jobb eredményt, ha közben elveszik a közvetlen információcsere.

A vizsgaeredmény-számításnál például a tanár tisztázza a kerekítést, a fejlesztő ellenőrzi a számoló részt, a tesztelő határértékes eseteket tervez. A tesztfelelős figyeli, hogy valamely fontos szabály még teszt nélkül maradt-e. A szereplőknek meg kell osztaniuk egymással a talált tényeket, hogy a gyors visszajelzés és a független kérdezés egyszerre érvényesüljön.

Példa: Szerepkiosztás

A tanár kijelöli az 59,5% kerekítési szabályát; a tesztelő 59,49% és 59,50% esetet ír; a fejlesztő javít; a tesztvezető jelzi, melyik fontos határeset marad ellenőrizetlen.

RÉSZLETES ELMÉLETI KIEGÉSZÍTÉS

Tesztmenedzsment és függetlenség

A tesztmenedzsment feladata a tesztelés megszervezése, irányítása, nyomon követése és lezárása. Tisztázni kell a célokat, hatókört, felelősségeket, erőforrásokat, kommunikációt és döntési pontokat. A tesztelési függetlenség különböző mértékei segíthetnek a saját feltételezéseinkből eredő vakfoltok csökkentésében.

A függetlenség nem jelent elszigeteltséget: a tesztelőknek együtt kell működniük a fejlesztőkkel és a megrendelőkkel. A megfelelő szervezeti megoldás függ a csapat méretétől, termék kockázatától és a változtatás jellegétől. A vezetőnek biztosítania kell, hogy a hibákról és korlátozásokról időben, tárgyszerűen legyen információ.

Új, iskolai példa

Egy kis iskolai alkalmazásnál a fejlesztő ellenőrzi saját modulját, egy másik csapattag áttekinti a kódot, a tanár pedig elfogadási tesztet végez.

Gondolkodtató gyakorlófeladat

Rajzolj felelősségi mátrixot egy kis szoftverprojekt tesztelésére.

PRÓBÁLD KI

Órai feladat

Egy új tanulmányi portált hatfős csapat készít. Javasolj tesztelési feladatmegosztást, és indokold a független nézőpont, valamint a napi együttműködés szerepét!

ELLENŐRIZD MAGAD

Melyik állítás pontos a független tesztelésről?

Amit érdemes megjegyezni

  • A szervezeti forma a feladatok felelőseit tisztázza.
  • Tesztvezetés és tesztvégrehajtás eltérő hangsúlyú szerepek.
  • A technikai, üzleti és kommunikációs képességek együtt támogatják a tesztelést.