+ All Categories
Home > Documents > Pruebas unitarias

Pruebas unitarias

Date post: 11-Jun-2015
Category:
Upload: jose-luis-rodriguez-roldan
View: 2,980 times
Download: 5 times
Share this document with a friend
Description:
Pruebas unitarias
12
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales 23 de Noviembre de 2010 José Luis Rodríguez Roldan [email protected] 23 de Noviembre de 2010
Transcript
Page 1: Pruebas unitarias

Universidad Nacional de San JuanFacultad de Ciencias Exactas, Físicas y Naturales

23 de Noviembre de 2010

José Luis Rodríguez [email protected]

23 de Noviembre de 2010

Page 2: Pruebas unitarias

Pruebas o Testing (Tipos)� Pruebas unitarias *� Pruebas funcionales : Es un proceso para procurar encontrar discrepancias

entre las funcionalidades del programa y la especificación funcional. � Pruebas de Integración : Es cuando se han aprobado las pruebas unitarias, se

prueban todos los elementos que componen un proceso.� Pruebas de validación : Es el proceso de comprobación que lo que se a

desarrollado es lo que el usuario quería , es como se debe de comportar el programa desde el punto de vista del usuario.

� Pruebas de sistema : Es la comprobación que se le realiza al producto en forma completa.forma completa.

� Pruebas de aceptación : Es la comprobación que realiza un grupo de usuarios o clientes , para asegurarse que el sistema desarrollado cumple sus requisitos.

� Pruebas de regresión: Es la comprobación que intenta descubrir las causas de errores, falta de funcionalidades o cualquier comportamiento no esperado después de realizado un cambio y que anteriormente no se producía.

� Pruebas de carga: Es para observar el comportamiento de una aplicación bajo una cantidad de peticiones esperadas. Tienen el propósito de encontrar cuellos de botellas en la aplicación

� Pruebas de prestaciones: Es simular la normal utilización del sistema para identificar problemas de rendimiento y desgracian de recursos para facilitar su corrección.

Page 3: Pruebas unitarias

Pruebas o Testing (Tipos)

Page 4: Pruebas unitarias

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.pretende verificar.

A veces se preparan en paralelo si el programador y lapersona que realizan las pruebas (tester) no son lamisma persona.

Page 5: Pruebas unitarias

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 de escribir 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 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.

Page 6: Pruebas unitarias

Ciclo del TDD

Page 7: Pruebas unitarias

Test Unitario (Unit Test) �Un test unitario (Unit Test) es un trozo de

código desarrollado con el único objetivo de verificar que una rutina o función de nuestro código está funcionando según esperamos.

�Test simples que cubren las instancias de �Test simples que cubren las instancias de clases en diferentes escenarios.

�Condiciones de pruebas diseñadas.

�Resultados verificados.

Page 8: Pruebas unitarias

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.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.

Page 9: Pruebas unitarias

Test Unitario (Unit Test) Herramientas

Debido al gran éxito que esta metodología está teniendo en el mundo de la ingeniería del software, son muchas y variadas las herramientas que se han ido desarrollando hasta 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 plataformas de 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 o como complemento del framework Junit.como complemento del framework Junit.�DBUnit: en realidad es una extensión de JUnit que tiene como ventaja el poder tener en 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, tiene distintos formatos en los que puede ser utilizados y aporta una importante cantidad de funcionalidades nuevas para la creación de los test.

Page 10: Pruebas unitarias

Test Unitario (Unit Test)

AssertLa mayoria de las herramientas tienen assert, que son afirmaciones que son usada para comprobar suposiciones en el programa, colocada donde el desarrollador considera que 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.

Ejemplo

int b= 3;

b= b+8;

System.out.println(“b tiene valor: “, b);

(b==11) //assert

b= b*2;

Page 11: Pruebas unitarias

Test Unitario (Unit Test)

Assert Junit (java)

Page 12: Pruebas unitarias

Demo


Recommended