Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introducción a automatización de pruebas web

443 views

Published on

Slides utilizadas en charla a alumnos de Ingeniería del Software en la Escuela Politécnica de Gijón sobre:
- Necesidad de testing
- Problemas dentro de un proyecto
- Automatización de pruebas con Seleniun

Published in: Software
  • Be the first to comment

Introducción a automatización de pruebas web

  1. 1. Automatización pruebas web Escuela Politécnica de Ingeniería Gijón - Diciembre 2015
  2. 2. Francisco Moreno (@morvader) Responsable QA en Atiun Comunicaciones franciscomoreno@gmail.com
  3. 3. Francisco Moreno (@morvader) Responsable QA en Atiun Comunicaciones franciscomoreno@gmail.com He visto cosas que no creeríais
  4. 4. #Intro
  5. 5. ¿Por qué son necesarias las pruebas?
  6. 6. ¿Por qué son necesarias las pruebas? Las personas cometen errores
  7. 7. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas
  8. 8. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas Sin fallos ≠Funcional
  9. 9. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas Sin fallos ≠Funcional Sin miedo a cambios
  10. 10. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas Sin fallos ≠Funcional Feedback temprano interno = avance rápido Sin miedo a cambios
  11. 11. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas Sin fallos ≠Funcional Feedback temprano interno = avance rápido Sin miedo a cambios Rápidos y robustos
  12. 12. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas Sin fallos ≠Funcional Feedback temprano interno = avance rápido Sin miedo a cambios Rápidos y robustos
  13. 13. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas Sin fallos ≠Funcional Feedback temprano interno = avance rápido Sin miedo a cambios Rápidos y robustos Clientes satisfechos
  14. 14. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas Sin fallos ≠Funcional Feedback temprano interno = avance rápido Sin miedo a cambios Rápidos y robustos Clientes satisfechos
  15. 15. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas Sin fallos ≠Funcional Feedback temprano interno = avance rápido Sin miedo a cambios Rápidos y robustos Clientes satisfechos
  16. 16. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas Sin fallos ≠Funcional Feedback temprano interno = avance rápido Sin miedo a cambios Rápidos y robustos Clientes satisfechos
  17. 17. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas Sin fallos ≠Funcional Feedback temprano interno = avance rápido Sin miedo a cambios Rápidos y robustos Clientes satisfechos
  18. 18. ¿Por qué son necesarias las pruebas? Las personas cometen errores Verificar cumplimiento expectativas Sin fallos ≠Funcional Feedback temprano interno = avance rápido Sin miedo a cambios Rápidos y robustos Clientes satisfechos
  19. 19. #EstaPasando #TrueStory
  20. 20. En alguna empresa del mundo... ¡¡NUEVO PROYECTO!!
  21. 21. En alguna empresa del mundo... Esta vez queremos hacer las cosas bien de verdad ¡¡NUEVO PROYECTO!!
  22. 22. En alguna empresa del mundo... Esta vez queremos hacer las cosas bien de verdad ¡¡NUEVO PROYECTO!!
  23. 23. En alguna empresa del mundo... Esta vez queremos hacer las cosas bien de verdad · Vamos a usar la última tecnología ¡¡NUEVO PROYECTO!!
  24. 24. En alguna empresa del mundo... Esta vez queremos hacer las cosas bien de verdad · Vamos a usar la última tecnología · Vamos a usar Scrum: Desarrollo ágil e iterativo ¡¡NUEVO PROYECTO!!
  25. 25. En alguna empresa del mundo... Esta vez queremos hacer las cosas bien de verdad · Vamos a usar la última tecnología · Vamos a usar Scrum: Desarrollo ágil e iterativo · Vamos a cumplir plazos ¡¡NUEVO PROYECTO!!
  26. 26. En alguna empresa del mundo... Esta vez queremos hacer las cosas bien de verdad · Vamos a usar la última tecnología · Vamos a usar Scrum: Desarrollo ágil e iterativo · Vamos a cumplir plazos ¿Y las pruebas? ¡¡NUEVO PROYECTO!!
  27. 27. En alguna empresa del mundo... Esta vez queremos hacer las cosas bien de verdad · Vamos a usar la última tecnología · Vamos a usar Scrum: Desarrollo ágil e iterativo · Vamos a cumplir plazos ¿Y las pruebas? Por supuesto, tenemos un tester que hará las pruebas al final de cada iteración como hasta ahora ¡¡NUEVO PROYECTO!!
  28. 28. Primeras iteraciones Empresa
  29. 29. Primeras iteraciones Empresa
  30. 30. Primeras iteraciones Empresa Devs
  31. 31. Primeras iteraciones Empresa Devs QA
  32. 32. Primeras iteraciones Empresa Devs QA
  33. 33. Primeras iteraciones Empresa Devs QA
  34. 34. Primeras iteraciones Empresa Devs QA
  35. 35. Primeras iteraciones Empresa Devs QA
  36. 36. Primeras iteraciones Empresa Devs QA
  37. 37. Primeras iteraciones Empresa Devs QA
  38. 38. Primeras iteraciones Empresa Devs QA
  39. 39. Primeras iteraciones Empresa Devs QA
  40. 40. Primeras iteraciones Empresa Devs
  41. 41. Primeras iteraciones Empresa Devs
  42. 42. Primeras iteraciones Empresa Devs · El trabajo de pruebas aumenta con cada iteración. Nunca disminuye · El feedback a desarrollo comienza a ralentizarse
  43. 43. Siguientes iteraciones Empresa
  44. 44. Siguientes iteraciones Empresa Devs
  45. 45. Siguientes iteraciones Empresa Devs
  46. 46. Siguientes iteraciones Empresa Devs
  47. 47. Siguientes iteraciones Empresa Devs
  48. 48. Siguientes iteraciones Empresa Devs
  49. 49. Siguientes iteraciones Empresa Devs
  50. 50. Siguientes iteraciones Empresa Devs
  51. 51. Siguientes iteraciones Empresa Devs
  52. 52. Siguientes iteraciones Empresa · Las pruebas completas llevan mucho tiempo: ¿Centrarse en lo nuevo o que todo siga funcionando? · No hay tiempo para testing de calidad. Además aumentan las probabilidades de errores humanos · Feedback lento. Cambio contexto ralentiza desarrollos. Propenso a errores · Cliente comienza recibir desarrollos sin probar Devs
  53. 53. Últimas iteraciones Empresa
  54. 54. Últimas iteraciones Empresa
  55. 55. Últimas iteraciones Empresa
  56. 56. Últimas iteraciones Empresa
  57. 57. Últimas iteraciones Empresa
  58. 58. Últimas iteraciones Empresa
  59. 59. Últimas iteraciones Empresa
  60. 60. Últimas iteraciones Empresa
  61. 61. Últimas iteraciones Empresa
  62. 62. Últimas iteraciones Empresa
  63. 63. Últimas iteraciones Empresa
  64. 64. Últimas iteraciones Empresa
  65. 65. Últimas iteraciones Empresa · Tiempos de pruebas inmanejables. Sin testing de calidad, sólo checking · Entrega de versiones completas sin probar. Fallos de regresión · Coste de corrección de errores disparado y descontrolado
  66. 66. Un momento de reflexión Análisis de la situación
  67. 67. ¿Qué quiere cada parte?
  68. 68. ¿Qué quiere cada parte? Desarrollo ✓ Feedback rápido y claro ✓ Confianza en las pruebas ✓ Red de seguridad
  69. 69. ¿Qué quiere cada parte? Desarrollo ✓ Feedback rápido y claro ✓ Confianza en las pruebas ✓ Red de seguridad QA ✓ Más tiempo para testing de calidad ✓ Mayor trazabilidad ✓ Trabajo menos repetitivo
  70. 70. ¿Qué quiere cada parte? Desarrollo ✓ Feedback rápido y claro ✓ Confianza en las pruebas ✓ Red de seguridad QA ✓ Más tiempo para testing de calidad ✓ Mayor trazabilidad ✓ Trabajo menos repetitivo Cliente ✓ Entregas rápidas ✓ Versiones sin errores ✓ Lo que antes funcionaba todavía lo hace
  71. 71. ¿Qué trabajo está haciendo QA? Test Plan Lista verificación Regresión Excel Post-its ….
  72. 72. ¿Qué trabajo está haciendo QA? Secuencia de pasos definida Resultado esperado especificado Ejecutado una y otra vez Test Plan Lista verificación Regresión Excel Post-its ….
  73. 73. ¿Qué trabajo está haciendo QA? Secuencia de pasos definida Resultado esperado especificado Ejecutado una y otra vez ¿Qué podría hacer alguien con conocimientos de programación ante una tarea repetitiva, con una secuencia de pasos de definida y conociendo el resultado esperado ? Test Plan Lista verificación Regresión Excel Post-its ….
  74. 74. Como mínimo: “Todo va bien” Automatizar checkeos de funcionalidad básica del sistema ✓ En cualquier momento. También para monitorizar producción ✓ Feedback temprano rápido: Podemos seguir, no hemos roto nada ✓ Confianza en los resultados: Reproducible y sin errores humanos ✓ Deja tiempo para Testing de calidad
  75. 75. #AutomatedTesting #Selenium
  76. 76. Automatización web con Selenium Emular interacciones de un usuario sobre el navegador API para varios lenguajes Multinavegador
  77. 77. Automatización web con Selenium Emular interacciones de un usuario sobre el navegador API para varios lenguajes Multinavegador Java, .Net, Python ... Web Driver
  78. 78. Nociones básicas JUnit @Test - Métodos que se ejecutan independientemente Asserts - Comprobaciones @Before y @After
  79. 79. Nociones básicas JUnit @Test - Métodos que se ejecutan independientemente Asserts - Comprobaciones @Before y @After Código sin verificar
  80. 80. Nociones básicas JUnit @Test - Métodos que se ejecutan independientemente Asserts - Comprobaciones @Before y @After Tips KISS: @Test { //ARRANGE – Given //ACT – When //ASSERT – Then } Nombres representativos Clean code ¿Pruebas de pruebas? Código sin verificar
  81. 81. #Demo #Selenium #Java
  82. 82. #Conclusiones
  83. 83. Conclusiones · Un verdadero desarrollo ágil e iterativo requiere automatización de pruebas · Checking vs Testing · ¡No sustituye al testing manual! · El código de test debe ser tratado con cariño · Automatizar con sentido común
  84. 84. Conclusiones · Un verdadero desarrollo ágil e iterativo requiere automatización de pruebas · Checking vs Testing · ¡No sustituye al testing manual! · El código de test debe ser tratado con cariño · Automatizar con sentido común Nº Pruebas Usuario Código
  85. 85. #TheEnd Francisco Moreno (@morvader) Diciembre 2015

×