SlideShare una empresa de Scribd logo
Creación de Frameworks para Automation:
Las básicas
Edgardo Crovetto
edcrove@gmail.com
NetSuite – Senior Sofware QA EngineerAgosto 2013
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
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
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
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
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
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
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
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
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
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
• 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
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
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
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
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
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
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
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
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
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
¡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

Más contenido relacionado

PPTX
Automatizacion De Pruebas De Software
PPTX
Conociendo Nuestro Fua interno
PDF
Pruebas de configuracion
PPTX
Tecnicas de Pruebas
PPTX
Pruebas del software
PDF
Ejemplo pruebas de software
PPTX
Tipos de pruebas de software
PPS
Calidad del software cap3
Automatizacion De Pruebas De Software
Conociendo Nuestro Fua interno
Pruebas de configuracion
Tecnicas de Pruebas
Pruebas del software
Ejemplo pruebas de software
Tipos de pruebas de software
Calidad del software cap3

La actualidad más candente (20)

PPTX
Patrones diseño y arquitectura
PPT
Pruebas de Software
PPTX
Pruebas Automatizadas
PPT
Modelo Descrptivos Del Proceso Del Sofware
PPTX
Diseño caso de pruebas
PPTX
Desarrollo de software basado en componentes
PDF
Tipos de pruebas de software
PPTX
Pruebas funcionales
PPTX
Tipos de prueba de software
PDF
Las mejores herramientas para realizar pruebas de software
PDF
tipos de pruebas.
PPTX
Taller casos de prueba
PPT
Atributos de calidad en el desarrollo de software
PPTX
Pruebas automaticas
DOCX
Pruebas de sistemas y aceptacion
PPTX
MODELOS DE SISTEMAS DE SOFTWARE
PPTX
Modelos concurrentes
PPT
Pruebas De Software
PPTX
Modelos de desarrollo de un software
Patrones diseño y arquitectura
Pruebas de Software
Pruebas Automatizadas
Modelo Descrptivos Del Proceso Del Sofware
Diseño caso de pruebas
Desarrollo de software basado en componentes
Tipos de pruebas de software
Pruebas funcionales
Tipos de prueba de software
Las mejores herramientas para realizar pruebas de software
tipos de pruebas.
Taller casos de prueba
Atributos de calidad en el desarrollo de software
Pruebas automaticas
Pruebas de sistemas y aceptacion
MODELOS DE SISTEMAS DE SOFTWARE
Modelos concurrentes
Pruebas De Software
Modelos de desarrollo de un software
Publicidad

Destacado (11)

PPTX
Lenguajes de programación y framework más utilizados por alumnos de la carre...
PPTX
Testing con selenium
PPTX
IDEs y Frameworks mas utilizados
PPTX
Selenium
PPTX
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
KEY
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
PPTX
Automatización de pruebas funcionales
PPTX
Test Automation .NET
PPTX
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
PPT
Usando Selenium Con Firefox E Ie
Lenguajes de programación y framework más utilizados por alumnos de la carre...
Testing con selenium
IDEs y Frameworks mas utilizados
Selenium
SEMINARIO WEB - El ABC del Test Automation: ¿Qué, por qué, cuando y cómo?
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Automatización de pruebas funcionales
Test Automation .NET
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Usando Selenium Con Firefox E Ie
Publicidad

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

PPT
Insight Brou 2009 11 Encuentro Usr Rational Gur07
PDF
TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation
PPTX
Curso de automatización de pruebas
PDF
Framework para desarrollo de apps móviles
PDF
Clase 09c seleccion
PPT
Reingsys framework v04_completo_new
PDF
Yupp PHP Framework
PPTX
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
PPTX
Frameworks para el desarrollo de software.pptx
PDF
Software en la actualidad
PDF
Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...
PDF
Re evolución robótica
PPTX
Zend Framework2
 
PPTX
GA9-220501096-AA1-2.pptx adso planeacion
PPTX
Framework
PDF
Clase 09a frameworks
PPTX
PPTX
Framework
PPT
Nuevas tecnologías reingsys 31_3_09
PPT
Java Script Frame Works
Insight Brou 2009 11 Encuentro Usr Rational Gur07
TestingAR VII - Siete Magníficos - Pablo Soifer - El abc del test automation
Curso de automatización de pruebas
Framework para desarrollo de apps móviles
Clase 09c seleccion
Reingsys framework v04_completo_new
Yupp PHP Framework
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Frameworks para el desarrollo de software.pptx
Software en la actualidad
Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...
Re evolución robótica
Zend Framework2
 
GA9-220501096-AA1-2.pptx adso planeacion
Framework
Clase 09a frameworks
Framework
Nuevas tecnologías reingsys 31_3_09
Java Script Frame Works

Último (20)

PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
Calidad desde el Docente y la mejora continua .pdf
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPT
Que son las redes de computadores y sus partes
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
Diapositiva proyecto de vida, materia catedra
PDF
taller de informática - LEY DE OHM
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
CyberOps Associate - Cisco Networking Academy
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
Calidad desde el Docente y la mejora continua .pdf
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Que son las redes de computadores y sus partes
Estrategia de apoyo tecnología grado 9-3
SAP Transportation Management para LSP, TM140 Col18
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Propuesta BKP servidores con Acronis1.pptx
Estrategia de apoyo tecnología miguel angel solis
Presentación PASANTIAS AuditorioOO..pptx
REDES INFORMATICAS REDES INFORMATICAS.pptx
Diapositiva proyecto de vida, materia catedra
taller de informática - LEY DE OHM
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
CyberOps Associate - Cisco Networking Academy
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
historia_web de la creacion de un navegador_presentacion.pptx
Power Point Nicolás Carrasco (disertación Roblox).pptx

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

  • 1. Creación de Frameworks para Automation: Las básicas Edgardo Crovetto edcrove@gmail.com NetSuite – Senior Sofware QA EngineerAgosto 2013
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. ¡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