Sobes.tech
Middle+

Czym jest SCENARIUSZ?

sobes.tech AI

Odpowiedź od AI

SCREENPLAY to architektoniczny wzorzec do testów automatycznych, oparty na zasadach programowania obiektowego i wzorcu zachowania Actor. Skupia się na tym, co robią aktorzy (postacie) w systemie, a nie na tym, jak to robią.

Główne koncepcje:

  • Aktorzy: Reprezentują użytkowników lub systemy wchodzące w interakcję z aplikacją. Posiadają Umiejętności (Abilities) i mogą wykonywać Działania (Actions).
  • Umiejętności: Określają, jak aktor może wchodzić w interakcję z systemem (np. "BrowseTheWeb" do interakcji z przeglądarką).
  • Działania: Opisują zadania, które wykonuje aktor (np. "Login", "AddProductToCart"). Działania mogą być na wysokim poziomie (zadania) lub niskim poziomie (interakcje z UI).
  • Pytania: Pozwalają aktorowi na żądanie informacji o stanie systemu.

Zalety SCREENPLAY:

  • Jasne rozdzielenie ról: Oddziela "kto" (Actor) robi "co" (Action) od "jak" (Ability, Interaction).
  • Wysoka czytelność: Testy są pisane językiem zbliżonym do naturalnego, co ułatwia zrozumienie.
  • Ponowne użycie: Elementy (Abilities, Actions, Questions) są łatwo ponownie wykorzystywane w różnych testach.
  • Skalowalność: Dobrze nadaje się do dużych i złożonych projektów.
  • Łatwość utrzymania: Zmiany w UI lub logice aplikacji często wymagają tylko modyfikacji odpowiednich elementów niskiego poziomu.

Przykład struktury (w kontekście Serenity BDD, popularnej implementacji SCREENPLAY):

  • Zadania: Działania wysokiego poziomu (np. "Log in").
  • Interakcje: Działania niskiego poziomu bezpośrednio interagujące z UI (np. "TypeInto", "Click").
  • Pytania: Zapytania o informacje.
  • Strony / Elementy UI: Definicje lokalizatorów elementów UI.
  • Umiejętności: Umiejętności aktorów.

SCREENPLAY poprawia strukturę i utrzymanie testów automatycznych, czyniąc je bardziej obiektowe i łatwiejsze do czytania.