SlideShare une entreprise Scribd logo
1  sur  41
AUTOMATIZACIÓN DE
         PRUEBAS
     FUNCIONALES
VICENÇ GARCÍA ALTÉS

• Development Advisor en PlainConcepts
• Professional Scrum Developer y Certified Scrum Master
• Microsoft Certified Professional


     vigarcia@plainconcepts.com

    @vgaltes

    www.plainconcepts.com

    geeks.ms/blogs/devnettips
TESTEO FUNCIONAL

Definición:
  – Asegura que el software desarrollado está haciendo
    para lo que fue concebido, que cumple los
    requerimientos.


No deben ser nuestros únicos tests.
LA PIRÁMIDE INVERTIDA
LA PIRÁMIDE INVERTIDA

La base de la pirámide está construida por tests de
interfaz de usuario
  – Frágiles
  – Complejos
  – Lentos
LA PIRÁMIDE INVERTIDA

• Mantener muchos tests “end-to-end” es duro:
  – Tardan en ejecutarse
  – Pueden necesitar muchos recursos
  – Hay caminos difíciles de testear
  – Cuando fallan, no sabemos exactamente donde o
    porqué lo han hecho
  – Están más acoplados con el entorno y tienen
    dependencias externas
  – Desde un punto de vista de refactorización, no dan la
    misma sensación de seguridad que los tests unitarios
INVIRTIENDO LA PIRÁMIDE
AUTOMATIZACIÓN

• La repetición de los tests (de cualquier tipo) es
  necesaria ya que elimina regresiones.
• Con la automatización eliminamos el desperdicio
  asociado a la repetición.
AUTOMATIZACIÓN

• La automatización es muy difícil
  – Requiere disciplina
     • Es muy tentador no escribir tests
     • Es muy tentador ver los tests como desperdicio
     • Les tests no son algo intuitivo
  – Requiere vigilancia
     • Alguien tiene que observar los resultados en rojo
     • Alguien tiene que reparar los ‘cristales rotos’
     • Alguien tiene que evitar que la ‘tensión’ decline
¿DÓNDE SON BUENOS LOS TESTS DE UI
AUTOMATIZADOS?
Suite de regresión automatizada
Suite de regresión automatizada

• Automatizar pruebas manuales que hayan pasado
  con éxito
• Convertir una grabación de Test Manager en
  Coded UI y añadirle aserciones.
Suite de regresión automatizada

• Cuidado!
  – No tomar como sustituto de otras pruebas
  – No invertir la pirámide
Pruebas de regresión automatizadas de bugs
Pruebas de regresión automatizadas de bugs

• Al resolver un bug se crea una prueba
  automatizada que se lanza en una build para
  asegurarse que no vuelve a aparecer
• Sobretodo útil en entornos “brownfield”
Pruebas de la GUI
Pruebas de humo automatizadas
Pruebas de humo automatizadas

• Una prueba de humo comprueba que unas
  cuantas interacciones clave con el sistema se
  hacen bien justo después de un despliegue.
• Si se automatizan es mucho más rápido, cómodo y
  menos propenso a errores
Refactorizando
Refactorizando

• Rescribiendo una parte del sistema que se tenga
  que seguir comportando externamente igual.
• Podemos cubrirlo de pruebas de GUI y ponerlas en
  una build para refactorizar con más seguridad.
• No es substituto de pruebas unitarias.
• Útil en desarrollo brownfield.
¿CUANDO NO ES BUENO?
¿CUANDIO NO ES BUENO?

• Para substituir otro tipo de pruebas que no se
  hacen por pereza o porque son complicadas.
  – Mejor pensar en como puedo poner pruebas unitarias
• Si la GUI está en continuo cambio
  – Prototipando
  – Metiendo mucha funcionalidad nueva que afecta a la
    GUI
PLANIFICAR LA AUTOMATIZACIÓN
Identificación de casos

• Los identificaremos marcándo el Automation
  Status como planned en el MTM.
• Los escenarios comunes los pondremos como
  shared steps en el MTM.
• El orden lo marcamos con el campo order.
Prueba de concepto

• Hay que asegurarse que los tests seleccionados
  están soportados por Coded UI
• Pueden haber controles personalizados que no lo
  estén y que hacerlos automatizables sea muy
  costoso.
DEMO
Recomendaciones

• Utilizar múltiples mapas de UI
  – Cada mapa se puede asociar con una parte lógica de la
    aplicación
  – Cada tester puede trabajar en una sección de la
    aplicación sin interferir en el trabajo de los demás.
  – Los añadidos a la UI se pueden escalar
    incrementalmente con efectos mínimos en los otros
    tests.
Recomendaciones

• Extraer las funcionalidades comunes de los mapas
  UI a librerías comunes.
Recomendaciones

• Utilizar sincronización de objetos antes que
  wait/sleep estáticos
  – Asegurarse que tenemos puntos de sincronización que
    esperan que el objeto exista/esté disponible/esté
    activado/etc antes de realizar una operación crítica
     • WaitForControlReady(),WaitForControlExist()
  – Preferir la sincronización anterior antes que
    Playback.Wait() y antes que Thread.Sleep()
Recomendaciones

• Tratamiento de errores
  – Asegurarse que utilizamos captura de excepciones en
    todos los métodos de test
Recomendaciones

• Logging
  – Asegurarse que logueamos mensajes importantes
  – Console.WriteLine y Console.Error.WriteLine
     • Se redirijen al StandardOutput y al StandardError.
     • Se recomienda no utilizarlos
Recomendaciones

 – Trace.WriteLine
    • Se muestra en la pantalla de Output de VS durante la fase de
      depuración, con lo que se puede perder entre los otros
      mensajes que se muestran.
    • Se recomienda utilizarlo en código de producción, pero no de
      test.
 – Debug.WriteLine
    • Lo mismo que el anterior, pero solo en compilaciones Debug
Recomendaciones

 – TestContext.WriteLine
    • Se muestra en una sección a parte en el resultado de los
      tests.
    • La desventaja es que tenemos que pasar el TestContext allí
      donde queramos loguear.
    • Para los proyectos de test, es la solución preferida.
Recomendaciones

• Utilizar scripts de inicio y fin
   – [TestInitialize] y [TestCleanup]
   – [ClassInitialize] y [ClassCleanup]
   – [AssemblyInitialize] y [AssemblyCleanup]
DEMO
Do’s and Don’ts of UI Automation

• Do(s)
  – Cada método grabado tiene que actuar sobre una
    página, formulario, dialog box, etc.
  – Utilizar el Coded UI Test Builder siempre que sea
    posible.
  – Poner el foco explícitamente en la ventana donde el
    test va a introducir datos.
  – Cuando sea posible, limitar cada método grabado a
    pocas acciones, a poder ser a una.
Do’s and Don’ts of UI Automation

 – Crear un UIMap para cada modulo de nuestra
   aplicación e incluso para cada página.
 – Si estamos creando aserciones crear un método por
   cada aserción en el fichero UIMap.cs
 – Capturar screenshots en los fallos.
 – Dejar la UI en un estado conocido cuando un test ha
   terminado.
 – Loguear antes de hacer algo, no después (o ambas)
Do’s and Don’ts of UI Automation

 – Loguear el origen del mensaje (framework, código de
   producción, test).
 – Loguear cada operación válida realizada por el test
 – Utilizar tests dirigidos por datos siempre que se pueda
 – Refactorizar siempre que sea posible
Do’s and Don’ts of UI Automation

• Don’t(s)
  – No modificar el fichero UIMap.designer.cs
    directamente. Los cambios se perderían.
  – No hacer un sleep después de cada operación de UI
  – No lanzar la aplicación cada vez que se ejecuta un test
    porque se gasta mucho tiempo.
  – No hardcodear strings en los tests. Esto incluye
    ID’s, rutas, etc.
DEMO
MUCHAS GRACIAS




 vigarcia@plainconcepts.com

 @vgaltes

 www.plainconcepts.com

 geeks.ms/blogs/devnettips

Contenu connexe

Tendances

Mejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicacionesMejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicacionesSoftware Guru
 
Testing en aplicaciones móviles iOS, Android
Testing en aplicaciones móviles iOS, AndroidTesting en aplicaciones móviles iOS, Android
Testing en aplicaciones móviles iOS, AndroidSlashMobility.com
 
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta
 
Mejores prácticas para testing de apps móviles
Mejores prácticas para testing de apps móvilesMejores prácticas para testing de apps móviles
Mejores prácticas para testing de apps móvilesSoftware Guru
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de softwareGuillermo Lemus
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.Juan Ravi
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas.. ..
 
Pruebas de aplicaciones web
Pruebas de aplicaciones webPruebas de aplicaciones web
Pruebas de aplicaciones webpaulinaaillon
 
PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB YULIANA JIMENEZ
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurancewill2294
 
Gestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareGestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareLaura M. Castro
 

Tendances (20)

Mejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicacionesMejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicaciones
 
Calidad del software cap3
Calidad del software   cap3Calidad del software   cap3
Calidad del software cap3
 
Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
 
Testing en aplicaciones móviles iOS, Android
Testing en aplicaciones móviles iOS, AndroidTesting en aplicaciones móviles iOS, Android
Testing en aplicaciones móviles iOS, Android
 
Test unitarios
Test unitariosTest unitarios
Test unitarios
 
Las mejores herramientas para realizar pruebas de software
Las mejores herramientas para realizar pruebas de softwareLas mejores herramientas para realizar pruebas de software
Las mejores herramientas para realizar pruebas de software
 
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
Abstracta-CDA - TESTING: Automatización y Performance - Herramientas para opt...
 
Mejores prácticas para testing de apps móviles
Mejores prácticas para testing de apps móvilesMejores prácticas para testing de apps móviles
Mejores prácticas para testing de apps móviles
 
Pruebas de Software
Pruebas de SoftwarePruebas de Software
Pruebas de Software
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.
 
Desarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por PruebasDesarrollo de Software Guiado por Pruebas
Desarrollo de Software Guiado por Pruebas
 
Calidad del software cap2
Calidad del software   cap2Calidad del software   cap2
Calidad del software cap2
 
Pruebas de aplicaciones web
Pruebas de aplicaciones webPruebas de aplicaciones web
Pruebas de aplicaciones web
 
PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Testing - Ing. Gabriela Muñoz
Testing - Ing. Gabriela MuñozTesting - Ing. Gabriela Muñoz
Testing - Ing. Gabriela Muñoz
 
Pruebas del software
Pruebas del softwarePruebas del software
Pruebas del software
 
Pruebas funcionales
Pruebas funcionalesPruebas funcionales
Pruebas funcionales
 
Gestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareGestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo software
 

En vedette

Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverDavid Gómez García
 
Automatizacion De Pruebas De Software
Automatizacion De Pruebas De SoftwareAutomatizacion De Pruebas De Software
Automatizacion De Pruebas De SoftwareRubiano
 
Testing automatizado de aplicaciones web
Testing automatizado de aplicaciones webTesting automatizado de aplicaciones web
Testing automatizado de aplicaciones webAnibal Guzmán Miranda
 
Niveles de la automatización, factores que la hacen destacar
Niveles de la automatización, factores que la hacen destacarNiveles de la automatización, factores que la hacen destacar
Niveles de la automatización, factores que la hacen destacarMartha Karen
 
Uvm organizacion clase 2
Uvm organizacion clase 2Uvm organizacion clase 2
Uvm organizacion clase 2Aramir14
 
Automatizacion de pruebas de software
Automatizacion de pruebas de softwareAutomatizacion de pruebas de software
Automatizacion de pruebas de softwareDavid Thomas
 
Taller cultura de calidad chimbote final
Taller cultura de calidad   chimbote finalTaller cultura de calidad   chimbote final
Taller cultura de calidad chimbote finalJorge Salas Ruiz
 
Presentación corporativa testhouse consultores - v 3.9.1
Presentación corporativa   testhouse consultores - v 3.9.1Presentación corporativa   testhouse consultores - v 3.9.1
Presentación corporativa testhouse consultores - v 3.9.1Testhouse
 
Automatización para todos los presupuestos - Sebastián Grattarola
Automatización para todos los presupuestos - Sebastián GrattarolaAutomatización para todos los presupuestos - Sebastián Grattarola
Automatización para todos los presupuestos - Sebastián GrattarolaGeneXus
 
Build and test all, lo nuevo de GXtest para Desarrolladores
Build and test all, lo nuevo de GXtest para DesarrolladoresBuild and test all, lo nuevo de GXtest para Desarrolladores
Build and test all, lo nuevo de GXtest para DesarrolladoresAbstracta
 
GX23 - GXtest 2.0: Automatización de pruebas para la nueva generación de apl...
GX23 - 	GXtest 2.0: Automatización de pruebas para la nueva generación de apl...GX23 - 	GXtest 2.0: Automatización de pruebas para la nueva generación de apl...
GX23 - GXtest 2.0: Automatización de pruebas para la nueva generación de apl...Abstracta
 
Testing automatizado, ¿qué futuro me espera? - Gonzalo Mancebo
Testing automatizado, ¿qué futuro me espera? - Gonzalo ManceboTesting automatizado, ¿qué futuro me espera? - Gonzalo Mancebo
Testing automatizado, ¿qué futuro me espera? - Gonzalo ManceboGeneXus
 
Gestión de proyectos guiada por los beneficios
Gestión de proyectos guiada por los beneficiosGestión de proyectos guiada por los beneficios
Gestión de proyectos guiada por los beneficiosGeneXus
 
¡Esta prueba tiene que automatizarse!
¡Esta prueba tiene que automatizarse!¡Esta prueba tiene que automatizarse!
¡Esta prueba tiene que automatizarse!GeneXus
 
El Juego De Los Colores
El Juego De Los ColoresEl Juego De Los Colores
El Juego De Los Coloresmaveir
 
Creación de Frameworks para Automation: Las básicas (meet up automation UY Ag...
Creación de Frameworks para Automation: Las básicas (meet up automation UY Ag...Creación de Frameworks para Automation: Las básicas (meet up automation UY Ag...
Creación de Frameworks para Automation: Las básicas (meet up automation UY Ag...Edgardo Crovetto
 
La micea en la universidad cooperativa de colombia
La micea en la universidad cooperativa de colombiaLa micea en la universidad cooperativa de colombia
La micea en la universidad cooperativa de colombiajohnmario2501
 
15 16 keynote transición-desarrollador_líder
15 16 keynote transición-desarrollador_líder15 16 keynote transición-desarrollador_líder
15 16 keynote transición-desarrollador_líderSoftware Guru
 
Web driver selenium simplified
Web driver selenium simplifiedWeb driver selenium simplified
Web driver selenium simplifiedVikas Singh
 

En vedette (20)

Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
 
Automatizacion De Pruebas De Software
Automatizacion De Pruebas De SoftwareAutomatizacion De Pruebas De Software
Automatizacion De Pruebas De Software
 
Testing automatizado de aplicaciones web
Testing automatizado de aplicaciones webTesting automatizado de aplicaciones web
Testing automatizado de aplicaciones web
 
Niveles de la automatización, factores que la hacen destacar
Niveles de la automatización, factores que la hacen destacarNiveles de la automatización, factores que la hacen destacar
Niveles de la automatización, factores que la hacen destacar
 
Uvm organizacion clase 2
Uvm organizacion clase 2Uvm organizacion clase 2
Uvm organizacion clase 2
 
Automatizacion de pruebas de software
Automatizacion de pruebas de softwareAutomatizacion de pruebas de software
Automatizacion de pruebas de software
 
Taller cultura de calidad chimbote final
Taller cultura de calidad   chimbote finalTaller cultura de calidad   chimbote final
Taller cultura de calidad chimbote final
 
Presentación corporativa testhouse consultores - v 3.9.1
Presentación corporativa   testhouse consultores - v 3.9.1Presentación corporativa   testhouse consultores - v 3.9.1
Presentación corporativa testhouse consultores - v 3.9.1
 
Automatización para todos los presupuestos - Sebastián Grattarola
Automatización para todos los presupuestos - Sebastián GrattarolaAutomatización para todos los presupuestos - Sebastián Grattarola
Automatización para todos los presupuestos - Sebastián Grattarola
 
Build and test all, lo nuevo de GXtest para Desarrolladores
Build and test all, lo nuevo de GXtest para DesarrolladoresBuild and test all, lo nuevo de GXtest para Desarrolladores
Build and test all, lo nuevo de GXtest para Desarrolladores
 
GX23 - GXtest 2.0: Automatización de pruebas para la nueva generación de apl...
GX23 - 	GXtest 2.0: Automatización de pruebas para la nueva generación de apl...GX23 - 	GXtest 2.0: Automatización de pruebas para la nueva generación de apl...
GX23 - GXtest 2.0: Automatización de pruebas para la nueva generación de apl...
 
Testing automatizado, ¿qué futuro me espera? - Gonzalo Mancebo
Testing automatizado, ¿qué futuro me espera? - Gonzalo ManceboTesting automatizado, ¿qué futuro me espera? - Gonzalo Mancebo
Testing automatizado, ¿qué futuro me espera? - Gonzalo Mancebo
 
Gestión de proyectos guiada por los beneficios
Gestión de proyectos guiada por los beneficiosGestión de proyectos guiada por los beneficios
Gestión de proyectos guiada por los beneficios
 
¡Esta prueba tiene que automatizarse!
¡Esta prueba tiene que automatizarse!¡Esta prueba tiene que automatizarse!
¡Esta prueba tiene que automatizarse!
 
El Juego De Los Colores
El Juego De Los ColoresEl Juego De Los Colores
El Juego De Los Colores
 
Prueba yamarie
Prueba yamariePrueba yamarie
Prueba yamarie
 
Creación de Frameworks para Automation: Las básicas (meet up automation UY Ag...
Creación de Frameworks para Automation: Las básicas (meet up automation UY Ag...Creación de Frameworks para Automation: Las básicas (meet up automation UY Ag...
Creación de Frameworks para Automation: Las básicas (meet up automation UY Ag...
 
La micea en la universidad cooperativa de colombia
La micea en la universidad cooperativa de colombiaLa micea en la universidad cooperativa de colombia
La micea en la universidad cooperativa de colombia
 
15 16 keynote transición-desarrollador_líder
15 16 keynote transición-desarrollador_líder15 16 keynote transición-desarrollador_líder
15 16 keynote transición-desarrollador_líder
 
Web driver selenium simplified
Web driver selenium simplifiedWeb driver selenium simplified
Web driver selenium simplified
 

Similaire à Automatización de pruebas funcionales

Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumSoftware Guru
 
Ingeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesIngeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesRodrigo Corral
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
 
Introducción a testing en php
Introducción a testing en phpIntroducción a testing en php
Introducción a testing en phpIsmael Ambrosi
 
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLuis Fernando Aguas Bucheli
 
Pruebas unitarias 7mo -b
Pruebas unitarias   7mo -bPruebas unitarias   7mo -b
Pruebas unitarias 7mo -bJairoSimbaa
 
Cómo trabajamos en Plastic SCM
Cómo trabajamos en Plastic SCMCómo trabajamos en Plastic SCM
Cómo trabajamos en Plastic SCM233 Grados de TI
 
Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8Jose Luis Soria
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
 
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010Globe Testing
 
Buenos Aires Meetup - Lifecycle Tools
Buenos Aires Meetup - Lifecycle ToolsBuenos Aires Meetup - Lifecycle Tools
Buenos Aires Meetup - Lifecycle ToolsFlorenciaCattelani
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria
 
SecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de desplieguesSecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de desplieguesJose Luis Soria
 
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...TestingAR Meetup
 
Modelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QAModelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QAMkt Manager Data Adviser
 
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalCasper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalDavid Gil Sánchez
 
Destino la Nube 2012 - ALM para Azure
Destino la Nube 2012 - ALM para AzureDestino la Nube 2012 - ALM para Azure
Destino la Nube 2012 - ALM para AzureJose Luis Soria
 

Similaire à Automatización de pruebas funcionales (20)

Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de Selenium
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2ASP.NET MVC Workshop Día 2
ASP.NET MVC Workshop Día 2
 
Automatizacion de Pruebas
Automatizacion de PruebasAutomatizacion de Pruebas
Automatizacion de Pruebas
 
Ingeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesIngeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágiles
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe... Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
 
Introducción a testing en php
Introducción a testing en phpIntroducción a testing en php
Introducción a testing en php
 
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animaciónLenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
Lenguajes de Programación: Hilos, Ciclos de Vida, sincronización, animación
 
Pruebas unitarias 7mo -b
Pruebas unitarias   7mo -bPruebas unitarias   7mo -b
Pruebas unitarias 7mo -b
 
Cómo trabajamos en Plastic SCM
Cómo trabajamos en Plastic SCMCómo trabajamos en Plastic SCM
Cómo trabajamos en Plastic SCM
 
Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
 
Buenos Aires Meetup - Lifecycle Tools
Buenos Aires Meetup - Lifecycle ToolsBuenos Aires Meetup - Lifecycle Tools
Buenos Aires Meetup - Lifecycle Tools
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
 
SecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de desplieguesSecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de despliegues
 
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
TestingAR V - Una Nueva Visión - Nicolas Arkhipenko - Estrategias y Controve...
 
Modelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QAModelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QA
 
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalCasper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end Drupal
 
Destino la Nube 2012 - ALM para Azure
Destino la Nube 2012 - ALM para AzureDestino la Nube 2012 - ALM para Azure
Destino la Nube 2012 - ALM para Azure
 

Plus de Vicenç García-Altés

Architecture, architects and other mythological creatures
Architecture, architects and other mythological creaturesArchitecture, architects and other mythological creatures
Architecture, architects and other mythological creaturesVicenç García-Altés
 
Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.
Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.
Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.Vicenç García-Altés
 
Plain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente espera
Plain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente esperaPlain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente espera
Plain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente esperaVicenç García-Altés
 
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equiposPlain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equiposVicenç García-Altés
 
Especificaciones ejecutables, acercando negocio y desarrollo
Especificaciones ejecutables, acercando negocio y desarrolloEspecificaciones ejecutables, acercando negocio y desarrollo
Especificaciones ejecutables, acercando negocio y desarrolloVicenç García-Altés
 
Retrospective’s retrospective (extended version)
Retrospective’s retrospective (extended version)Retrospective’s retrospective (extended version)
Retrospective’s retrospective (extended version)Vicenç García-Altés
 
Lo que nadie te va a contar sobre Scrum
Lo que nadie te va a contar sobre ScrumLo que nadie te va a contar sobre Scrum
Lo que nadie te va a contar sobre ScrumVicenç García-Altés
 
Construcciones automatizadas multiplataforma con TFS2010
Construcciones automatizadas multiplataforma con TFS2010Construcciones automatizadas multiplataforma con TFS2010
Construcciones automatizadas multiplataforma con TFS2010Vicenç García-Altés
 

Plus de Vicenç García-Altés (15)

Operational Serverless
Operational ServerlessOperational Serverless
Operational Serverless
 
Architecture, architects and other mythological creatures
Architecture, architects and other mythological creaturesArchitecture, architects and other mythological creatures
Architecture, architects and other mythological creatures
 
Elm 101
Elm 101Elm 101
Elm 101
 
Your code as a crime scene
Your code as a crime sceneYour code as a crime scene
Your code as a crime scene
 
Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.
Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.
Gestión del ciclo de vida de aplicaciones Web. Continuous deployment.
 
Owin, katana y WebAPI
Owin, katana y WebAPIOwin, katana y WebAPI
Owin, katana y WebAPI
 
Bdd beyond testing
Bdd beyond testingBdd beyond testing
Bdd beyond testing
 
Novedades Visual Studio 2013
Novedades Visual Studio 2013Novedades Visual Studio 2013
Novedades Visual Studio 2013
 
Plain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente espera
Plain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente esperaPlain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente espera
Plain Concepts ALM Tour 2013 - Estamos construyendo lo que el cliente espera
 
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equiposPlain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
Plain Concepts ALM Tour 2013 - Maximizando la productividad de nuestros equipos
 
Especificaciones ejecutables, acercando negocio y desarrollo
Especificaciones ejecutables, acercando negocio y desarrolloEspecificaciones ejecutables, acercando negocio y desarrollo
Especificaciones ejecutables, acercando negocio y desarrollo
 
Retrospective’s retrospective (extended version)
Retrospective’s retrospective (extended version)Retrospective’s retrospective (extended version)
Retrospective’s retrospective (extended version)
 
Lo que nadie te va a contar sobre Scrum
Lo que nadie te va a contar sobre ScrumLo que nadie te va a contar sobre Scrum
Lo que nadie te va a contar sobre Scrum
 
Agile Inception
Agile InceptionAgile Inception
Agile Inception
 
Construcciones automatizadas multiplataforma con TFS2010
Construcciones automatizadas multiplataforma con TFS2010Construcciones automatizadas multiplataforma con TFS2010
Construcciones automatizadas multiplataforma con TFS2010
 

Dernier

Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 

Dernier (20)

Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 

Automatización de pruebas funcionales

  • 1. AUTOMATIZACIÓN DE PRUEBAS FUNCIONALES
  • 2. VICENÇ GARCÍA ALTÉS • Development Advisor en PlainConcepts • Professional Scrum Developer y Certified Scrum Master • Microsoft Certified Professional vigarcia@plainconcepts.com @vgaltes www.plainconcepts.com geeks.ms/blogs/devnettips
  • 3. TESTEO FUNCIONAL Definición: – Asegura que el software desarrollado está haciendo para lo que fue concebido, que cumple los requerimientos. No deben ser nuestros únicos tests.
  • 5. LA PIRÁMIDE INVERTIDA La base de la pirámide está construida por tests de interfaz de usuario – Frágiles – Complejos – Lentos
  • 6. LA PIRÁMIDE INVERTIDA • Mantener muchos tests “end-to-end” es duro: – Tardan en ejecutarse – Pueden necesitar muchos recursos – Hay caminos difíciles de testear – Cuando fallan, no sabemos exactamente donde o porqué lo han hecho – Están más acoplados con el entorno y tienen dependencias externas – Desde un punto de vista de refactorización, no dan la misma sensación de seguridad que los tests unitarios
  • 8. AUTOMATIZACIÓN • La repetición de los tests (de cualquier tipo) es necesaria ya que elimina regresiones. • Con la automatización eliminamos el desperdicio asociado a la repetición.
  • 9. AUTOMATIZACIÓN • La automatización es muy difícil – Requiere disciplina • Es muy tentador no escribir tests • Es muy tentador ver los tests como desperdicio • Les tests no son algo intuitivo – Requiere vigilancia • Alguien tiene que observar los resultados en rojo • Alguien tiene que reparar los ‘cristales rotos’ • Alguien tiene que evitar que la ‘tensión’ decline
  • 10. ¿DÓNDE SON BUENOS LOS TESTS DE UI AUTOMATIZADOS?
  • 11. Suite de regresión automatizada
  • 12. Suite de regresión automatizada • Automatizar pruebas manuales que hayan pasado con éxito • Convertir una grabación de Test Manager en Coded UI y añadirle aserciones.
  • 13. Suite de regresión automatizada • Cuidado! – No tomar como sustituto de otras pruebas – No invertir la pirámide
  • 14. Pruebas de regresión automatizadas de bugs
  • 15. Pruebas de regresión automatizadas de bugs • Al resolver un bug se crea una prueba automatizada que se lanza en una build para asegurarse que no vuelve a aparecer • Sobretodo útil en entornos “brownfield”
  • 17. Pruebas de humo automatizadas
  • 18. Pruebas de humo automatizadas • Una prueba de humo comprueba que unas cuantas interacciones clave con el sistema se hacen bien justo después de un despliegue. • Si se automatizan es mucho más rápido, cómodo y menos propenso a errores
  • 20. Refactorizando • Rescribiendo una parte del sistema que se tenga que seguir comportando externamente igual. • Podemos cubrirlo de pruebas de GUI y ponerlas en una build para refactorizar con más seguridad. • No es substituto de pruebas unitarias. • Útil en desarrollo brownfield.
  • 21. ¿CUANDO NO ES BUENO?
  • 22. ¿CUANDIO NO ES BUENO? • Para substituir otro tipo de pruebas que no se hacen por pereza o porque son complicadas. – Mejor pensar en como puedo poner pruebas unitarias • Si la GUI está en continuo cambio – Prototipando – Metiendo mucha funcionalidad nueva que afecta a la GUI
  • 24. Identificación de casos • Los identificaremos marcándo el Automation Status como planned en el MTM. • Los escenarios comunes los pondremos como shared steps en el MTM. • El orden lo marcamos con el campo order.
  • 25. Prueba de concepto • Hay que asegurarse que los tests seleccionados están soportados por Coded UI • Pueden haber controles personalizados que no lo estén y que hacerlos automatizables sea muy costoso.
  • 26. DEMO
  • 27. Recomendaciones • Utilizar múltiples mapas de UI – Cada mapa se puede asociar con una parte lógica de la aplicación – Cada tester puede trabajar en una sección de la aplicación sin interferir en el trabajo de los demás. – Los añadidos a la UI se pueden escalar incrementalmente con efectos mínimos en los otros tests.
  • 28. Recomendaciones • Extraer las funcionalidades comunes de los mapas UI a librerías comunes.
  • 29. Recomendaciones • Utilizar sincronización de objetos antes que wait/sleep estáticos – Asegurarse que tenemos puntos de sincronización que esperan que el objeto exista/esté disponible/esté activado/etc antes de realizar una operación crítica • WaitForControlReady(),WaitForControlExist() – Preferir la sincronización anterior antes que Playback.Wait() y antes que Thread.Sleep()
  • 30. Recomendaciones • Tratamiento de errores – Asegurarse que utilizamos captura de excepciones en todos los métodos de test
  • 31. Recomendaciones • Logging – Asegurarse que logueamos mensajes importantes – Console.WriteLine y Console.Error.WriteLine • Se redirijen al StandardOutput y al StandardError. • Se recomienda no utilizarlos
  • 32. Recomendaciones – Trace.WriteLine • Se muestra en la pantalla de Output de VS durante la fase de depuración, con lo que se puede perder entre los otros mensajes que se muestran. • Se recomienda utilizarlo en código de producción, pero no de test. – Debug.WriteLine • Lo mismo que el anterior, pero solo en compilaciones Debug
  • 33. Recomendaciones – TestContext.WriteLine • Se muestra en una sección a parte en el resultado de los tests. • La desventaja es que tenemos que pasar el TestContext allí donde queramos loguear. • Para los proyectos de test, es la solución preferida.
  • 34. Recomendaciones • Utilizar scripts de inicio y fin – [TestInitialize] y [TestCleanup] – [ClassInitialize] y [ClassCleanup] – [AssemblyInitialize] y [AssemblyCleanup]
  • 35. DEMO
  • 36. Do’s and Don’ts of UI Automation • Do(s) – Cada método grabado tiene que actuar sobre una página, formulario, dialog box, etc. – Utilizar el Coded UI Test Builder siempre que sea posible. – Poner el foco explícitamente en la ventana donde el test va a introducir datos. – Cuando sea posible, limitar cada método grabado a pocas acciones, a poder ser a una.
  • 37. Do’s and Don’ts of UI Automation – Crear un UIMap para cada modulo de nuestra aplicación e incluso para cada página. – Si estamos creando aserciones crear un método por cada aserción en el fichero UIMap.cs – Capturar screenshots en los fallos. – Dejar la UI en un estado conocido cuando un test ha terminado. – Loguear antes de hacer algo, no después (o ambas)
  • 38. Do’s and Don’ts of UI Automation – Loguear el origen del mensaje (framework, código de producción, test). – Loguear cada operación válida realizada por el test – Utilizar tests dirigidos por datos siempre que se pueda – Refactorizar siempre que sea posible
  • 39. Do’s and Don’ts of UI Automation • Don’t(s) – No modificar el fichero UIMap.designer.cs directamente. Los cambios se perderían. – No hacer un sleep después de cada operación de UI – No lanzar la aplicación cada vez que se ejecuta un test porque se gasta mucho tiempo. – No hardcodear strings en los tests. Esto incluye ID’s, rutas, etc.
  • 40. DEMO
  • 41. MUCHAS GRACIAS vigarcia@plainconcepts.com @vgaltes www.plainconcepts.com geeks.ms/blogs/devnettips