Pruebas unitarias
Upcoming SlideShare
Loading in...5
×
 

Pruebas unitarias

on

  • 2,051 views

Pruebas unitarias

Pruebas unitarias

Statistics

Views

Total Views
2,051
Views on SlideShare
2,049
Embed Views
2

Actions

Likes
0
Downloads
40
Comments
0

1 Embed 2

http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Pruebas unitarias Presentation Transcript

  • 1. Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales 23 de Noviembre de 2010 José Luis Rodríguez Roldan joseluis.rodriguezroldan@gmail.com
  • 2. Pruebas o Testing (Tipos)Pruebas unitarias *Pruebas funcionales : Es un proceso para procurar encontrar discrepanciasentre las funcionalidades del programa y la especificación funcional.Pruebas de Integración : Es cuando se han aprobado las pruebas unitarias, seprueban todos los elementos que componen un proceso.Pruebas de validación : Es el proceso de comprobación que lo que se adesarrollado es lo que el usuario quería , es como se debe de comportar elprograma desde el punto de vista del usuario.Pruebas de sistema : Es la comprobación que se le realiza al producto enforma completa.Pruebas de aceptación : Es la comprobación que realiza un grupo deusuarios o clientes , para asegurarse que el sistema desarrollado cumple susrequisitos.Pruebas de regresión: Es la comprobación que intenta descubrir las causasde errores, falta de funcionalidades o cualquier comportamiento no esperadodespués de realizado un cambio y que anteriormente no se producía.Pruebas de carga: Es para observar el comportamiento de una aplicación bajouna cantidad de peticiones esperadas. Tienen el propósito de encontrar cuellosde botellas en la aplicaciónPruebas de prestaciones: Es simular la normal utilización del sistema paraidentificar problemas de rendimiento y desgracian de recursos para facilitar sucorrección.
  • 3. Pruebas o Testing (Tipos)
  • 4. Introducción a TCA Que es TCA (Test After Coding)Son los test que se realizan, después que el código ya estaescrito .Los casos de prueba se suelen escribir después deimplementar el modulo cuyo funcionamiento sepretende verificar.A veces se preparan en paralelo si el programador y lapersona que realizan las pruebas (tester) no son lamisma persona.
  • 5. Introducción a TDD Que es TDD (Test Driven Development)Es una metodología de programación que involucra 2 prácticas:Escribir primero las pruebas unitarias, o sea, escribir el test antes deescribir el programa y refactoring. Ciclo del TDD:1. Escribir un test e intentar compilar, aunque aun no sea posible porque no se desarrollo la funcionalidad correspondiente.2. Escribir la mínima cantidad de código posible para que la prueba unitaria compile y ejecutarla. Deberá fallar, ya que no tiene la funcionalidad requerida.3. Escribir el test de tal manera, que al ser ejecutado, este no falle. La idea es que la función escrita no sea lo más elegante y optimo posible, sino que simplemente, permita pasar el test unitario exitosamente.4. Refactorizar el código de la función, para que sea lo más optimo posible. Es muy posible que existan varias instancias de refactorización del código de la función en distintas etapas del proyecto.5. Escribir un nuevo test unitario para otra funcionalidad.
  • 6. Ciclo del TDD
  • 7. Test Unitario (Unit Test)Un test unitario (Unit Test) es un trozo decódigo desarrollado con el único objetivo deverificar que una rutina o función de nuestrocódigo está funcionando según esperamos.Test simples que cubren las instancias declases en diferentes escenarios.Condiciones de pruebas diseñadas.Resultados verificados.
  • 8. Test Unitario (Unit Test) ¿Por qué usar Test Unitario (Unit Test) ?1. Facilita los cambios en la aplicación ya que las pruebas nos asegurarán que los nuevos cambios no han introducido errores.2. Simplifica la integración gracias a que permiten llegar a la fase de integración con un grado alto de seguridad de que el código está funcionando correctamente. De esta manera se facilitan las pruebas de integración.3. Documenta el código. Las propias pruebas son un libro abierto sobre el funcionamiento de la función y los resultados esperados.4. Separación de la interfaz y la implementación. Dado que la única interacción entre los casos de prueba y las unidades bajo prueba son las interfaces de estas últimas, se puede cambiar cualquiera de los dos sin afectar al otro.5. Los errores están más acotados y son más fáciles de localizar: dado que tenemos preparado un test para cada función que puede desenmascararlo.6. Aunque pueda parecer mentira, los test unitarios aceleran el desarrollo de nuestro software.7. Ayuda a tener un código desacoplado gracias a que cada una de nuestras funciones está pensada para devolver un resultado que podrá ser testeado.
  • 9. Test Unitario (Unit Test) HerramientasDebido al gran éxito que esta metodología está teniendo en el mundo de la ingenieríadel software, son muchas y variadas las herramientas que se han ido desarrollandohasta día de hoy. Algunas han surgido en forma de frameworks, otras en formato plug-in bajo el control de algún browser o incluso como librerías para su uso en plataformasde programación.Entre los que podemos citar a: JUnit: Entorno de pruebas para Java creado por Erich Gamma y Kent Beck. HttpUnit: viene a ser un cliente web programable. Se puede usar de forma aislada ocomo complemento del framework Junit. DBUnit: en realidad es una extensión de JUnit que tiene como ventaja el poder teneren cuenta la existencia de una base de datos a la hora de realizar las pruebas de los test SimpleTest: Entorno de pruebas para aplicaciones realizadas en PHP. PHPUnit: framework para realizar pruebas unitarias en PHP. CPPUnit: Versión del framework para lenguajes C/C++. NUnit: Versión del framework para la plataforma.NET. FoxUnit: framework OpenSource de pruebas unitarias para Microsoft Visual FoxPro. TestNG: Creado para suplir algunas deficiencias en JUnit. JTiger: Basado en anotaciones, como TestNG. Selenium: es toda una herramienta dedicada al Test-driven Development, tienedistintos formatos en los que puede ser utilizados y aporta una importante cantidad defuncionalidades nuevas para la creación de los test.
  • 10. Test Unitario (Unit Test) AssertLa mayoria de las herramientas tienen assert, que son afirmaciones que son usada paracomprobar suposiciones en el programa, colocada donde el desarrollador consideraque su ennunciado es siempre verdadero.Esto da lugar a que existan afirmaciones y por lo tanto condiciones antes(precondiciones) y despues (postcondiciones) de la ejecución de determinadas lineasde código, lo que da lugar a las pruebas unitarias.Ejemploint b= 3;b= b+8;System.out.println(“b tiene valor: “, b);(b==11) //assertb= b*2;
  • 11. Test Unitario (Unit Test) Assert Junit (java)
  • 12. Demo