SlideShare una empresa de Scribd logo
CURSO DE TESTING OSL
        12 – 16 DE ABRIL 2010



                        Introducción


Alberto Perdomo

Web:       http://albertoperdomo.net
Email:     alberto.perdomo@aentos.es
Twitter:   @albertoperdomo             http://www.aentos.com
SOBRE MÍ: CONTACTO
Email:
alberto.perdomo@aentos.es


Twitter:
@albertoperdomo


WEB:
 http://albertoperdomo.net
 http://www.aentos.com
SOBRE MÍ: TRAYECTORIA
  Uni Karlsruhe, Alemania
  Ing. Electrónica y Tecnología                        FOTON,
  de la Información                                    LAS PALMAS

                                     MEDIA LAB                      AENTOS,
                                     EUROPE, IRLANDA                LAS PALMAS



1996                                2003           2005         2007
                      DEPt.
  DEPt. TEST de       SOFTWARE
  SISTEMA -           VEHICULOS -   PFC
  SIEMENS             MERCEDES,
  AUTOMATIZACION      ALEMANIA




  PASCAL     JAVA                                      PYTHON
        C/C++               C/C++          C/C++          RUBY / RUBY ON RAILS

1996                                2003           2005         2007
EL TÉRMINO “BUG” I
“It has been just so in all of my inventions. The frst
step is an intuition, and comes with a burst, then
difculties arise — this thing gives out and [it is] then
that 'Bugs' — as such little faults and difculties are
called — show themselves and months of intense
watching, study and labor are requisite before
commercial success or failure is certainly reached.”

Thomas Edison, 1878
EL TÉRMINO “BUG” II

→ 9 de Septiembre de 1945
→ Universidad de Harvard
→ Los operadores retiran una
polilla de uno de los relés del
calculador “Mark II Aiken”.
→ “First actual case of bug being
found”.
EL CASO ARIANE 5
→ 4 de Junio de 1996
→ Vuelo 501 del cohete Ariane 5
→ 40 segundos después de entrar en
secuencia de vuelo el Ariane 5 se
autodestruye a una altura de 3700m
→ Motivos: análisis y pruebas
insufcientes del sistema de referencia
inercial y el sistema de control de
vuelo.
→ Causa: conversión de un número
demasiado grande → “overfow”
EL TIEMPO QUE INVERTIMOS EN
      BUSCAR ERRORES

 “If you look at how most programmers spend their time, you'll fnd that writing
 code is actually a small fraction. Some time is spent fguring out what ought to be
 going on, some time is spent designing, but most time is spent debugging. […]
 Fixing the bug is usually pretty quick, but fnding it is a nightmare.”

 Refactoring, Martin Fowler [Ref]
EL COSTE DE LOS ERRORES
                                                                  150x
                                      [AOOP]
COSTE RELATIVO DE ARREGLAR UN ERROR




                                                          10x

                                                 5x
                                         1x

                                        REQ.   DISEÑO   IMPLEM.   OPER.
EL PROCESO DEL DESARROLLO
         CLÁSICO
REQUISITOS



             DISEÑO



                      IMPLEMENTACIÓN



                                  PRUEBAS / VALIDACIÓN



                                                  MANTENIMIENTO
EL MANIFIESTO ÁGIL
4 Principios:
   → Valorar más a los individuos y su interacción que a
   los procesos y las herramientas

   → Valorar más el software que funciona que la
   documentación exhaustiva

   → Valorar más la colaboración con el cliente que la
   negociación contractual

   → Valorar más la respuesta al cambio que el
   seguimiento de un plan
DESARROLLO WEB ÁGIL
 FUNCIONALIDAD n        FUNCIONALIDAD n+1



      DISEÑO                 DISEÑO




  IMPLEMENTACIÓN         IMPLEMENTACIÓN




PRUEBAS / VALIDACIÓN   PRUEBAS / VALIDACIÓN



    DESPLIEGUE             DESPLIEGUE
¿QUÉ ES EL TESTING? I
             Testing = Pruebas de software
Preguntas:

  → ¿El código que acabo de escribir funciona bien?

  → ¿El software hace lo que el cliente desea?

  → ¿El software continúa funcionando bien después del
  último cambio que he introducido?
¿QUÉ ES EL TESTING? II
Objetivos
  → Detectar errores (cuanto antes mejor)

  → Validar que el software hace lo que debe

  → Especifcación

  → Confanza y seguridad

  → Ahorrar tiempo de trabajo
TIPOS DE PRUEBAS

                   de integración
 de sistema    de carga

   unitarias              de validación

de regresión   de aceptación
                           funcionales
TIPOS DE PRUEBAS: UNITARIAS

prueban el correcto funcionamiento de un módulo de código




                           CLASE
 DATOS DE PRUEBA                          RESULTADOS
                                                       ÁREA: 7
                     P. EJ. MÉTODO ÁREA
    LADO A: 2        DE UN RECTÁNGULO

                                                        ≠
    LADO B: 4
                                                =?
                   RESULTADOS ESPERADOS
                                                       ÁREA: 8
TIPOS DE PRUEBAS: DE
          ACEPTACIÓN
prueban el comportamiento desde el punto de vista del
cliente

            Scenario: Login with correct credentials
                When I go to the login page
                And I fill in "Login" with "manfred"
                And I fill in "Password" with "gurke"
                And I press "Login"
                Then I should see "Logged in"
                And I should be on the homepage

              Scenario: Login with incorrect credentials
                When I go to the login page
                And I fill in "Login" with "manfred"
                And I fill in "Password" with "tomate"
                And I press "Login"
                Then I should see "Wrong username/password"
                And I should be on the login page
TIPOS DE PRUEBAS: DE
         REGRESIÓN

Regresión
  → error ya resuelto que vuelve a aparecer


Funcionamiento
  → cuando surge un error escribes una prueba para
  demostrar que falla y arreglas el error. La prueba
  garantizará que el error no vuelva a aparecer
TIPOS DE PRUEBAS: DE CARGA

→ ¿Cómo responderá el sistema cuando entre en producción
con 25.000 usuarios y 50.000 visitas diarias?


→ ¿Cuáles son los cuellos de botella?


→ ¿Que partes de la aplicación hay que optimizar?
PRUEBAS MANUALES

→ Repetir todas las pruebas en cada despliegue
→ Consumen mucho tiempo
→ Aburridas y mecánicas




“Monkey testing”
PRUEBAS AUTOMATIZADAS

¿Por qué?
  → Tiempo = $$$
  → Automatizar = Ahorrar tiempo = Ahorrar $$$


Deben ser
  → Reusables = rentables
  → Robustas para que no se dañen con facilidad al modifcar
  el código
PRUEBAS AUTOMATIZADAS vs
       MANUALES

Automatizadas más rentables con el tiempo → Reusables



 Coste $$$




                                            Tiempo
PRUEBAS AUTOMATIZADAS vs
      MANUALES II
Ejemplo: Probar manualmente un formulario de registro


                    Probar 1 vez         Probar 50 veces



Manual               2-4 minutos         100 a 200 minutos


                   5 – 30 minutos          ~ 5 – 30 minutos
                   (escribir el test)      (escribir el test)
Automatizada           10 seg.                     +
                     (ejecutarlo)             8 minutos
                                        (ejecutarlo 50 veces)
REFACTORIZAR CÓDIGO
Cambiar el diseño SIN cambiar el comportamiento
→ Usualmente motivado por el “mal olor” del código




Objetivos:
   → Aumentar la legibilidad
   → Reducir la complejidad
   → Mejorar la mantenibilidad
PRUEBAS: CONFIANZA Y
         SEGURIDAD
Sentirnos seguros
  → de que lo estamos haciendo bien
  → poder refactorizar


Sentir y dar confanza a los demás
  → funcionamiento correcto demostrable
PRUEBAS: ESPECIFICACIÓN

Las pruebas defnen cómo se debe comportar el código y la
aplicación


  → Las pruebas sirven como especifcación


  → Cuando un nuevo desarrollador se incorpora al equipo o
  toma el relevo tiene las pruebas y conoce el
  comportamiento deseado
¿QUIERES SER UN COWBOY?
LOS PISTOLEROS DISPARAN SIN PESTAÑEAR Y
SIEMPRE SE LA JUEGAN
¿PREGUNTAS?

Video: Waterfall vs. Agile

Más contenido relacionado

PDF
Curso TDD Ruby on Rails #03: Tests unitarios
PDF
Curso TDD Ruby on Rails #02: Test Driven Development
PDF
Curso TDD Ruby on Rails #04: Factorías de objetos
PPTX
P1C5 Lenguaje de Expresiones
PDF
Taller de PHP Básico
DOCX
Documento Margarita
PDF
¿Cómo mantener tu javascript?: Buenas prácticas
Curso TDD Ruby on Rails #03: Tests unitarios
Curso TDD Ruby on Rails #02: Test Driven Development
Curso TDD Ruby on Rails #04: Factorías de objetos
P1C5 Lenguaje de Expresiones
Taller de PHP Básico
Documento Margarita
¿Cómo mantener tu javascript?: Buenas prácticas

La actualidad más candente (19)

DOCX
Comandos java
DOCX
Comandos de Java
DOCX
Comandos Java
ODP
Toi Tdd 20080409
PPTX
Clean Code (Presentacion interna en Virtual Software)
PDF
Semana 4 Introduccion Javascript
PPTX
Lenguaje javascript
PPTX
Unidad 5: Excepciones Ejercicio 3
PPT
Best Practices
DOCX
Pruebas de aceptación 15 11_2013
PDF
Curso TDD Ruby on Rails #06: Mocks y stubs
PPSX
Clase n°1 java
PPTX
Mod2ud2 1
DOCX
Lenguaje de programacion
PDF
SCJP, Clase 8: Inner Classes
PDF
Semana 1 Estructuras de Datos en Java
PPT
Operadores
PDF
Ejercicios resueltos de_pl-sql
Comandos java
Comandos de Java
Comandos Java
Toi Tdd 20080409
Clean Code (Presentacion interna en Virtual Software)
Semana 4 Introduccion Javascript
Lenguaje javascript
Unidad 5: Excepciones Ejercicio 3
Best Practices
Pruebas de aceptación 15 11_2013
Curso TDD Ruby on Rails #06: Mocks y stubs
Clase n°1 java
Mod2ud2 1
Lenguaje de programacion
SCJP, Clase 8: Inner Classes
Semana 1 Estructuras de Datos en Java
Operadores
Ejercicios resueltos de_pl-sql
Publicidad

Destacado (20)

PDF
Curso de Ruby on Rails
PDF
Taller ruby
PDF
Curso de Ruby on Rails para el Master de Deusto. Día 2
PDF
Ruby Facil
PDF
05 well testing trisakti 25 nov 2007
PDF
Curso de Ruby on Rails para el Master de Deusto
PDF
Ruby On Rails (Parte 1. Introducción)
ODP
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
PDF
Ruby Mola (y por qué)
PDF
Ruby On Rails (Parte II))
PDF
Curso de introdução ao ruby
PDF
Desarrollo Ágil y Ruby on Rails
PPTX
Conviértete en un desarrollador web front-end
PDF
Sass: CSS con Superpoderes
PDF
Jose Rojas Desarrollo Rapido de Aplicaciones con RoR
PDF
Desarrollo Agil con Ruby Y Rails
PDF
CSS Preprocessors - Sass
PPTX
Pre-procesadores CSS. SASS
PDF
Uso de las Infraestructuras de Datos Espaciales en Astronomía
KEY
Ruby intro
Curso de Ruby on Rails
Taller ruby
Curso de Ruby on Rails para el Master de Deusto. Día 2
Ruby Facil
05 well testing trisakti 25 nov 2007
Curso de Ruby on Rails para el Master de Deusto
Ruby On Rails (Parte 1. Introducción)
Desarrollo de Aplicaciones con Ruby on Rails y PostgreSQL
Ruby Mola (y por qué)
Ruby On Rails (Parte II))
Curso de introdução ao ruby
Desarrollo Ágil y Ruby on Rails
Conviértete en un desarrollador web front-end
Sass: CSS con Superpoderes
Jose Rojas Desarrollo Rapido de Aplicaciones con RoR
Desarrollo Agil con Ruby Y Rails
CSS Preprocessors - Sass
Pre-procesadores CSS. SASS
Uso de las Infraestructuras de Datos Espaciales en Astronomía
Ruby intro
Publicidad

Similar a Curso TDD Ruby on Rails #01: Introducción al testing (20)

PPTX
Test Automation .NET
PPTX
U2T4 - Pruebas del Software
PPTX
PPTX
ALMSaimada Testing Funcional
PDF
Microsoft Test Manager 2010
PPTX
Unit testing
PPTX
Pruebas de Manto Cuantos tipos de pruebas hay ? Que es una estrategia ? Que e...
PPT
Estrategias de prueba de software
PDF
Ejemplos práctios de calidad en el software tecdencies
PPTX
S9-DAW-2022S1.pptx
PPTX
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
PDF
Tipos de pruebas de software
PDF
Vuelta_a_los_origines_Testing.pdf
PDF
Gestión de pruebas en desarrollo software
PPTX
Tecnicas de prueba y mantenimiento de software.ppsx
DOC
Plan de pruebas
PPSX
Tecnicas de prueba y mantenimiento de software
PPTX
software testing
PPTX
20180313 Keep Calm And Test Your Code RiojaDotNet
PDF
Diseño Agil con TDD
Test Automation .NET
U2T4 - Pruebas del Software
ALMSaimada Testing Funcional
Microsoft Test Manager 2010
Unit testing
Pruebas de Manto Cuantos tipos de pruebas hay ? Que es una estrategia ? Que e...
Estrategias de prueba de software
Ejemplos práctios de calidad en el software tecdencies
S9-DAW-2022S1.pptx
Testing en equipos ágiles con Microsoft Test Manager y Lab Manager 2010
Tipos de pruebas de software
Vuelta_a_los_origines_Testing.pdf
Gestión de pruebas en desarrollo software
Tecnicas de prueba y mantenimiento de software.ppsx
Plan de pruebas
Tecnicas de prueba y mantenimiento de software
software testing
20180313 Keep Calm And Test Your Code RiojaDotNet
Diseño Agil con TDD

Más de Alberto Perdomo (10)

PDF
Primeros pasos con la base de datos de grafos Neo4j
PDF
Leveraging relations at scale with Neo4j
PDF
Squire: A polyglot application combining Neo4j, MongoDB, Ruby and Scala @ FOS...
PDF
Rails for Mobile Devices @ Conferencia Rails 2011
PDF
Boost your productivity!: Productivity tips for rails developers - Lightning ...
PDF
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
PDF
Curso TDD Ruby on Rails #08: Buenas prácticas
PDF
Curso TDD Ruby on Rails #02: Test Driven Development
PDF
Curso TDD Ruby on Rails #05: Shoulda
PDF
Plugins de autenticación en Rails - Lightning talk Las Palmas On Rails 09/02/...
Primeros pasos con la base de datos de grafos Neo4j
Leveraging relations at scale with Neo4j
Squire: A polyglot application combining Neo4j, MongoDB, Ruby and Scala @ FOS...
Rails for Mobile Devices @ Conferencia Rails 2011
Boost your productivity!: Productivity tips for rails developers - Lightning ...
Strangers In The Night: Ruby, Rack y Sinatra - Herramientas potentes para con...
Curso TDD Ruby on Rails #08: Buenas prácticas
Curso TDD Ruby on Rails #02: Test Driven Development
Curso TDD Ruby on Rails #05: Shoulda
Plugins de autenticación en Rails - Lightning talk Las Palmas On Rails 09/02/...

Último (20)

PDF
Influencia-del-uso-de-redes-sociales.pdf
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Sesion 1 de microsoft power point - Clase 1
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
Estrategia de apoyo tecnología miguel angel solis
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PDF
CyberOps Associate - Cisco Networking Academy
PDF
taller de informática - LEY DE OHM
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Influencia-del-uso-de-redes-sociales.pdf
Zarate Quispe Alex aldayir aplicaciones de internet .docx
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Sesion 1 de microsoft power point - Clase 1
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Presentación PASANTIAS AuditorioOO..pptx
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
Estrategia de apoyo tecnología miguel angel solis
Estrategia de apoyo tecnología grado 9-3
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
historia_web de la creacion de un navegador_presentacion.pptx
Propuesta BKP servidores con Acronis1.pptx
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Plantilla para Diseño de Narrativas Transmedia.pdf
CyberOps Associate - Cisco Networking Academy
taller de informática - LEY DE OHM
Power Point Nicolás Carrasco (disertación Roblox).pptx
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx

Curso TDD Ruby on Rails #01: Introducción al testing

  • 1. CURSO DE TESTING OSL 12 – 16 DE ABRIL 2010 Introducción Alberto Perdomo Web: http://albertoperdomo.net Email: alberto.perdomo@aentos.es Twitter: @albertoperdomo http://www.aentos.com
  • 2. SOBRE MÍ: CONTACTO Email: alberto.perdomo@aentos.es Twitter: @albertoperdomo WEB: http://albertoperdomo.net http://www.aentos.com
  • 3. SOBRE MÍ: TRAYECTORIA Uni Karlsruhe, Alemania Ing. Electrónica y Tecnología FOTON, de la Información LAS PALMAS MEDIA LAB AENTOS, EUROPE, IRLANDA LAS PALMAS 1996 2003 2005 2007 DEPt. DEPt. TEST de SOFTWARE SISTEMA - VEHICULOS - PFC SIEMENS MERCEDES, AUTOMATIZACION ALEMANIA PASCAL JAVA PYTHON C/C++ C/C++ C/C++ RUBY / RUBY ON RAILS 1996 2003 2005 2007
  • 4. EL TÉRMINO “BUG” I “It has been just so in all of my inventions. The frst step is an intuition, and comes with a burst, then difculties arise — this thing gives out and [it is] then that 'Bugs' — as such little faults and difculties are called — show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached.” Thomas Edison, 1878
  • 5. EL TÉRMINO “BUG” II → 9 de Septiembre de 1945 → Universidad de Harvard → Los operadores retiran una polilla de uno de los relés del calculador “Mark II Aiken”. → “First actual case of bug being found”.
  • 6. EL CASO ARIANE 5 → 4 de Junio de 1996 → Vuelo 501 del cohete Ariane 5 → 40 segundos después de entrar en secuencia de vuelo el Ariane 5 se autodestruye a una altura de 3700m → Motivos: análisis y pruebas insufcientes del sistema de referencia inercial y el sistema de control de vuelo. → Causa: conversión de un número demasiado grande → “overfow”
  • 7. EL TIEMPO QUE INVERTIMOS EN BUSCAR ERRORES “If you look at how most programmers spend their time, you'll fnd that writing code is actually a small fraction. Some time is spent fguring out what ought to be going on, some time is spent designing, but most time is spent debugging. […] Fixing the bug is usually pretty quick, but fnding it is a nightmare.” Refactoring, Martin Fowler [Ref]
  • 8. EL COSTE DE LOS ERRORES 150x [AOOP] COSTE RELATIVO DE ARREGLAR UN ERROR 10x 5x 1x REQ. DISEÑO IMPLEM. OPER.
  • 9. EL PROCESO DEL DESARROLLO CLÁSICO REQUISITOS DISEÑO IMPLEMENTACIÓN PRUEBAS / VALIDACIÓN MANTENIMIENTO
  • 10. EL MANIFIESTO ÁGIL 4 Principios: → Valorar más a los individuos y su interacción que a los procesos y las herramientas → Valorar más el software que funciona que la documentación exhaustiva → Valorar más la colaboración con el cliente que la negociación contractual → Valorar más la respuesta al cambio que el seguimiento de un plan
  • 11. DESARROLLO WEB ÁGIL FUNCIONALIDAD n FUNCIONALIDAD n+1 DISEÑO DISEÑO IMPLEMENTACIÓN IMPLEMENTACIÓN PRUEBAS / VALIDACIÓN PRUEBAS / VALIDACIÓN DESPLIEGUE DESPLIEGUE
  • 12. ¿QUÉ ES EL TESTING? I Testing = Pruebas de software Preguntas: → ¿El código que acabo de escribir funciona bien? → ¿El software hace lo que el cliente desea? → ¿El software continúa funcionando bien después del último cambio que he introducido?
  • 13. ¿QUÉ ES EL TESTING? II Objetivos → Detectar errores (cuanto antes mejor) → Validar que el software hace lo que debe → Especifcación → Confanza y seguridad → Ahorrar tiempo de trabajo
  • 14. TIPOS DE PRUEBAS de integración de sistema de carga unitarias de validación de regresión de aceptación funcionales
  • 15. TIPOS DE PRUEBAS: UNITARIAS prueban el correcto funcionamiento de un módulo de código CLASE DATOS DE PRUEBA RESULTADOS ÁREA: 7 P. EJ. MÉTODO ÁREA LADO A: 2 DE UN RECTÁNGULO ≠ LADO B: 4 =? RESULTADOS ESPERADOS ÁREA: 8
  • 16. TIPOS DE PRUEBAS: DE ACEPTACIÓN prueban el comportamiento desde el punto de vista del cliente Scenario: Login with correct credentials When I go to the login page And I fill in "Login" with "manfred" And I fill in "Password" with "gurke" And I press "Login" Then I should see "Logged in" And I should be on the homepage Scenario: Login with incorrect credentials When I go to the login page And I fill in "Login" with "manfred" And I fill in "Password" with "tomate" And I press "Login" Then I should see "Wrong username/password" And I should be on the login page
  • 17. TIPOS DE PRUEBAS: DE REGRESIÓN Regresión → error ya resuelto que vuelve a aparecer Funcionamiento → cuando surge un error escribes una prueba para demostrar que falla y arreglas el error. La prueba garantizará que el error no vuelva a aparecer
  • 18. TIPOS DE PRUEBAS: DE CARGA → ¿Cómo responderá el sistema cuando entre en producción con 25.000 usuarios y 50.000 visitas diarias? → ¿Cuáles son los cuellos de botella? → ¿Que partes de la aplicación hay que optimizar?
  • 19. PRUEBAS MANUALES → Repetir todas las pruebas en cada despliegue → Consumen mucho tiempo → Aburridas y mecánicas “Monkey testing”
  • 20. PRUEBAS AUTOMATIZADAS ¿Por qué? → Tiempo = $$$ → Automatizar = Ahorrar tiempo = Ahorrar $$$ Deben ser → Reusables = rentables → Robustas para que no se dañen con facilidad al modifcar el código
  • 21. PRUEBAS AUTOMATIZADAS vs MANUALES Automatizadas más rentables con el tiempo → Reusables Coste $$$ Tiempo
  • 22. PRUEBAS AUTOMATIZADAS vs MANUALES II Ejemplo: Probar manualmente un formulario de registro Probar 1 vez Probar 50 veces Manual 2-4 minutos 100 a 200 minutos 5 – 30 minutos ~ 5 – 30 minutos (escribir el test) (escribir el test) Automatizada 10 seg. + (ejecutarlo) 8 minutos (ejecutarlo 50 veces)
  • 23. REFACTORIZAR CÓDIGO Cambiar el diseño SIN cambiar el comportamiento → Usualmente motivado por el “mal olor” del código Objetivos: → Aumentar la legibilidad → Reducir la complejidad → Mejorar la mantenibilidad
  • 24. PRUEBAS: CONFIANZA Y SEGURIDAD Sentirnos seguros → de que lo estamos haciendo bien → poder refactorizar Sentir y dar confanza a los demás → funcionamiento correcto demostrable
  • 25. PRUEBAS: ESPECIFICACIÓN Las pruebas defnen cómo se debe comportar el código y la aplicación → Las pruebas sirven como especifcación → Cuando un nuevo desarrollador se incorpora al equipo o toma el relevo tiene las pruebas y conoce el comportamiento deseado
  • 26. ¿QUIERES SER UN COWBOY? LOS PISTOLEROS DISPARAN SIN PESTAÑEAR Y SIEMPRE SE LA JUEGAN