SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
Introducción
       Testing Basado en Modelos
               Un Caso de Estudio
                    Conclusiones




Testing = Especificación + Programación
            Haciendo posible el testing


                   Maximiliano Cristiá

                   Flowgate Consulting
               mcristia@flowgate.net
                        CIFASIS
             Universidad Nacional de Rosario
          cristia@cifasis-conicet.gov.ar

    Primera Jornada de Calidad e Innovación
         en la Producción de Software


               Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                                   Aspectos económicos del testing
                     Testing Basado en Modelos
                                                   Los costos de testear
                             Un Caso de Estudio
                                                   Alcance de la charla
                                  Conclusiones


Audiencia
¿Para quiénes está destinada la charla?


   Para los que testean
         Porque quieren reducir los costos de testing.
         Porque quieren testear más por el mismo costo.
         Porque el trabajo manual y repetitivo los harta.

   Para los que no testean pero quieren testear
         Porque testear es muy caro.
         Porque testear es muy complejo.
         Porque testear es muy laborioso.
         Porque testear requiere profesionales que no tienen.

                             Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                             Aspectos económicos del testing
               Testing Basado en Modelos
                                             Los costos de testear
                       Un Caso de Estudio
                                             Alcance de la charla
                            Conclusiones


Madurez




 Esta charla es para equipos con cierto nivel de madurez
     Es necesario tener los requerimientos escritos.
     Es necesario separar los roles de testing y programación.

     Es conveniente tener documentación del código fuente.




                       Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                               Aspectos económicos del testing
                 Testing Basado en Modelos
                                               Los costos de testear
                         Un Caso de Estudio
                                               Alcance de la charla
                              Conclusiones


El testing es muy caro

  Según Fred Brooks (The Mythical Man-Month)
  El testing de software de base ronda el 50 % del costo total.

  Según el Software Engineering Institute
  El testing ronda entre el 30 % y el 40 % del costo total.

  Según IBM y Gartner
  Si reparar un error durante la ingeniería de requerimientos
  cuesta $1, repararlo durante el testing cuesta $60 y repararlo
  después de la entrega $100.


                         Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                              Aspectos económicos del testing
                Testing Basado en Modelos
                                              Los costos de testear
                        Un Caso de Estudio
                                              Alcance de la charla
                             Conclusiones


Calcular casos de prueba es lo más caro

  Retesting
      La fase más costosa del testing es el retesting.
      Con las metodologías clásicas esto puede implicar
      recalcular muchos casos de prueba.

  Calcular los casos de prueba
      Técnicamente, lo más costoso del testing es calcular todos
      y cada uno de los casos de prueba.
      En cierto sentido el retesting es costoso porque hay que
      recalcular casos de prueba.


                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                              Aspectos económicos del testing
                Testing Basado en Modelos
                                              Los costos de testear
                        Un Caso de Estudio
                                              Alcance de la charla
                             Conclusiones


¿Cómo reducir el costo de testing?



  Posibles soluciones
      No testear.
      Hacer programas correctos por construcción.
      Automatizar el testing.
          ¿Es posible?
          Sí, en gran medida es posible.




                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                              Aspectos económicos del testing
                Testing Basado en Modelos
                                              Los costos de testear
                        Un Caso de Estudio
                                              Alcance de la charla
                             Conclusiones


¿Cómo reducir el costo de testing?



  Posibles soluciones
      No testear.
      Hacer programas correctos por construcción.
      Automatizar el testing.
          ¿Es posible?
          Sí, en gran medida es posible.




                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                              Aspectos económicos del testing
                Testing Basado en Modelos
                                              Los costos de testear
                        Un Caso de Estudio
                                              Alcance de la charla
                             Conclusiones


¿Cómo reducir el costo de testing?



  Posibles soluciones
      No testear.
      Hacer programas correctos por construcción.
      Automatizar el testing.
          ¿Es posible?
          Sí, en gran medida es posible.




                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                              Aspectos económicos del testing
                Testing Basado en Modelos
                                              Los costos de testear
                        Un Caso de Estudio
                                              Alcance de la charla
                             Conclusiones


¿Cómo reducir el costo de testing?



  Posibles soluciones
      No testear.
      Hacer programas correctos por construcción.
      Automatizar el testing.
          ¿Es posible?
          Sí, en gran medida es posible.




                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                              Aspectos económicos del testing
                Testing Basado en Modelos
                                              Los costos de testear
                        Un Caso de Estudio
                                              Alcance de la charla
                             Conclusiones


¿Cómo reducir el costo de testing?



  Posibles soluciones
      No testear.
      Hacer programas correctos por construcción.
      Automatizar el testing.
          ¿Es posible?
          Sí, en gran medida es posible.




                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                                     Aspectos económicos del testing
                  Testing Basado en Modelos
                                                     Los costos de testear
                          Un Caso de Estudio
                                                     Alcance de la charla
                               Conclusiones


Validación & Verificación (V&V)
  Validación
       ¿Implementamos el programa que quiere el usuario?
      Testing de aceptación → Tarde y caro (IBM & Gartner).

  Verificación
       ¿Implementamos el programa especificado?
      Testing de unidad, de integración y de sistema.
      Esta charla es sobre verificación y testing de unidad.

                                                             verificación


            requerimientos                   especificación                  programa


                                               validación


                             Maximiliano Cristiá     Testing = Especificación + Programación
Introducción
                                              Aspectos económicos del testing
                Testing Basado en Modelos
                                              Los costos de testear
                        Un Caso de Estudio
                                              Alcance de la charla
                             Conclusiones


Corrección de un programa



  Considerando sólo verificación:
  Definición
     Un programa es correcto si verifica su especificación.
      Por lo tanto, para poder testear es necesario tener una
      especificación.
      A la especificación también se la llama modelo.




                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                Testing Basado en Modelos
                        Un Caso de Estudio
                             Conclusiones


Model-Based Testing (MBT)


   El testing se realiza partiendo de                     Proceso de MBT
   un modelo del software.                                 requerimientos

   Al inicio, el modelo se utiliza para
   generar casos de prueba.                                    modelo                     ¿error?

   Al final, el modelo se utiliza como                               generar
                                                                                   comprobar

   oráculo.
                                                                 test                    resultados
   Teniendo el modelo, el proceso es
                                                              abstractos                 abstractos
   muy automático.
                                                                    refinar           abstraer
   En esta charla sólo veremos                                                ejecutar
   “generar”.                                                   tests                    resultados




                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                   Testing Basado en Modelos
                           Un Caso de Estudio
                                Conclusiones


¿Quiénes usan MBT?

  Empresas y sectores
      Microsoft – Sun – France Telecom – Cisco
      Control de tráfico aéreo.
      La industria automovilística europea.
      La industria de tarjetas inteligentes.

  El reporte IBM
      GOTCHA-TCBeans – FSM
      Testing de la implementación POSIX de fnctl.
      Testing de parte del garbage collector de JVM.
      IBM reporta un ahorro sustancial y mayor cubrimiento.

                           Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                Testing Basado en Modelos
                        Un Caso de Estudio
                             Conclusiones


MBT formal → Testing automático

  Modelos formales
     Para automatizar MBT se utilizan modelos formales.
      Un modelo formal es una descripción lógico-matemática
      (abreviada) de un programa: es una abstracción.
      Esta charla es sobre MBT formal.

  Notaciones formales
      Para escribir una especificación formal se utiliza una
      notación formal.
      Notaciones formales: Z, Statecharts, CSP, B, TLA+ . . .
      En esta charla se utilizarán especificaciones Z.

                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
            Testing Basado en Modelos
                    Un Caso de Estudio
                         Conclusiones


¿Es más barato el MBT formal?




                    Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                              El modelo
                Testing Basado en Modelos
                                              Detalle del paso “generar”
                        Un Caso de Estudio
                                              Testing asistido por Fastest
                             Conclusiones


Veamos un ejemplo concreto


  Los requerimientos
      Un banco tiene un cierto conjunto de cajas de ahorro en
      las cuales se puede depositar y extraer dinero.
      Cada caja de ahorro se identifica con un número de
      cuenta.
      Los montos a depositar y los saldos serán números
      enteros.
      Sólo se debe mantener el saldo de cada caja de ahorro.
      Sólo modelaremos la operación de depósito.



                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                                  El modelo
                    Testing Basado en Modelos
                                                  Detalle del paso “generar”
                            Un Caso de Estudio
                                                  Testing asistido por Fastest
                                 Conclusiones


La especificación Z
Los tipos básicos




          [NCTA]                Un tipo para los números de cuenta

          SALDO == N Un tipo para los saldos


   Comentarios
      No nos importa la estructura de un número de cuenta.
         Para simplificar consideramos que los saldos son números
         naturales.



                            Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                                   El modelo
                     Testing Basado en Modelos
                                                   Detalle del paso “generar”
                             Un Caso de Estudio
                                                   Testing asistido por Fastest
                                  Conclusiones


La especificación Z
El conjunto de estados




           Banco
           cajas : NCTA → SALDO


   Comentarios
      Del banco sólo nos importan las cajas de ahorro.
         A cada número de cuenta le corresponde un único saldo.
         No nos importan: la persistencia, la performance, el
         lenguaje de programación, las estructuras de datos, etc.



                             Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                                  El modelo
                    Testing Basado en Modelos
                                                  Detalle del paso “generar”
                            Un Caso de Estudio
                                                  Testing asistido por Fastest
                                 Conclusiones


La especificación Z
La operación de depósito



           DepositarOk
            ∆Banco                  Se cambia el estado
            num? : NCTA; monto? : Z Parámetros de entrada
            num? ∈ dom cajas                          ¿Existe la cuenta?
            monto? > 0                                No se puede depositar 0 o menos

            cajas = cajas ⊕ {num? → cajas(num?) + monto?}

   Comentarios
      cajas representa la “base de datos” luego del depósito.
        El operador ⊕ se parece a update de SQL.

                            Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                                   El modelo
                     Testing Basado en Modelos
                                                   Detalle del paso “generar”
                             Un Caso de Estudio
                                                   Testing asistido por Fastest
                                  Conclusiones


La especificación Z
La operación de depósito (cont.)



         DepositarE1 ==
            [ΞBanco; num? : NCTA | num? ∈ dom cajas]
                                        /
         DepositarE2 == [ΞBanco; monto? : Z | monto? ≤ 0]
         Depositar == DepositarOk ∨ DepositarE1 ∨ DepositarE2


   Comentarios
      DepositarE1 y DepositarE2 especifican posibles errores.
         La operación final se arma usando todos los esquemas.
         Depositar es la operación que vamos a testear.

                             Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                                                  El modelo
                              Testing Basado en Modelos
                                                                  Detalle del paso “generar”
                                      Un Caso de Estudio
                                                                  Testing asistido por Fastest
                                           Conclusiones


Usamos el modelo para generar casos de prueba



 Proceso de MBT                                 Detalle de “generar”
  modelo                     ¿error?                                                tests
                                                       VIS                                               árbol de pruebas
                      comprobar                                                   abstractos     podar
       generar
                                                             táctica
                                                                        táctica                táctica
    test                    resultados            partición VIS                     ...                    partición VIS

 abstractos                 abstractos


       refinar           abstraer                Siempre el costo
                 ejecutar
   tests                    resultados                  El mayor costo de testing es
                                                        calcular los casos de prueba.



                                       Maximiliano Cristiá        Testing = Especificación + Programación
Introducción
                                              El modelo
                Testing Basado en Modelos
                                              Detalle del paso “generar”
                        Un Caso de Estudio
                                              Testing asistido por Fastest
                             Conclusiones


Fastest: automatización de MBT

  El proyecto
      I+D conjunto entre Flowgate Consulting y CIFASIS.
      Parcialmente financiado por FONTAR.
      Prototipo disponible en www.flowgate.net.

  Características
      Procesamiento distribuido – Cliente-servidor.
      Extensible y configurable por el usuario – Tácticas.
      Multiplataforma – Java.
      Auto-documentación – Latex y PDF.
      Interfaz de texto muy simple – A mejorar.

                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                               El modelo
                 Testing Basado en Modelos
                                               Detalle del paso “generar”
                         Un Caso de Estudio
                                               Testing asistido por Fastest
                              Conclusiones


VIS y tácticas

  En teoría

      VIS == [cajas : NCTA → SALDO; num? : NCTA; monto? : Z]

      Dos tácticas de testing:
          DNF: considera cada uno de los esquemas por separado.
          Partición estándar sobre ⊕ considera valores
          representativos para cajas y {num? → cajas(num?) + monto?}.

  Con Fastest
  loadspec banco.tex
  selop Depositar
  addtactic Depositar SP oplus
            cajas oplus {num? map cajas(num?) + monto?}

                         Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                              El modelo
                Testing Basado en Modelos
                                              Detalle del paso “generar”
                        Un Caso de Estudio
                                              Testing asistido por Fastest
                             Conclusiones


El árbol de pruebas

  En teoría
      Cada nodo del árbol es un objetivo de prueba.
      Cada objetivo es un conjunto de condiciones que tiene que
      cumplir un caso de prueba.
      Los objetivos se tornan más específicos a medida que se
      desciende por el árbol.
      Los casos de prueba se extraen de las hojas del árbol.

  Con Fastest
  genalltt
  showtt -p Depositar


                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                                      El modelo
                  Testing Basado en Modelos
                                                      Detalle del paso “generar”
                          Un Caso de Estudio
                                                      Testing asistido por Fastest
                               Conclusiones


El árbol de pruebas de Depositar

                                            VIS

          DNF 1                           DNF 2                                      DNF 3

    SP1     ...   SP8            SP9            ...     SP16            SP17 . . .           SP24

  Ejemplos de objetivos de prueba

      DNF 1 == [VIS | num? ∈ dom cajas ∧ monto? > 0]
      SP4   == [VIS | num? ∈ dom cajas ∧ monto? > 0
                    ∧ cajas = {}
                    ∧ dom cajas = dom{num? → cajas(num?) + monto?}]


                          Maximiliano Cristiá         Testing = Especificación + Programación
Introducción
                                              El modelo
                Testing Basado en Modelos
                                              Detalle del paso “generar”
                        Un Caso de Estudio
                                              Testing asistido por Fastest
                             Conclusiones


Podando el árbol de pruebas

  En teoría
      Muchos de los objetivos pueden ser inalcanzables.
      Son situaciones imposibles de testear.
      Es conveniente eliminar esos objetivos.
      SP6 == [VIS | num? ∈ dom cajas ∧ monto? > 0
               ∧ cajas = {}
               ∧ dom cajas ∩ dom{num? → cajas(num?) + monto?} = {}]


  Con Fastest – Automático en la próxima versión
  prunefrom SP_1, SP_2, SP_3, SP_6, SP_7, SP_8
  prunefrom SP_9, SP_11, SP_12, SP_13, SP_15, SP_16
  prunefrom SF_17, SP_19, SP_22, SP_23, SP_24


                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                                 El modelo
                   Testing Basado en Modelos
                                                 Detalle del paso “generar”
                           Un Caso de Estudio
                                                 Testing asistido por Fastest
                                Conclusiones


El árbol y los objetivos resultantes

                                    VIS                                         5 objetivos


     DNF 1                        DNF 2                              DNF 3


   SP4   SP5                                                    SP20 SP21


      SP4    == [. . . ]
      SP5    == [VIS | num? ∈ dom cajas ∧ monto? > 0
                     ∧ cajas = {}
                     ∧ dom{num? → cajas(num?) + monto?} ⊂ dom cajas]
      DNF 2 == [VIS | num? ∈ dom cajas]
                           /
      SP20 == [. . . ]        SP21 == [. . . ]


                           Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                              El modelo
                Testing Basado en Modelos
                                              Detalle del paso “generar”
                        Un Caso de Estudio
                                              Testing asistido por Fastest
                             Conclusiones


Generando casos de prueba


  En teoría
      Se deben buscar constantes que satisfagan cada uno de
      los objetivos de prueba.
      Esto no es automatizable en el 100 % de los casos.

  Con Fastest
      En promedio Fastest se acerca al 90 %, el resto es manual.
      En este ejemplo encuentra el 100 % de los casos.
      El comando es genalltca.



                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                                  El modelo
                    Testing Basado en Modelos
                                                  Detalle del paso “generar”
                            Un Caso de Estudio
                                                  Testing asistido por Fastest
                                 Conclusiones


Los casos de prueba en Z

                                                                                   5 casos
                                                                                 automáticos

 SP4T == [VIS | monto? = 1 ∧ num? = ncta0 ∧ cajas = {ncta0 → 1}]
 SP5T == [VIS | monto? = 1 ∧ num? = ncta0 ∧ cajas = {ncta0 → 1, ncta1 → 1}]
 DNF 2T == [VIS | monto? = 0 ∧ num? = ncta0 ∧ cajas = ∅]
 SP20T == [VIS | monto? = −1 ∧ num? = ncta0 ∧ cajas = {ncta0 → 1}]
 SP21T == [VIS |
                   monto? = −1
                   ∧ num? = ncta0
                   ∧ cajas = {ncta0 → 1, ncta1 → 1}]




                            Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                                             El modelo
               Testing Basado en Modelos
                                             Detalle del paso “generar”
                       Un Caso de Estudio
                                             Testing asistido por Fastest
                            Conclusiones


¿Qué estamos testeando?

  Los casos de prueba en castellano
      SP4T : depositar en una cuenta existente una cantidad
      positiva cuando es la única cuenta.
      SP5T : depositar en una cuenta existente una cantidad
      positiva cuando no es la única cuenta.
      DNF 2T : intentar un depósito cuando no hay cuentas.
      SP20T : depositar en una cuenta existente una cantidad
      negativa cuando es la única cuenta.
      SP21T : depositar en una cuenta existente una cantidad
      negativa cuando no es la única cuenta.


                       Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                Testing Basado en Modelos
                        Un Caso de Estudio
                             Conclusiones


Ventajas y desventajas del MBT formal

  Ventajas
      Es la técnica de testing más económica.
      Es la técnica de testing más automática.
      Es la técnica de testing más disciplinada.
      Es la técnica de testing que más errores descubre.
      Es la técnica de testing menos orientada al código.
      Se puede comenzar el testing desde el inicio del proyecto.

  Desventajas
      Requiere profesionales que puedan modelar formalmente.
      Requiere una herramienta como Fastest.

                        Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
      Testing Basado en Modelos
              Un Caso de Estudio
                   Conclusiones




MBT formal hace posible el testing




              Maximiliano Cristiá   Testing = Especificación + Programación
Introducción
                Testing Basado en Modelos
                        Un Caso de Estudio
                             Conclusiones


Proyectos actuales de testing con Fastest


  Con INPE
      Instituto Nacional de Pesquisas Espaciais (Brasil).
      Testing de protocolo de comunicación entre computadoras
      de satélites.

  Con Critical Software y Universidad de Coimbra
      Instituciones portuguesas.
      Testing de software de abordo de satélites según estándar
      de la ESA.



                        Maximiliano Cristiá   Testing = Especificación + Programación

Más contenido relacionado

Destacado

Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Federico Toledo
 
GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos
GamwUS. Desarrollo Diriguido por Pruebas y VideojuegosGamwUS. Desarrollo Diriguido por Pruebas y Videojuegos
GamwUS. Desarrollo Diriguido por Pruebas y VideojuegosJavier_J
 
Depurar el videojuego de
Depurar el videojuego deDepurar el videojuego de
Depurar el videojuego dejoselupo
 
Seminario en CDA 2015 - "Mobile exploratory testing"
Seminario en CDA 2015 - "Mobile exploratory testing" Seminario en CDA 2015 - "Mobile exploratory testing"
Seminario en CDA 2015 - "Mobile exploratory testing" Federico Toledo
 
Un paseo por los secretos de la localización de videojuegos
Un paseo por los secretos de la localización de videojuegosUn paseo por los secretos de la localización de videojuegos
Un paseo por los secretos de la localización de videojuegosPablo Muñoz Sánchez
 
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
 
La localización y el control de calidad de videojuegos (ETIM2012)
La localización y el control de calidad de videojuegos (ETIM2012)La localización y el control de calidad de videojuegos (ETIM2012)
La localización y el control de calidad de videojuegos (ETIM2012)Curri Barceló-Ávila
 
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
 
Testing Software
Testing SoftwareTesting Software
Testing Softwareodelorenzi
 
Diseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y TestingDiseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y TestingJuan Paulo Madriaza
 
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 aplicaciones
Mejores prácticas para testing de aplicacionesMejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicacionesSoftware Guru
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónMarco Chunab
 
Programamos con Scratch 9: pruebas y depuración
Programamos con Scratch 9:  pruebas y depuraciónProgramamos con Scratch 9:  pruebas y depuración
Programamos con Scratch 9: pruebas y depuraciónProgramamos
 
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionSistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionJorge Guerra
 

Destacado (20)

Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...
 
GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos
GamwUS. Desarrollo Diriguido por Pruebas y VideojuegosGamwUS. Desarrollo Diriguido por Pruebas y Videojuegos
GamwUS. Desarrollo Diriguido por Pruebas y Videojuegos
 
Depurar el videojuego de
Depurar el videojuego deDepurar el videojuego de
Depurar el videojuego de
 
Testing 1234
Testing 1234Testing 1234
Testing 1234
 
Seminario en CDA 2015 - "Mobile exploratory testing"
Seminario en CDA 2015 - "Mobile exploratory testing" Seminario en CDA 2015 - "Mobile exploratory testing"
Seminario en CDA 2015 - "Mobile exploratory testing"
 
Taller de Testeo de videojuegos
Taller de Testeo de videojuegos Taller de Testeo de videojuegos
Taller de Testeo de videojuegos
 
Un paseo por los secretos de la localización de videojuegos
Un paseo por los secretos de la localización de videojuegosUn paseo por los secretos de la localización de videojuegos
Un paseo por los secretos de la localización de videojuegos
 
Functional Testing
Functional TestingFunctional Testing
Functional Testing
 
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
 
La localización y el control de calidad de videojuegos (ETIM2012)
La localización y el control de calidad de videojuegos (ETIM2012)La localización y el control de calidad de videojuegos (ETIM2012)
La localización y el control de calidad de videojuegos (ETIM2012)
 
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
 
Testing Software
Testing SoftwareTesting Software
Testing Software
 
Diseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y TestingDiseño de interacción, Prototipado y Testing
Diseño de interacción, Prototipado y Testing
 
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 aplicaciones
Mejores prácticas para testing de aplicacionesMejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicaciones
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Programamos con Scratch 9: pruebas y depuración
Programamos con Scratch 9:  pruebas y depuraciónProgramamos con Scratch 9:  pruebas y depuración
Programamos con Scratch 9: pruebas y depuración
 
Testing - Ing. Gabriela Muñoz
Testing - Ing. Gabriela MuñozTesting - Ing. Gabriela Muñoz
Testing - Ing. Gabriela Muñoz
 
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionSistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e Implementacion
 

Similar a Testing = Especificación + Programación

5 Inteco Solo Pruebas 2009
5 Inteco Solo Pruebas 20095 Inteco Solo Pruebas 2009
5 Inteco Solo Pruebas 2009Pepe
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Softwarearacelij
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de softwareGomez Gomez
 
Metologías Ágiles ¿Testing Ágil? (LarreBorges, Schreiber, Araújo)
Metologías Ágiles ¿Testing Ágil?  (LarreBorges, Schreiber, Araújo)Metologías Ágiles ¿Testing Ágil?  (LarreBorges, Schreiber, Araújo)
Metologías Ágiles ¿Testing Ágil? (LarreBorges, Schreiber, Araújo)Alejandro Araújo
 
El diablo está en los detalles: Calidad a través de las pruebas funcionales y...
El diablo está en los detalles: Calidad a través de las pruebas funcionales y...El diablo está en los detalles: Calidad a través de las pruebas funcionales y...
El diablo está en los detalles: Calidad a través de las pruebas funcionales y...EY Perú
 
Workshop Prototipeo INNOVA BBVA - 111102
Workshop Prototipeo INNOVA BBVA - 111102Workshop Prototipeo INNOVA BBVA - 111102
Workshop Prototipeo INNOVA BBVA - 111102JOSaxtonF
 
14 Tissat Solo Pruebas 2009
14 Tissat Solo Pruebas 200914 Tissat Solo Pruebas 2009
14 Tissat Solo Pruebas 2009Pepe
 
Gestión de la Calidad en Proyectos
Gestión de la Calidad en ProyectosGestión de la Calidad en Proyectos
Gestión de la Calidad en ProyectosJuan Azcurra
 
Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo
Bcn Dev Conference - Mejorando la gestion de los equipos de desarrolloBcn Dev Conference - Mejorando la gestion de los equipos de desarrollo
Bcn Dev Conference - Mejorando la gestion de los equipos de desarrolloAlex Ballarin
 
118 test de aceptación
118 test de aceptación118 test de aceptación
118 test de aceptaciónGeneXus
 
07 Grupo Mnemo V Semana CMMI 2009
07 Grupo Mnemo V Semana CMMI 200907 Grupo Mnemo V Semana CMMI 2009
07 Grupo Mnemo V Semana CMMI 2009Pepe
 
Meetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youMeetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youTestingUy
 

Similar a Testing = Especificación + Programación (20)

Simulación
SimulaciónSimulación
Simulación
 
5 Inteco Solo Pruebas 2009
5 Inteco Solo Pruebas 20095 Inteco Solo Pruebas 2009
5 Inteco Solo Pruebas 2009
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Software
 
Pruebas - Fundamentos
Pruebas - FundamentosPruebas - Fundamentos
Pruebas - Fundamentos
 
Pruebas fundamentos
Pruebas fundamentosPruebas fundamentos
Pruebas fundamentos
 
2. Diseño de Interfaces (Intro)
2. Diseño de Interfaces (Intro)2. Diseño de Interfaces (Intro)
2. Diseño de Interfaces (Intro)
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Metologías Ágiles ¿Testing Ágil? (LarreBorges, Schreiber, Araújo)
Metologías Ágiles ¿Testing Ágil?  (LarreBorges, Schreiber, Araújo)Metologías Ágiles ¿Testing Ágil?  (LarreBorges, Schreiber, Araújo)
Metologías Ágiles ¿Testing Ágil? (LarreBorges, Schreiber, Araújo)
 
El diablo está en los detalles: Calidad a través de las pruebas funcionales y...
El diablo está en los detalles: Calidad a través de las pruebas funcionales y...El diablo está en los detalles: Calidad a través de las pruebas funcionales y...
El diablo está en los detalles: Calidad a través de las pruebas funcionales y...
 
Workshop Prototipeo INNOVA BBVA - 111102
Workshop Prototipeo INNOVA BBVA - 111102Workshop Prototipeo INNOVA BBVA - 111102
Workshop Prototipeo INNOVA BBVA - 111102
 
14 Tissat Solo Pruebas 2009
14 Tissat Solo Pruebas 200914 Tissat Solo Pruebas 2009
14 Tissat Solo Pruebas 2009
 
Is new
Is newIs new
Is new
 
Gestión de la Calidad en Proyectos
Gestión de la Calidad en ProyectosGestión de la Calidad en Proyectos
Gestión de la Calidad en Proyectos
 
Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo
Bcn Dev Conference - Mejorando la gestion de los equipos de desarrolloBcn Dev Conference - Mejorando la gestion de los equipos de desarrollo
Bcn Dev Conference - Mejorando la gestion de los equipos de desarrollo
 
Software Testing (1)
Software Testing (1)Software Testing (1)
Software Testing (1)
 
118 test de aceptación
118 test de aceptación118 test de aceptación
118 test de aceptación
 
presentacionSQA.ppt
presentacionSQA.pptpresentacionSQA.ppt
presentacionSQA.ppt
 
07 Grupo Mnemo V Semana CMMI 2009
07 Grupo Mnemo V Semana CMMI 200907 Grupo Mnemo V Semana CMMI 2009
07 Grupo Mnemo V Semana CMMI 2009
 
Meetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youMeetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with you
 
Taller # 1 calidad
Taller # 1 calidadTaller # 1 calidad
Taller # 1 calidad
 

Más de Centro de Calidad e Innovación Polo Tecnológico de Rosario

Más de Centro de Calidad e Innovación Polo Tecnológico de Rosario (18)

Bpm Forum 2014 - CMMI: Del modelo a la realidad
Bpm Forum 2014   - CMMI: Del modelo a la realidadBpm Forum 2014   - CMMI: Del modelo a la realidad
Bpm Forum 2014 - CMMI: Del modelo a la realidad
 
CCI PTR Capacitación 2010
CCI PTR Capacitación 2010CCI PTR Capacitación 2010
CCI PTR Capacitación 2010
 
CCI-PTR Resumen 2009
CCI-PTR  Resumen 2009CCI-PTR  Resumen 2009
CCI-PTR Resumen 2009
 
Charla IBM Soa Web 2.0 Cloud Computing M Bolo
Charla IBM Soa Web 2.0 Cloud Computing   M BoloCharla IBM Soa Web 2.0 Cloud Computing   M Bolo
Charla IBM Soa Web 2.0 Cloud Computing M Bolo
 
CCI-PTR
CCI-PTRCCI-PTR
CCI-PTR
 
Disertación Scrum en Jornadas Rosarinas del PMI, octubre 2009
Disertación Scrum en Jornadas Rosarinas del PMI, octubre 2009Disertación Scrum en Jornadas Rosarinas del PMI, octubre 2009
Disertación Scrum en Jornadas Rosarinas del PMI, octubre 2009
 
Evolución de la calidad en el software en Rosario
Evolución de la calidad en el software en RosarioEvolución de la calidad en el software en Rosario
Evolución de la calidad en el software en Rosario
 
Fotos Primera Jornada Calidad e Innovación en la Producción de Software
Fotos Primera Jornada Calidad e Innovación en la Producción de SoftwareFotos Primera Jornada Calidad e Innovación en la Producción de Software
Fotos Primera Jornada Calidad e Innovación en la Producción de Software
 
Argentina y las TIC: Análisis de los principales indicadores, tendencias y op...
Argentina y las TIC: Análisis de los principales indicadores, tendencias y op...Argentina y las TIC: Análisis de los principales indicadores, tendencias y op...
Argentina y las TIC: Análisis de los principales indicadores, tendencias y op...
 
Scrum à la Globant
Scrum à la GlobantScrum à la Globant
Scrum à la Globant
 
La visión de IBM para una iniciativa CMMI
La visión de IBM para una iniciativa CMMILa visión de IBM para una iniciativa CMMI
La visión de IBM para una iniciativa CMMI
 
Developing Social Networks
Developing Social NetworksDeveloping Social Networks
Developing Social Networks
 
La Mejora Continua en la industria del Software: ISO 14598 / 9126
La Mejora Continua en la industria del Software: ISO 14598 / 9126La Mejora Continua en la industria del Software: ISO 14598 / 9126
La Mejora Continua en la industria del Software: ISO 14598 / 9126
 
El rol de los Programas Puente Universidad - Empresa, en la calidad e innovac...
El rol de los Programas Puente Universidad - Empresa, en la calidad e innovac...El rol de los Programas Puente Universidad - Empresa, en la calidad e innovac...
El rol de los Programas Puente Universidad - Empresa, en la calidad e innovac...
 
Aplicación del Proceso de Mejora Continua en la Enseñanza Universitaria de Si...
Aplicación del Proceso de Mejora Continua en la Enseñanza Universitaria de Si...Aplicación del Proceso de Mejora Continua en la Enseñanza Universitaria de Si...
Aplicación del Proceso de Mejora Continua en la Enseñanza Universitaria de Si...
 
La calidad en el gobierno electrónico
La calidad en el gobierno electrónicoLa calidad en el gobierno electrónico
La calidad en el gobierno electrónico
 
Innovar para reconvertir el negocio en época de crisis. La experiencia de Nemo
Innovar para reconvertir el negocio en época de crisis. La experiencia de NemoInnovar para reconvertir el negocio en época de crisis. La experiencia de Nemo
Innovar para reconvertir el negocio en época de crisis. La experiencia de Nemo
 
Desarrollo y Metodología: Una visión para optimizar el desarrollo y el manten...
Desarrollo y Metodología: Una visión para optimizar el desarrollo y el manten...Desarrollo y Metodología: Una visión para optimizar el desarrollo y el manten...
Desarrollo y Metodología: Una visión para optimizar el desarrollo y el manten...
 

Último

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
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
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
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
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
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
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 

Último (20)

FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
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
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
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
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
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
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 

Testing = Especificación + Programación

  • 1. Introducción Testing Basado en Modelos Un Caso de Estudio Conclusiones Testing = Especificación + Programación Haciendo posible el testing Maximiliano Cristiá Flowgate Consulting mcristia@flowgate.net CIFASIS Universidad Nacional de Rosario cristia@cifasis-conicet.gov.ar Primera Jornada de Calidad e Innovación en la Producción de Software Maximiliano Cristiá Testing = Especificación + Programación
  • 2. Introducción Aspectos económicos del testing Testing Basado en Modelos Los costos de testear Un Caso de Estudio Alcance de la charla Conclusiones Audiencia ¿Para quiénes está destinada la charla? Para los que testean Porque quieren reducir los costos de testing. Porque quieren testear más por el mismo costo. Porque el trabajo manual y repetitivo los harta. Para los que no testean pero quieren testear Porque testear es muy caro. Porque testear es muy complejo. Porque testear es muy laborioso. Porque testear requiere profesionales que no tienen. Maximiliano Cristiá Testing = Especificación + Programación
  • 3. Introducción Aspectos económicos del testing Testing Basado en Modelos Los costos de testear Un Caso de Estudio Alcance de la charla Conclusiones Madurez Esta charla es para equipos con cierto nivel de madurez Es necesario tener los requerimientos escritos. Es necesario separar los roles de testing y programación. Es conveniente tener documentación del código fuente. Maximiliano Cristiá Testing = Especificación + Programación
  • 4. Introducción Aspectos económicos del testing Testing Basado en Modelos Los costos de testear Un Caso de Estudio Alcance de la charla Conclusiones El testing es muy caro Según Fred Brooks (The Mythical Man-Month) El testing de software de base ronda el 50 % del costo total. Según el Software Engineering Institute El testing ronda entre el 30 % y el 40 % del costo total. Según IBM y Gartner Si reparar un error durante la ingeniería de requerimientos cuesta $1, repararlo durante el testing cuesta $60 y repararlo después de la entrega $100. Maximiliano Cristiá Testing = Especificación + Programación
  • 5. Introducción Aspectos económicos del testing Testing Basado en Modelos Los costos de testear Un Caso de Estudio Alcance de la charla Conclusiones Calcular casos de prueba es lo más caro Retesting La fase más costosa del testing es el retesting. Con las metodologías clásicas esto puede implicar recalcular muchos casos de prueba. Calcular los casos de prueba Técnicamente, lo más costoso del testing es calcular todos y cada uno de los casos de prueba. En cierto sentido el retesting es costoso porque hay que recalcular casos de prueba. Maximiliano Cristiá Testing = Especificación + Programación
  • 6. Introducción Aspectos económicos del testing Testing Basado en Modelos Los costos de testear Un Caso de Estudio Alcance de la charla Conclusiones ¿Cómo reducir el costo de testing? Posibles soluciones No testear. Hacer programas correctos por construcción. Automatizar el testing. ¿Es posible? Sí, en gran medida es posible. Maximiliano Cristiá Testing = Especificación + Programación
  • 7. Introducción Aspectos económicos del testing Testing Basado en Modelos Los costos de testear Un Caso de Estudio Alcance de la charla Conclusiones ¿Cómo reducir el costo de testing? Posibles soluciones No testear. Hacer programas correctos por construcción. Automatizar el testing. ¿Es posible? Sí, en gran medida es posible. Maximiliano Cristiá Testing = Especificación + Programación
  • 8. Introducción Aspectos económicos del testing Testing Basado en Modelos Los costos de testear Un Caso de Estudio Alcance de la charla Conclusiones ¿Cómo reducir el costo de testing? Posibles soluciones No testear. Hacer programas correctos por construcción. Automatizar el testing. ¿Es posible? Sí, en gran medida es posible. Maximiliano Cristiá Testing = Especificación + Programación
  • 9. Introducción Aspectos económicos del testing Testing Basado en Modelos Los costos de testear Un Caso de Estudio Alcance de la charla Conclusiones ¿Cómo reducir el costo de testing? Posibles soluciones No testear. Hacer programas correctos por construcción. Automatizar el testing. ¿Es posible? Sí, en gran medida es posible. Maximiliano Cristiá Testing = Especificación + Programación
  • 10. Introducción Aspectos económicos del testing Testing Basado en Modelos Los costos de testear Un Caso de Estudio Alcance de la charla Conclusiones ¿Cómo reducir el costo de testing? Posibles soluciones No testear. Hacer programas correctos por construcción. Automatizar el testing. ¿Es posible? Sí, en gran medida es posible. Maximiliano Cristiá Testing = Especificación + Programación
  • 11. Introducción Aspectos económicos del testing Testing Basado en Modelos Los costos de testear Un Caso de Estudio Alcance de la charla Conclusiones Validación & Verificación (V&V) Validación ¿Implementamos el programa que quiere el usuario? Testing de aceptación → Tarde y caro (IBM & Gartner). Verificación ¿Implementamos el programa especificado? Testing de unidad, de integración y de sistema. Esta charla es sobre verificación y testing de unidad. verificación requerimientos especificación programa validación Maximiliano Cristiá Testing = Especificación + Programación
  • 12. Introducción Aspectos económicos del testing Testing Basado en Modelos Los costos de testear Un Caso de Estudio Alcance de la charla Conclusiones Corrección de un programa Considerando sólo verificación: Definición Un programa es correcto si verifica su especificación. Por lo tanto, para poder testear es necesario tener una especificación. A la especificación también se la llama modelo. Maximiliano Cristiá Testing = Especificación + Programación
  • 13. Introducción Testing Basado en Modelos Un Caso de Estudio Conclusiones Model-Based Testing (MBT) El testing se realiza partiendo de Proceso de MBT un modelo del software. requerimientos Al inicio, el modelo se utiliza para generar casos de prueba. modelo ¿error? Al final, el modelo se utiliza como generar comprobar oráculo. test resultados Teniendo el modelo, el proceso es abstractos abstractos muy automático. refinar abstraer En esta charla sólo veremos ejecutar “generar”. tests resultados Maximiliano Cristiá Testing = Especificación + Programación
  • 14. Introducción Testing Basado en Modelos Un Caso de Estudio Conclusiones ¿Quiénes usan MBT? Empresas y sectores Microsoft – Sun – France Telecom – Cisco Control de tráfico aéreo. La industria automovilística europea. La industria de tarjetas inteligentes. El reporte IBM GOTCHA-TCBeans – FSM Testing de la implementación POSIX de fnctl. Testing de parte del garbage collector de JVM. IBM reporta un ahorro sustancial y mayor cubrimiento. Maximiliano Cristiá Testing = Especificación + Programación
  • 15. Introducción Testing Basado en Modelos Un Caso de Estudio Conclusiones MBT formal → Testing automático Modelos formales Para automatizar MBT se utilizan modelos formales. Un modelo formal es una descripción lógico-matemática (abreviada) de un programa: es una abstracción. Esta charla es sobre MBT formal. Notaciones formales Para escribir una especificación formal se utiliza una notación formal. Notaciones formales: Z, Statecharts, CSP, B, TLA+ . . . En esta charla se utilizarán especificaciones Z. Maximiliano Cristiá Testing = Especificación + Programación
  • 16. Introducción Testing Basado en Modelos Un Caso de Estudio Conclusiones ¿Es más barato el MBT formal? Maximiliano Cristiá Testing = Especificación + Programación
  • 17. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones Veamos un ejemplo concreto Los requerimientos Un banco tiene un cierto conjunto de cajas de ahorro en las cuales se puede depositar y extraer dinero. Cada caja de ahorro se identifica con un número de cuenta. Los montos a depositar y los saldos serán números enteros. Sólo se debe mantener el saldo de cada caja de ahorro. Sólo modelaremos la operación de depósito. Maximiliano Cristiá Testing = Especificación + Programación
  • 18. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones La especificación Z Los tipos básicos [NCTA] Un tipo para los números de cuenta SALDO == N Un tipo para los saldos Comentarios No nos importa la estructura de un número de cuenta. Para simplificar consideramos que los saldos son números naturales. Maximiliano Cristiá Testing = Especificación + Programación
  • 19. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones La especificación Z El conjunto de estados Banco cajas : NCTA → SALDO Comentarios Del banco sólo nos importan las cajas de ahorro. A cada número de cuenta le corresponde un único saldo. No nos importan: la persistencia, la performance, el lenguaje de programación, las estructuras de datos, etc. Maximiliano Cristiá Testing = Especificación + Programación
  • 20. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones La especificación Z La operación de depósito DepositarOk ∆Banco Se cambia el estado num? : NCTA; monto? : Z Parámetros de entrada num? ∈ dom cajas ¿Existe la cuenta? monto? > 0 No se puede depositar 0 o menos cajas = cajas ⊕ {num? → cajas(num?) + monto?} Comentarios cajas representa la “base de datos” luego del depósito. El operador ⊕ se parece a update de SQL. Maximiliano Cristiá Testing = Especificación + Programación
  • 21. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones La especificación Z La operación de depósito (cont.) DepositarE1 == [ΞBanco; num? : NCTA | num? ∈ dom cajas] / DepositarE2 == [ΞBanco; monto? : Z | monto? ≤ 0] Depositar == DepositarOk ∨ DepositarE1 ∨ DepositarE2 Comentarios DepositarE1 y DepositarE2 especifican posibles errores. La operación final se arma usando todos los esquemas. Depositar es la operación que vamos a testear. Maximiliano Cristiá Testing = Especificación + Programación
  • 22. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones Usamos el modelo para generar casos de prueba Proceso de MBT Detalle de “generar” modelo ¿error? tests VIS árbol de pruebas comprobar abstractos podar generar táctica táctica táctica test resultados partición VIS ... partición VIS abstractos abstractos refinar abstraer Siempre el costo ejecutar tests resultados El mayor costo de testing es calcular los casos de prueba. Maximiliano Cristiá Testing = Especificación + Programación
  • 23. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones Fastest: automatización de MBT El proyecto I+D conjunto entre Flowgate Consulting y CIFASIS. Parcialmente financiado por FONTAR. Prototipo disponible en www.flowgate.net. Características Procesamiento distribuido – Cliente-servidor. Extensible y configurable por el usuario – Tácticas. Multiplataforma – Java. Auto-documentación – Latex y PDF. Interfaz de texto muy simple – A mejorar. Maximiliano Cristiá Testing = Especificación + Programación
  • 24. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones VIS y tácticas En teoría VIS == [cajas : NCTA → SALDO; num? : NCTA; monto? : Z] Dos tácticas de testing: DNF: considera cada uno de los esquemas por separado. Partición estándar sobre ⊕ considera valores representativos para cajas y {num? → cajas(num?) + monto?}. Con Fastest loadspec banco.tex selop Depositar addtactic Depositar SP oplus cajas oplus {num? map cajas(num?) + monto?} Maximiliano Cristiá Testing = Especificación + Programación
  • 25. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones El árbol de pruebas En teoría Cada nodo del árbol es un objetivo de prueba. Cada objetivo es un conjunto de condiciones que tiene que cumplir un caso de prueba. Los objetivos se tornan más específicos a medida que se desciende por el árbol. Los casos de prueba se extraen de las hojas del árbol. Con Fastest genalltt showtt -p Depositar Maximiliano Cristiá Testing = Especificación + Programación
  • 26. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones El árbol de pruebas de Depositar VIS DNF 1 DNF 2 DNF 3 SP1 ... SP8 SP9 ... SP16 SP17 . . . SP24 Ejemplos de objetivos de prueba DNF 1 == [VIS | num? ∈ dom cajas ∧ monto? > 0] SP4 == [VIS | num? ∈ dom cajas ∧ monto? > 0 ∧ cajas = {} ∧ dom cajas = dom{num? → cajas(num?) + monto?}] Maximiliano Cristiá Testing = Especificación + Programación
  • 27. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones Podando el árbol de pruebas En teoría Muchos de los objetivos pueden ser inalcanzables. Son situaciones imposibles de testear. Es conveniente eliminar esos objetivos. SP6 == [VIS | num? ∈ dom cajas ∧ monto? > 0 ∧ cajas = {} ∧ dom cajas ∩ dom{num? → cajas(num?) + monto?} = {}] Con Fastest – Automático en la próxima versión prunefrom SP_1, SP_2, SP_3, SP_6, SP_7, SP_8 prunefrom SP_9, SP_11, SP_12, SP_13, SP_15, SP_16 prunefrom SF_17, SP_19, SP_22, SP_23, SP_24 Maximiliano Cristiá Testing = Especificación + Programación
  • 28. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones El árbol y los objetivos resultantes VIS 5 objetivos DNF 1 DNF 2 DNF 3 SP4 SP5 SP20 SP21 SP4 == [. . . ] SP5 == [VIS | num? ∈ dom cajas ∧ monto? > 0 ∧ cajas = {} ∧ dom{num? → cajas(num?) + monto?} ⊂ dom cajas] DNF 2 == [VIS | num? ∈ dom cajas] / SP20 == [. . . ] SP21 == [. . . ] Maximiliano Cristiá Testing = Especificación + Programación
  • 29. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones Generando casos de prueba En teoría Se deben buscar constantes que satisfagan cada uno de los objetivos de prueba. Esto no es automatizable en el 100 % de los casos. Con Fastest En promedio Fastest se acerca al 90 %, el resto es manual. En este ejemplo encuentra el 100 % de los casos. El comando es genalltca. Maximiliano Cristiá Testing = Especificación + Programación
  • 30. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones Los casos de prueba en Z 5 casos automáticos SP4T == [VIS | monto? = 1 ∧ num? = ncta0 ∧ cajas = {ncta0 → 1}] SP5T == [VIS | monto? = 1 ∧ num? = ncta0 ∧ cajas = {ncta0 → 1, ncta1 → 1}] DNF 2T == [VIS | monto? = 0 ∧ num? = ncta0 ∧ cajas = ∅] SP20T == [VIS | monto? = −1 ∧ num? = ncta0 ∧ cajas = {ncta0 → 1}] SP21T == [VIS | monto? = −1 ∧ num? = ncta0 ∧ cajas = {ncta0 → 1, ncta1 → 1}] Maximiliano Cristiá Testing = Especificación + Programación
  • 31. Introducción El modelo Testing Basado en Modelos Detalle del paso “generar” Un Caso de Estudio Testing asistido por Fastest Conclusiones ¿Qué estamos testeando? Los casos de prueba en castellano SP4T : depositar en una cuenta existente una cantidad positiva cuando es la única cuenta. SP5T : depositar en una cuenta existente una cantidad positiva cuando no es la única cuenta. DNF 2T : intentar un depósito cuando no hay cuentas. SP20T : depositar en una cuenta existente una cantidad negativa cuando es la única cuenta. SP21T : depositar en una cuenta existente una cantidad negativa cuando no es la única cuenta. Maximiliano Cristiá Testing = Especificación + Programación
  • 32. Introducción Testing Basado en Modelos Un Caso de Estudio Conclusiones Ventajas y desventajas del MBT formal Ventajas Es la técnica de testing más económica. Es la técnica de testing más automática. Es la técnica de testing más disciplinada. Es la técnica de testing que más errores descubre. Es la técnica de testing menos orientada al código. Se puede comenzar el testing desde el inicio del proyecto. Desventajas Requiere profesionales que puedan modelar formalmente. Requiere una herramienta como Fastest. Maximiliano Cristiá Testing = Especificación + Programación
  • 33. Introducción Testing Basado en Modelos Un Caso de Estudio Conclusiones MBT formal hace posible el testing Maximiliano Cristiá Testing = Especificación + Programación
  • 34. Introducción Testing Basado en Modelos Un Caso de Estudio Conclusiones Proyectos actuales de testing con Fastest Con INPE Instituto Nacional de Pesquisas Espaciais (Brasil). Testing de protocolo de comunicación entre computadoras de satélites. Con Critical Software y Universidad de Coimbra Instituciones portuguesas. Testing de software de abordo de satélites según estándar de la ESA. Maximiliano Cristiá Testing = Especificación + Programación