facebook-pixel

Teszttervezési technikák a gyakorlatban

Ki látott olyat, aki már halott róla, aki már beszélt róla….

Azt tapasztaljuk, hogy a tesztelők[link1][link2] nagy része szimplán tapasztalat alapján ír teszteseteket. Hiába az ISTQB vizsga, hiába tanítják egyes egyetemek egyes kurzusain a szoftvertesztelést, nem nagyon találkozunk olyan tesztelővel, aki használna valamilyen teszteset tervezési módszert. Elgondolkodtató, hogy miért van ez így, de azon is el lehetne gondolkodni, hogyan lehetne ezen változtatni. A cikk arra tesz kísérletet, hogy azon elmélkedjünk, miért lenne jó, ha használnának a tesztelők ilyen technikákat.

Mi történik tehát jelenleg?

Ha nem használunk teszttervezési technikákat, akkor lényegében a tesztelői tapasztalatra hagyatkozunk. Csak. A tesztelői tapasztalat nem rossz dolog, de azt rögtön beláthatjuk, hogy egy juniornál ez nem sok támpont. Pedig a junior is a nem létező tesztelői tapasztalatát használja teszteset tervezéshez.

Egyébként el kell ismerni, hogy a tesztelői tapasztalat alapú teszteset tervezés egy létező technika valójában.

Mesterré válás

Miért tudja legyőzni a sakk nagymester azokat a játékosokat, akik nincsenek a szintjén?

Sokan gondolják, hogy mert több lépést számol előre. Ez nem igaz. A sakk nagymesterei sem számolnak előre átlag 2-4 lépésnél többet. A trükk más.

  • 1. „trükk”: Egyrészt egy mesternek nagyon nagy a tapasztalata. Sokat játszott és sok sémája van. Ezekre a sémákra támaszkodva játszik.
  • 2. „trükk”: Másrészt nagyon sokat tanult. Megnyitáselméletet, végjáték elméletet, középjáték stratégiákat.

Bármilyen szakmáról beszélünk, ugyanezt a két trükköt kell alkalmazni, ha mesterek szeretnénk lenni. Sok elméletet, technikát, módszert kell tanulni és sokat kell gyakorolni. Nincs ez másképpen a szoftverteszteléssel sem.

Oké, de mit adnak nekünk teszttervezési technikák?

Rendben, kell valami módszer vagy technika, de pontosan mi is a célja a teszttervezési technikáknak?

1.     Nagyobb tesztlefedettség

A teszttervezési technikák használata több tesztesetet „dob ki”, mint a szimpla tapasztalat alapú tesztelés. Több tesztesettel viszont nagyobb lesz a tesztlefedettségünk is.

Bár Gödel nemteljeségi tételei óta tudjuk, hogy teljes tesztlefedettség nem érhető el, de azért érdemes a minél nagyobb lefedettségre törekedni.

(Megjegyzés: Kurt Gödel a feje tetejére állította a matematikát. Lényegében bebizonyította, hogy bármely megfelelően komplex rendszerben van „hiba”.  A jogi rendszerben mindig van kiskapu, egy kapcsolatban mindig lesz konfliktus, a szoftverekben mindig marad hiba.)

A lefedettség növelése azért cél, mert minél jobban lefedjük tesztekkel a követelményeket, annál kevesebb hiba marad az alkalmazásban.

2.     Minőség

A teszttervezési technikák segítségével átgondoltabb, rendszerezettebb teszteset készletet kapunk. Az átgondolás, a rendszer hozzáadása a munkához minőségibb munkafolyamatot eredményez. A minőségibb munkafolyamat következménye a minőségibb termék.

3.     A technikák tanításai

A technikák nemcsak módszert, algoritmust adnak a kezünkbe, hanem rávilágítanak szemléletmódokra is. Például az ekvivalencia osztályozás mező szintű teszteset tervezésekhez remek, az ok-hatás analízis viszont folyamat alapú megközelítés.  A két különböző megközelítés két különböző szemléletet, két különböző tesztelési szintet is mutat. A technikák megértése egy jobb és „bölcsebb” tesztelői hozzáállást eredményezhet.

Hogyan alkalmazzuk a technikákat?

Nem esztelenül! 🙂

Bővebben? Ésszel!

  • A legtöbb technika olyan, hogy kis gyakorlás után már majdhogynem fejben is megy. Ugyanakkor egy gyors papír vagy Exceltáblázat alapú tervvázlat elkészítése nem lesz időpocsékolás.
  • A technikák alkalmazása gyakran túl sok esetet eredményez. (Túl sok: nincs idő megírni, nincs idő lefuttatni, üzletileg felesleges esetek, technikailag felesleges esetek…) Ilyenkor valahogy csökkenteni kell az esetek számát:
    • Értelemszerűen: Az üzletileg vagy technikailag felesleges esetek elhagyhatók
    • Szűkebb tesztadathalmazzal: Például a határérték elemzés egy intervallumhoz 7 esetet határozz meg. Gyakorlatban elég lehet 4 eset is: A két végpontra, amik már az intervallumon pont bent vannak és a két végponton picivel túli értékekre.
    • Kockázatok elemzésével
    • Tapasztalatok alapján
  • A technikákat általában érdemes keverten alkalmazni. Például a határértékek a legtöbb technikán belül vizsgálhatók.
  • Használj a tervezéshez segédeszközt. Például: táblázatkezelő, Microsoft PICT (adatvariációk, páronkénti értékek), diagram rajzoló.
  • Ha egy módszer alapján több lehetőséged van, akkor általában mindegy melyiket választod, a lényeg, hogy legyél következetes!
  • A tervezés is csapatmunka! Kérj segítséget, ha elakadsz! A terveket osszátok meg egymással és vitassátok meg! (Persze ha egyedül vagy egy projekten tesztelő, akkor erre nem lesz módod.)

Összefoglalás

A teszttervezési technikák elég jó algoritmusokat adnak a tesztelők kezébe a tesztesetek tervezéséhez. A használatukkal minőségibb, szakmaibb, rendezettebb munkát lehet végezni. Sajnos mégsem eléggé alkalmazzák ezeket a technikákat. Ezen a blogon már volt szó ilyen technikákról:

Kombinatorikus 1.: https://passed.hu/2021/blog-cikkek/kombinatorikus_teszttervezes/

Kombinatorikus 2.: https://passed.hu/2021/blog-cikkek/kombinatorikus_teszttervezes-2/

Határérték-elemzés és ekvivalencia osztályozás: https://passed.hu/2021/blog-cikkek/teszttervezesi_technikak_1/

Ok-hatás analízis: https://passed.hu/2021/blog-cikkek/teszttervezesi_technikak_2/

Állapotátmenet: https://passed.hu/2021/blog-cikkek/teszttervezesi_technikak_3/

Jó teszteset tervezést! Hajrá! 😊

Megosztás

Facebook
LinkedIn
Twitter

Nem szeretnél lemaradni az új bejegyzésekről?

Tartalomjegyzék

Egyéb
Erdei Krisztián

AI-t tesztelnél? Mutatunk egy módszert!

Az AI alkalmazások létrehozásában, szakértőként felhívjuk az ügyfelek figyelmét az ehhez kapcsolódó sajátosságokra. Mivel a szoftvertermékek speciálisak, a minőségbiztosításuk is az. Az AI alkalmazások teszteléséről,

Egyéb
Erdei Krisztián

Szoftvertesztelés a mesterséges intelligenciával

Mit nyerhetünk és mire vigyázzunk? A mesterséges intelligencia napjainkban egyre meghatározóbb szerepet tölt be a szoftvertesztelés területén. Az elmúlt egy év során jelentős változások történtek

Érdekel a tesztelés világa?

Dolgozz velünk hazai és nemzetközi projekteken

egy csoport ember ül egy asztalnál laptopokkal

Várj, ne maradj le legújabb szakmai cikkeinkről

Iratkozz fel hírlevelünkre és minden hónapban elküldjük a legizgalmasabb cikkeket

egy laptop számítógépet tartó szemüveges férfi
egy süti csokireszelékkel
Tájékoztatjuk, hogy a honlap felhasználói élmény fokozásának érdekében sütiket alkalmazunk. A honlapunk használatával ön a tájékoztatásunkat tudomásul veszi.