Taller ofrecido por Abel Quintana López (de Uruguay) durante la 3ra edición del Argentesting 2018
Los patrones de diseño son soluciones probadas y documentadas a problemas comunes en el desarrollo de software. Cuando implementamos nuestros frameworks de pruebas automatizadas los usamos para evitar problemas ya conocidos como el alto costo de mantenimiento de los test, código duplicado y flaky test.
El principal objetivo de este taller es analizar en profundidad el patrón más usado para las automatizaciones con Selenium (PageObject) y mostrar a través de ejercicios prácticos sus ventajas y desventajas en comparación con otra alternativa, el patrón ScreenPlay, que a diferencia del anterior si cumple con principios básicos de la programación orientada a objeto.
Durante este taller veremos como en la práctica la refactorización del patrón PageObject nos lleva a otro patrón de diseño de igual propósito conocido como ScreenPlay Pattern. La comparación entre ambos patrones nos ayudará a determinar si debemos continuar usando PageObject o usar uno u otro según el contexto. El objetivo es mostrar a la audiencia las debilidades que pueden tener sus pruebas automatizadas cuando usan el patrón PageObject y como pueden mejorar sus frameworks de pruebas automatizadas siendo consciente de estas desventajas.
Ademas, se analizara otra alternativa(ScreenPlay Pattern) que puede sustituir el patrón PageObject cumpliendo con los “SOLID principles”.
Requerimientos
No hay máquinas en el aula. Cada asistente debe llevar su propia notebook con: Sistema operativo Window con Visual Studio instalado.
El software con que vamos a estar trabajando es Visual Studio (preferentemente 2017), en este caso no nos serviría Visual Studio Code.
Abel Quintana López
https://www.linkedin.com/in/abel-quintana-lopez-371a31b9/
27. …you extend the behavior of such modules by
adding new code, not by changing old code that
already works.
Robert C. Martin
Page Object – Refactorización
36. ScreenPlay Pattern – Ejercicio Práctico
Automatizar el siguiente caso de prueba:
Adicionar Empleado
37. Page Object vs ScreenPlay Pattern
Page Object ScreenPlay
Simple Complejo
Más propenso a malas prácticas de
programación
Basado en SOLID principles
Con Ambos patrones podemos lograr automatizaciones mantenibles
38. Automatización de Pruebas Exitosa
Buenas prácticas de programaciónPatrones de diseño
https://pixers.fr/papiers-peints/la-route-vers-le-succes-43419281