Sei sulla pagina 1di 9

UNIVERSIDAD MAYOR DE SAN SIMN FACULTAD DE CIENCIAS Y TECNOLOGA

PRUEBAS DE UNIDAD

GRUPO: JUKUMARI NOMBRES: DIEGO BARRIENTOS JALDN ALEXANDER REINAGA LPEZ MATERIA: EVALUACIN Y AUDITORIA DE SISTEMAS CARRERA: INGENIERA DE SISTEMAS

Cochabamba, 8 de octubre de 2012

NDICE I. INTRODUCCIN............................................................................................................................... 2 II. OBJETIVO......................................................................................................................................... 2 III. PLANIFICACIN........................................................................................................................... 3 IV. DESCRIPCIN SOBRE EL DESARROLLO DE LA INVESTIGACIN................................ 3 V. CONCLUSIONES.............................................................................................................................. 8 VI. REFERENCIAS BIBLIOGRFICAS........................................................................................... 8

I. INTRODUCCIN El factor fundamental para el xito en la produccin de software es la calidad y para ello es necesario tener en cuenta una serie de aspectos para que la misma sea ptima. La obtencin de un software con calidad implica la utilizacin de metodologas o procedimientos estndares para el anlisis, diseo, programacin y prueba del software, que permitan uniformar la filosofa de trabajo con el objetivo de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad tanto para la labor de desarrollo como para el control de la calidad del software. Antes de que el software se le entregue al usuario final es necesario realizar pruebas con el objetivo de detectar errores de la aplicacin y la documentacin; este proceso resulta de gran importancia ya que da una medida de la calidad del producto siempre que se lleve a cabo de forma apropiada. Una de las fases ms importantes del ciclo de vida antes de entregar un software para su uso es la fase de pruebas. Se estima que la mitad del esfuerzo de desarrollo de un programa se consume en esta fase de ah la importancia de esta. Las pruebas son de suma importancia para el software y tienen sus implicaciones en la calidad de ste. Uno de los pasos para garantizar que el producto final tenga la menor cantidad de errores posibles es el desarrollo de un correcto procedimiento de pruebas de unidad. Estas pruebas tienen un impacto importante en el cdigo y la calidad del producto final. Con la aparicin de los procesos giles, la divisin de fases de desarrollo se ve reducida, los equipos de trabajo son multidisciplinarios y no como en otros procesos de desarrollo donde existan personas altamente calificada para las distintas fase de desarrollo del software. En un equipo de trabajo de cualquier proceso gil cada miembro de ser capaz de realizar el diseo, la implementacin y las pruebas, las pruebas que realizan los miembros del equipo son pruebas unitarias sobre la porcin del sistema que les corresponde. Muchas veces los casos de prueba se hacen antes que se codifique ni siquiera una lnea de cdigo como en el caso de TDD (Test Driven Development) traduciendo desarrollo dirigido por tests (pruebas), es una tcnica de diseo e implementacin de software incluida dentro del proceso XP, si bien TDD es parte de XP no es exclusivo de este proceso de desarrollo, ya que cualquier proceso gil no son marcos de trabajo cerrados se pueden utilizar tcnicas propias de otros procesos de desarrollo con mayor aceptacin si proviene de un proceso gil. Si desarrollamos nuestro sistema con la plataforma java encontraremos un framework llamado JUnit que provee las libreras necesarias para realizar pruebas unitarias sobre los mtodos de las clases java que queramos controlar. Bueno JUnit fue escrito por Erich Gamma y Kent Beck, Kent Beck cre XP de all que JUnit fue destinado como una herramienta de apoyo al desarrollo de software gil si bien no slo se lo puede utilizar el para desarrollar software con un proceso gil tambin se puede utilizar para evaluar el cdigo y encontrar errores. Pero su mayor uso es el desarrollo con procesos giles II. OBJETIVO Investigar el funcionamiento de las pruebas unitarias, las herramientas automatizadas que existen y la aplicacin de una de ellas.

III. PLANIFICACIN Descripcin Sprint 1: Investigacin y bsqueda de informacin Sprint 2: Realizacin del informe Tiempo

Bsqueda de conceptos, herramientas de automatizacin, 3 das. herramientas de dominio pblico, la forma en la que se usan y el modo de aplicarlas en un software. Contenido del informe: Caratula. ndice. Introduccin. Objetivo general. Planificacin. Descripcin del desarrollo de la investigacin. Conclusiones. Referencias bibliogrficas. Anexos. 7 das.

Sprint 3: Bsqueda de imgenes, videos, aplicacin de la Realizacin de las herramienta. diapositivas

4 das.

IV. DESCRIPCIN SOBRE EL DESARROLLO DE LA INVESTIGACIN 1. Qu son? Las pruebas de unidad son un proceso para probar los subprogramas, los procedimientos individuales o las clases en un programa. Esto se hace porque es mejor probar partes pequeas del software que el programa en su totalidad, ya que se puede descubrir con exactitud el elemento que esta fallando, adems de poder hacer varios tests simultneamente. Despus se podr probar todo el software mediante las pruebas de integracin. Para que una prueba de unidad sea buena, debe ser: Automatizable, no debe requerir de intervencin manual. Completa, debe cubrir la mayor cantidad de cdigo. Reutilizable, deben poder usarse varias veces. Independiente, no debe afectar la ejecucin de otra Profesional, debe ser considerada al igual que el resto del cdigo. 2. Qu herramientas disponibles existen? Para Java existen, entre otras, las siguientes herramientas: JUnit: Marco de trabajo de cdigo abierto desarrollado especialmente para crear, ejecutar y hacer reportes de estado de conjuntos de Prueba Unitaria automatizadas hechos en lenguaje Java.

TestNG: Marco de pruebas inspirado en JUnit y NUnit, pero la introduccin de algunas nuevas funcionalidades que lo hacen ms potente y fcil de usar. JTiger: Framework de pruebas que usa las caractersticas de Java 1.5. Puede ejecutar los casos de prueba de JUnit.

3. Tabla de Comparacin entre Herramientas Herramientas Complementos Anotaciones JUnit

Pruebas

Licencia Licencia GPL.

Existe como Incluye anotaciones Cubre pruebas complemento para JDK 5 recin desde unitarias. entornos de desarrollo la versin 4.5. integrado como NetBeans y Eclipse. Existe como Incluye anotaciones complemento para JDK 5. entornos de desarrollo integrado como Eclipse, IntelliJ IDEA. Cubre pruebas unitarias, pruebas funcionales y pruebas de integracin.

TestNG

Licencia Apache 2.0.

JTiger

No existe como Incluye anotaciones Cubre pruebas complemento para JDK 5. unitarias. entornos de desarrollo integrado.

Licencia GPL.

4. Ejemplo con JUnit Para el ejemplo utilizaremos un Generador de Cdigo de Barras EAN-13, que dados el cdigo de pas y de empresa obtenemos como resultado el nmero de producto y el dgito de control:

La clase Generador.java posee siete mtodos, de los cuales probaremos 5 con JUnit, stos son: invertirCadena(String s): devuelve invertida la cadena pasada como argumento. sumarImpares(String s): devuelve la suma de los dgitos impares de la cadena. sumarPares(String s): devuelve la suma de los dgitos pares de la cadena. getDecenaSuperior(int n): retorna la decena superior del nmero pasado como argumento. getDigitoControl(int decenaSuperior, int sumaTotal): retorna la resta de la decena superior y la suma total; si es diez devuelve cero. Usaremos el entorno de desarrollo integrado (IDE) NetBeans 7.2 y JUnit 4.10.

Paso 1: Hacemos clic derecho a la clase que queremos probar y escogemos Herramientas > Crear Pruebas. Se desplegar el cuadro de dilogo de Creacin de Pruebas.

Aqu podemos escoger el nombre de la clase de prueba, la direccin donde se guardar y el marco de trabajo que utilizaremos, que en nuestro caso es JUnit. Pulsamos aceptar.

Paso 2: Se crearn pruebas para cada uno de los mtodos de nuestra clase que deben ser modificados para convertirse en verdaderos casos de prueba:

En este caso s es la cadena que se invertir, podemos probar con la ruta natural. Creamos una instancia de Generador, que recibe como argumento el cdigo de pas y empresa, probaremos con 77792378. Luego cambiamos expResult que es el resultado esperado, en nuestro caso ser larutan atur al. Finalmente borramos el comentario y la llamada a fail().

Paso 3: Ahora vamos a la clase de prueba, hacemos clic derecho y elegimos la opcin Ejecutar Archivo. En la ventana de resultados de prueba aparecer lo siguiente:

Donde se informa sobre la cantidad de pruebas exitosas, las falladas y el tiempo de ejecucin. testInvertirCadena() pasa la prueba. Una vez eliminados los casos de prueba que no necesitamos (testGetDigitoControl() y testGetCodigoCompleto()) y modificados los restantes de forma correcta, el xito de las pruebas debera ser del 100%.

V. CONCLUSIONES Las pruebas unitarias ayudan a mejorar la calidad del software, para esto se deben complementar con pruebas de integracin, pruebas de sistema y pruebas de aceptacin. Al aplicarse a partes y no al conjunto del programa, es sencillo encontrar la ubicacin de la falla en el software. Por lo general las herramientas para aplicar las pruebas unitarias son libres, por lo que no se requiere de un gran presupuesto para realizarlas. Se pueden hacer pruebas unitarias simultneamente, lo que reduce el tiempo de las pruebas. JUnit es fcil de aprender y sencillo de usar. Ahorra tiempo ya que se pueden ejecutar pruebas de forma rpida ante cualquier cambio en el software.

VI. REFERENCIAS BIBLIOGRFICAS http://es.wikipedia.org/wiki/JUnit (Consulta: 01/10/2012). http://synergix.wordpress.com/2008/03/15/definimos-pruebas-de-unidad-como/ (Consulta: 01/10/2012). http://www.informaticajuridica.com/trabajos/Procedimiento_para_la_realizacion_de_pruebas_de_unidad.asp (Consulta: 01/10/2012). http://200.69.103.48/comunidad/grupos/arquisoft/fileadmin/Estudiantes/Pruebas/HTML%20%20Pruebas%20de%20software/node30.html (Consulta: 01/10/2012). http://es.wikipedia.org/wiki/Prueba_unitaria (Consulta: 01/10/2012). http://es.wikipedia.org/wiki/TestNG (Consulta: 01/10/2012). http://www.indicthreads.com/1417/why-pick-jtiger-java-unit-testing-framework-over-good-oldjunit/ (Consulta: 01/10/2012). http://www.dosideas.com/wiki/Herramientas_Para_Pruebas_Unitarias (Consulta: 01/10/2012).
CONSULTORA DE REAS DE CONOCIMIENTO DE LA SOCIEDAD INFORMTICA DEL GOBIERNO VASCO. (2005). JUnit Manual de Usuario . ALBA CASTRO, M. (2011). Procedimiento para la realizacin de pruebas de unidad de software orientado por objetos a nivel de clases . RODRGUEZ, J. (2006). Pruebas Unitarias. DEPARTAMENTO DE SISTEMAS TELEMTICOS. (2004). JUnit. Pruebas Unitarias.

Potrebbero piacerti anche