Middle+
¿Qué es un GUION?
sobes.tech AI
Respuesta de la IA
SCREENPLAY es una plantilla arquitectónica para pruebas automatizadas, basada en los principios de la programación orientada a objetos y en el patrón de comportamiento Actor. Se centra en lo que hacen los actores (personajes) en el sistema, y no en cómo lo hacen.
Conceptos principales:
- Actores: Representan a los usuarios o sistemas que interactúan con la aplicación. Poseen Habilidades (Abilities) y pueden realizar Acciones (Actions).
- Habilidades: Definen cómo el actor puede interactuar con el sistema (por ejemplo, "BrowseTheWeb" para interactuar con el navegador).
- Acciones: Describen las tareas que realiza el actor (por ejemplo, "Login", "AddProductToCart"). Las acciones pueden ser de alto nivel (tareas) o de bajo nivel (interacciones con UI).
- Preguntas: Permiten al actor solicitar información sobre el estado del sistema.
Ventajas de SCREENPLAY:
- Claridad en la separación de roles: Distingue quién (Actor) hace qué (Action) de cómo (Ability, Interaction).
- Alta legibilidad: Las pruebas están escritas en un lenguaje cercano al natural, lo que facilita su comprensión.
- Reutilización: Los elementos (Abilities, Actions, Questions) son fácilmente reutilizables en diferentes pruebas.
- Escalabilidad: Adecuado para proyectos grandes y complejos.
- Mantenibilidad: Los cambios en la UI o en la lógica de la aplicación suelen requerir modificaciones solo en los elementos de bajo nivel correspondientes.
Ejemplo de estructura (en el contexto de Serenity BDD, una implementación popular de SCREENPLAY):
- Tareas: Acciones de alto nivel (por ejemplo, "Log in").
- Interacciones: Acciones de bajo nivel que interactúan directamente con la UI (por ejemplo, "TypeInto", "Click").
- Preguntas: Solicitudes de información.
- Páginas / Elementos UI: Definiciones de localizadores para elementos UI.
- Habilidades: Habilidades de los actores.
SCREENPLAY mejora la estructura y mantenibilidad de las pruebas automatizadas, haciéndolas más orientadas a los objetos y fáciles de leer.