Oldal kiválasztása

A szoftvertesztelés világa elsőre hatalmasnak és kuszának tűnhet. Tesztesetek, hibák, határidők, fejlesztők, sprintcélok… és persze mindenki azt szeretné, hogy minden teszt készen legyen mielőtt a szoftver kikerül a felhasználókhoz. A valóságban azonban ritkán van idő mindent letesztelni. Itt jön képbe a priorizálás.

A jó tesztelő nem az, aki mindent letesztel — hanem az, aki a legfontosabb dolgokat teszteli le először.

Ebben a cikkben végigvesszük a legfontosabb elveket, amelyek segítenek eldönteni, mire érdemes fókuszálni, ha kevés az idő, sok a feladat, és szeretnél hatékony maradni.

Üzleti érték: mi a legfontosabb a felhasználóknak?

A tesztelés egyik legfontosabb kérdése: „Mi az, ami a legtöbb felhasználót érinti?”

Ha egy funkció kritikus az üzlet szempontjából — például fizetés, bejelentkezés, keresés — akkor ezeknek a tesztelése mindig elsőbbséget élvez.

Miért? Mert ha ezek hibásak, az közvetlenül bevételkiesést, felhasználói elégedetlenséget vagy akár teljes szolgáltatásleállást okozhat.

Példa: Egy webshopban a „Kosárba rakás” funkció fontosabb, mint a „Profilkép feltöltése”.

Kockázat alapú gondolkodás: mi romolhat el, és milyen következménnyel?

A kockázat két tényezőből áll:

  • Mekkora az esélye, hogy elromlik?
  • Mekkora a baj, ha elromlik?

A magas kockázatú területeket mindig előre kell venni.

Példa: Egy banki alkalmazásban a pénzátutalás funkció hibája sokkal súlyosabb, mint egy elcsúszott ikon a menüben.

Funkció összetettsége: minél bonyolultabb, annál több a hiba esélye

A komplex funkciók több komponensből állnak, több adatot mozgatnak, több külső rendszert érintenek — vagyis több helyen romolhatnak el.

Ezért a bonyolult funkciók tesztelése gyakran magas prioritást kap.

Példa: Egy több lépéses regisztrációs folyamat több hibalehetőséget rejt, mint egy egyszerű gombnyomás.

Időnyomás és határidők: mi készül el először?

A tesztelés gyakran a fejlesztés üteméhez igazodik. Ha egy funkció hamarabb készül el, azt előbb is kell tesztelni.

Ez nem csak praktikus, hanem segít abban is, hogy a fejlesztők még időben javíthassák a hibákat.

Tipp: Mindig kommunikálj a fejlesztőkkel — így tudod, mi mikor lesz tesztelhető.

Változások mértéke: ahol sokat módosítottak, ott több a hiba esélye

Ha egy funkciót vagy modult jelentősen átdolgoztak, az növeli a hibák kockázatát. Ezért a frissen módosított részeket érdemes előre venni.

Példa: Ha egy régi kódrészletet teljesen újraírtak, ott nagyobb eséllyel bukkan fel regresszió.

Alapvető működés (happy path): először a „boldog útvonalat” teszteld

A „happy path” az az útvonal, amikor minden úgy történik, ahogy kell:

  • helyes adatok
  • normál felhasználói viselkedés
  • ideális körülmények

Ez az, amit a legtöbb felhasználó nap mint nap használ. Ha ez nem működik, minden más tesztelés értelmét veszti.

Automatizált tesztek eredményei: mire figyelmeztet a rendszer?

Ha vannak automatizált tesztek, azok eredményei segítenek a priorizálásban:

  • Mi esett el?
  • Hol vannak piros jelzések?
  • Melyik modulban nőtt meg hirtelen a hibák száma?

Az automatizáció nem helyettesíti a manuális tesztelést, de kiváló iránytű.

Összegzés: a jó priorizálás fél siker

A tesztelés nem arról szól, hogy mindent letesztelj — hanem arról, hogy a legfontosabb dolgokat teszteld le időben. Ha kezdő vagy, ezek az elvek segítenek abban, hogy magabiztosabban dönts arról, mire fordítsd az idődet:

  • Üzleti érték
  • Kockázat
  • Összetettség
  • Határidők
  • Változások mértéke
  • Happy path
  • Automatizált tesztek jelzései

Ahogy egyre több tapasztalatot szerzel, ezek a szempontok természetessé válnak, és egyre gyorsabban fogsz tudni jó döntéseket hozni.