Creación de Frameworks para Automation:
Las básicas
Edgardo Crovetto
edcrove@gmail.com
NetSuite – Senior Sofware QA Engine...
Definición
• Conceptos
• Plataforma
• Buenas practicas
• Herramientas asociadas
• Librerias de extensión
• Arquitectura
¿Q...
Agenda
• Enfrentarse a un proyecto nuevo
• Proyectos
• Herramientas
• Tipos de automation frameworks
• Segmentando un fram...
Enfrentarse a un proyecto nuevo
• Particularidades del proyecto influyen estrategia de
automation
• Proceso institucionali...
Proyectos
• Tecnología de la AUT/SUT (Application Under Test/Sytem Under Test)
• Ambiente de pruebas
• Complejidad de AUT/...
Herramientas
Teniendo de base la información del proyecto hay que decidir que
herramienta de automation utilizar.
• Open s...
Tipos de automation frameworks
Para diferentes tipos de proyectos puede haber diferentes tipos de
automation frameworks qu...
Tipos de automationframeworks
Data-driventesting
Este tipo de framework tiene como cometido que cada test script reaccione...
Este tipo de framework tiene como cometido que cada test script
corresponda a una minima parte de una transacción o prueba...
Este tipo de framework genera test scripts a través de acciones definidas.
Con esta técnica se pueden generar acciones pre...
La idea es utilizar los frameworks antes mencionados para generar uno
nuevo que tenga lo que el proyecto demanda específic...
• Locators/Selectors fields mapping
• Data Sets
• Test Suites
• Configuración de regresiones
• Organización de pruebas
• L...
En cualquier herramienta para cualquier aplicación siempre está el concepto
de ubicar los fields, campos, objetos de una p...
Especialmente para data-driven frameworks pero para cualquier framework
en general es recomendable que la data de los test...
Tomar en cuenta en un framework los grupos de pruebas que ejecutan solos
y conceptualmente agrupados es fundamental.
Tener...
Usando las test suites definidas, poder definir agrupaciones para poder
configurar regresiones a medida, de forma eficient...
Muchas herramientas ya tienen un output de ejecución que es legible a la
hora de ver el estado de una ejecución.
Si no lo ...
Finalmente tener como principio fundamental el mantenimiento es
importante.
Las pruebas y las aplicaciones cambian y poder...
Control de versiones: mapear las versiones de los scripts de automation con
la versión del software a probar.
Visibilidad ...
Buena documentación, hecha a mano y buena documentación auto
generada.
Contra más conceptual y amena esté la información l...
El tema es extenso y empezar con las básicas es importante.
Frameworks existentes ejemplo
robotframework.org/
fitnesse.org...
¡Muchas Gracias!
Q & A
Edgardo Crovetto
edcrove@gmail.com
NetSuite – Senior Sofware QA EngineerAgosto 2013
Creación de Fra...
Upcoming SlideShare
Loading in …5
×

Creación de Frameworks para Automation: Las básicas (meet up automation UY Agosto 2013)

1,012 views

Published on

Nociones básicas de creación de frameworks para automation desde un punto de vista abstracto y conceptual.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Creación de Frameworks para Automation: Las básicas (meet up automation UY Agosto 2013)

  1. 1. Creación de Frameworks para Automation: Las básicas Edgardo Crovetto edcrove@gmail.com NetSuite – Senior Sofware QA EngineerAgosto 2013
  2. 2. Definición • Conceptos • Plataforma • Buenas practicas • Herramientas asociadas • Librerias de extensión • Arquitectura ¿Qué es un framework? Creación de Frameworks para Automation: Las básicas
  3. 3. Agenda • Enfrentarse a un proyecto nuevo • Proyectos • Herramientas • Tipos de automation frameworks • Segmentando un framework • Lecciones aprendidas • Para seguir investigando Creación de Frameworks para Automation: Las básicas
  4. 4. Enfrentarse a un proyecto nuevo • Particularidades del proyecto influyen estrategia de automation • Proceso institucionalizado a nivel de empresa o proyecto • Framework desde 0, que tener en cuenta Creación de Frameworks para Automation: Las básicas
  5. 5. Proyectos • Tecnología de la AUT/SUT (Application Under Test/Sytem Under Test) • Ambiente de pruebas • Complejidad de AUT/SUT • Presupuesto • Tiempo • ¿Quién va a automatizar? Creación de Frameworks para Automation: Las básicas
  6. 6. Herramientas Teniendo de base la información del proyecto hay que decidir que herramienta de automation utilizar. • Open source o Propietary • Para probar Desktop, mobile o web AUT/SUTs. • Extensible por programación o no. Teniendo en cuenta esto se elige una herramienta que cumpla los requisitos del proyecto. Creación de Frameworks para Automation: Las básicas
  7. 7. Tipos de automation frameworks Para diferentes tipos de proyectos puede haber diferentes tipos de automation frameworks que vayan a medida de estos: • Data-driven testing • Modularity-driven testing • Keyword-driven testing • Hybrid testing Creación de Frameworks para Automation: Las básicas
  8. 8. Tipos de automationframeworks Data-driventesting Este tipo de framework tiene como cometido que cada test script reaccione al data set de entrada y tenga una salida en función de el. O sea que el test script sea suficientemente robusto para soportar diferentes flujos en función del data set ingresado para la ejecución. Un test case en este caso se define como el par data set - test script. Creación de Frameworks para Automation: Las básicas
  9. 9. Este tipo de framework tiene como cometido que cada test script corresponda a una minima parte de una transacción o prueba más grande. La ventaja es mantener partes más chicas para pruebas más grandes. Divide & Conquer. Tipos de automationframeworks Modularity-driventesting Test Script 1 Test Script 2 Test Script n Test Case Creación de Frameworks para Automation: Las básicas
  10. 10. Este tipo de framework genera test scripts a través de acciones definidas. Con esta técnica se pueden generar acciones pre definidas si se desea no utilizar programación y usar personal con un nivel de programación más básico para el armado de pruebas y personal con un nivel más avanzado de programación para la generación de acciones genericas. Ejemplo: Tipos de automationframeworks Keyword-driventesting http://safsdev.sourceforge.net/FRAMESDataDrivenTestAutomationFrameworks.htm Cycle Table: VerifyAuthenticationFunction KEYWORDS (Suite Tables) TABLE PURPOSE VerifyInvalidLogin Tests with Invalid UserID and/or Password VerifyBlankLogin Tests with Missing UserID and/or Password VerifyValidLogin Tests with Valid UserID and Password Creación de Frameworks para Automation: Las básicas
  11. 11. La idea es utilizar los frameworks antes mencionados para generar uno nuevo que tenga lo que el proyecto demanda específicamente a medida. Tipos de automationframeworks Hybrid-driventesting Creación de Frameworks para Automation: Las básicas
  12. 12. • Locators/Selectors fields mapping • Data Sets • Test Suites • Configuración de regresiones • Organización de pruebas • Logs de ejecución • Mantenimiento Segmentando un framework Conceptosatomarencuenta Creación de Frameworks para Automation: Las básicas
  13. 13. En cualquier herramienta para cualquier aplicación siempre está el concepto de ubicar los fields, campos, objetos de una pantalla para el uso de acciones sobre ellos. Un framework debería tomar en cuenta el mapeo de estos teniendo como objetivo la mantenibilidad. Posibles formas de mapeo: • Mapeo que disponga la herramienta • XML, JSON, INI files • Data base Segmentando un framework Locators/Selectorsfieldsmapping Creación de Frameworks para Automation: Las básicas
  14. 14. Especialmente para data-driven frameworks pero para cualquier framework en general es recomendable que la data de los test scripts no quede guardada hard coded dentro. La recomendación es usar algún tipo de mapeo para los datos de prueba que puede estar alineada o no con el mapeo de objetos. Segmentando un framework DataSets Creación de Frameworks para Automation: Las básicas
  15. 15. Tomar en cuenta en un framework los grupos de pruebas que ejecutan solos y conceptualmente agrupados es fundamental. Tener control sobre la agrupación de pruebas para la combinación de estas para hacer regresiones hace más eficiente el proceso de testing. Segmentando un framework TestSuites Creación de Frameworks para Automation: Las básicas
  16. 16. Usando las test suites definidas, poder definir agrupaciones para poder configurar regresiones a medida, de forma eficiente es un factor a tomar en cuenta. Puntos a considerar: • Pruebas distribuidas • Pruebas sincronizadas con ciclos de desarrollo Segmentando un framework Configuraciónderegresiones Creación de Frameworks para Automation: Las básicas
  17. 17. Muchas herramientas ya tienen un output de ejecución que es legible a la hora de ver el estado de una ejecución. Si no lo tiene para crearlo tomar en cuenta estos puntos: • Descripción clara del flujo de prueba • Mapeo de acciones con resultados • Visibilidad clara de posibles anomalías/bugs en las ejecuciones. • Mapeo de bugs conocidos con el reporte ya realizado en la herramienta correspondiente de bug reporting. • Complemento con imágenes de captura en momentos del flujo cruciales y/o errores. • Reducir ruido de información extra irrelevante • Que el propio log de ejecución muestre métricas de la ejecución Segmentando un framework Logsdeejecución Creación de Frameworks para Automation: Las básicas
  18. 18. Finalmente tener como principio fundamental el mantenimiento es importante. Las pruebas y las aplicaciones cambian y poder reaccionar rápidamente a esos cambios hace que las pruebas automatizadas mantengan su vigencia. Enfocarse en que el mantenimiento sea lo más sencillo posible reduce los tiempos de mantenimiento y a mediano largo plazo hace que la carga de trabajo se reduzca (aunque no lo parezca en el corto plazo). Segmentando un framework Mantenimiento Creación de Frameworks para Automation: Las básicas
  19. 19. Control de versiones: mapear las versiones de los scripts de automation con la versión del software a probar. Visibilidad de mapeo de objetos y datos. Crear la arquitectura del framework de forma que mantener no sea un agujero negro, claridad e intiutivo. Lecciones aprendidas Creación de Frameworks para Automation: Las básicas
  20. 20. Buena documentación, hecha a mano y buena documentación auto generada. Contra más conceptual y amena esté la información la curva de aprendizaje se acorta cada vez más. Trabajo en equipo, siempre tratar de evitar el retrabajo buscando colaborar de la forma más eficiente posible. Lecciones aprendidas Creación de Frameworks para Automation: Las básicas
  21. 21. El tema es extenso y empezar con las básicas es importante. Frameworks existentes ejemplo robotframework.org/ fitnesse.org/ Implementación de un framework de ejemplo, dependencias generadas. Diseño e implementación de una arquitectura de automation. Coding standards para el proyecto. Alinear con documentación de testing e integración con herramientas de reporte. Para seguir investigando Creación de Frameworks para Automation: Las básicas
  22. 22. ¡Muchas Gracias! Q & A Edgardo Crovetto edcrove@gmail.com NetSuite – Senior Sofware QA EngineerAgosto 2013 Creación de Frameworks para Automation: Las básicas http://en.wikipedia.org/wiki/Test_automation_framework http://en.wikipedia.org/wiki/Test_automation

×