SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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
 

Similar a 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
 

Similar a 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
 

Más 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
 

Más 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
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (15)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

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