Sobes.tech
Middle+

Mi az a SCREENPLAY?

sobes.tech MI

Válasz az MI-től

A SCREENPLAY egy architekturális sablon az automatizált tesztekhez, amely az objektumorientált programozás és az Actor viselkedési minta alapelvein nyugszik. Arra összpontosít, hogy mit csinálnak a szereplők (karakterek) a rendszerben, nem pedig azt, hogyan.

Főbb fogalmak:

  • Szereplők: Felhasználókat vagy rendszereket képviselnek, amelyek az alkalmazással lépnek kapcsolatba. Képességekkel (Abilities) rendelkeznek, és végrehajthatnak műveleteket (Actions).
  • Képességek: Meghatározzák, hogyan léphet kapcsolatba a szereplő a rendszerrel (pl. "BrowseTheWeb" a böngészővel való interakcióhoz).
  • Műveletek: Leírják a szereplő által végrehajtott feladatokat (pl. "Login", "AddProductToCart"). A műveletek lehetnek magas vagy alacsony szintűek (UI-val való interakciók).
  • Kérdések: Lehetővé teszik a szereplő számára, hogy információt kérjen a rendszer állapotáról.

A SCREENPLAY előnyei:

  • Szerepek egyértelmű szétválasztása: Elkülöníti, hogy ki (Actor) mit (Action) csinál, és hogyan (Ability, Interaction).
  • Magas olvashatóság: A tesztek közelítenek a természetes nyelvhez, megkönnyítve a megértést.
  • Újrafelhasználhatóság: Az elemek (Abilities, Actions, Questions) könnyen újrahasznosíthatók különböző tesztekben.
  • Skálázhatóság: Nagy és összetett projektekhez ideális.
  • Karbantarthatóság: A UI vagy az alkalmazás logikájában bekövetkező változások gyakran csak a megfelelő alacsony szintű elemek módosítását igénylik.

Példa szerkezet (a Serenity BDD kontextusában, egy népszerű SCREENPLAY megvalósítás):

  • Feladatok: Magas szintű műveletek (pl. "Log in").
  • Interakciók: Alacsony szintű műveletek, amelyek közvetlenül az UI-val lépnek kapcsolatba (pl. "TypeInto", "Click").
  • Kérdések: Információkérések.
  • Oldalak / UI elemek: Lokátorok definíciói az UI elemekhez.
  • Képességek: A szereplők képességei.

A SCREENPLAY javítja az automatizált tesztek szerkezetét és karbantarthatóságát, objektumorientáltabbá és könnyebben olvashatóvá téve azokat.