Download ACTIVIDAD 3: REALIZACIÓN DE PRUEBAS UNITARIAS PARA
Document related concepts
no text concepts found
Transcript
Actividad 3: Pruebas Unitarias para Verificación y Validación ACTIVIDAD 3: REALIZACIÓN DE PRUEBAS UNITARIAS PARA VERIFICACIÓN Y VALIDACIÓN Departamento de Ingeniería Informática Asignatura: LS3148: Calidad del Software Curso: 2003/04, segundo cuatrimestre Grupos: 3IM1 Profesor: Justo N. Hidalgo Sanz LS3148: Calidad del Software. Justo Hidalgo – DII 1 Actividad 3: Pruebas Unitarias para Verificación y Validación Tabla de Contenidos Nombre de la Actividad.................................................................................................. 3 Objetivo.......................................................................................................................... 3 Objetivos Técnicos ..................................................................................................... 3 Objetivos de Calidad .................................................................................................. 3 Descripción .................................................................................................................... 3 Tareas............................................................................................................................. 3 Pasos .............................................................................................................................. 4 Aplicación de Acceso Programático a Google................................................................ 5 LS3148: Calidad del Software. Justo Hidalgo – DII 2 Actividad 3: Pruebas Unitarias para Verificación y Validación Nombre de la Actividad Pruebas Unitarias para Verificación y Validación Objetivo - Objetivos Técnicos Aprendizaje de utilización de un “framework” de realización de pruebas unitarias. - Objetivos de Calidad Comprensión del componente de Verificación y Validación en el contexto del desarrollo de software. Descripción La realización de pruebas en el desarrollo de aplicaciones software siempre se ha infravalorado como flujo de trabajo en proyectos reales, debido principalmente a retrasos en la planificación. Sin embargo, desde siempre, se sabe que este flujo de trabajo es vital para el correcto funcionamiento del sistema construído. Cualquier Plan de Garantía de Calidad requiere una fase de Verificación y Validación que compruebe que el sistema creado es válido tanto desde el punto de vista técnico – ¿se ha construido correctamente?- como desde el punto de vista funcional -¿se ha construido el sistema correcto?-. Se ha visto en clase un ejemplo de “framework” de generación de pruebas, que ayuda a facilitar y simplificar el flujo de pruebas, centrándose en las necesidades impuestas por los casos de uso definidos en requisitos. El objetivo de esta actividad optativa es la de crear un conjunto (“suite”) de pruebas en JUnit sobre la aplicación que se encuentra en la misma página desde donde se descargó este documento. Tareas El objetivo de este trabajo es: - Que el alumno aprenda a entender una aplicación ya realizada –ingeniería inversa-. - Que el alumno obtenga conceptos básicos del lenguaje de programación Java, y de la utilización de su plataforma. LS3148: Calidad del Software. Justo Hidalgo – DII 3 Actividad 3: Pruebas Unitarias para Verificación y Validación - Que el alumno sea capaz de definir adecuadamente suites de pruebas a partir de la aplicación y de su especificación funcional. Pasos 1. Lectura de la documentación funcional de la aplicación (siguientes capítulos de este documento) 2. Estudio del código de la aplicación para la comprensión total del sistema a. Ejecución a partir de los “scripts” provistos. 3. 60% de la nota: realización de casos de prueba a partir de los casos de uso descubiertos. 4. 40% de la nota: realización de una “suite” de pruebas a partir de los casos de uso, utilizando JUnit como framework de pruebas. LS3148: Calidad del Software. Justo Hidalgo – DII 4 Actividad 3: Pruebas Unitarias para Verificación y Validación Aplicación de Acceso Programático a Google La aplicación que se encuentra en el fichero comprimido “googleapi.zip” , que es una aplicación Java que permite invocar consultas desde un cliente Java a un servidor, también Java, que a su vez se comunica con el buscador Google a través de un API (conjunto de clases) provisto por el propio robot de búsqueda. 1. El cliente se conecta a un servidor RMI, al que, mediante unos métodos definidos en una interfaz, puede acceder a Google. 2. El servidor devuelve la información al cliente como un vector de respuestas, y el cliente los muestra en pantalla. Para poder ejecutarla, es necesario tener instalado en la máquina local una versión de Java 1.4.x o superior, así como conexión a internet. Los pasos para poder arrancar el sistema son los siguientes: 1. Abrir una interfaz de comandos 2. Ir al directorio raíz del ejemplo (donde se descomprimió el .zip) 3. Abrir el fichero environment.bat (p.e. con notepad) 4. Modificar las variables de entorno para que los “paths” coincidan con los que existan en la máquina local (es decir, que los directorios de instalación de Java sean los de la máquina local). 5. Hacer lo mismo con los ficheros client_c.bat y server_c.bat 6. Ejecutar el fichero environment.bat desde la interfaz de comandos (esto se realiza escribiendo “environment” y pulsando enter). 7. Abrir dos interfaces de comandos desde la primera (escribir “Start” y pulsar enter). 8. Desde la primera interfaz, arrancar el servicio de nombrados: “startregistry” a. Cuando el cliente quiere encontrar al servidor, necesita a alguien que le diga dónde está. Ese “alguien” es el servicio de nombrado que, a partir LS3148: Calidad del Software. Justo Hidalgo – DII 5 Actividad 3: Pruebas Unitarias para Verificación y Validación de un nombre, devuelve una referencia al objeto remoto –servidor- que atiende la petición. 9. Desde la segunda interfaz, arrancar el servidor: “server_c” a. Si queremos que el cliente pueda preguntar al servidor, necesitamos que el servidor esté arrancado previamente. i. Este fichero se encuentra configurado para poder ejecutarse en el laboratorio 204, y salga a través del proxy. Para ello se utilizan las propiedades http.proxyHost y http.proxyPort. Si no salís por proxy, eliminad estas propiedades del fichero server_c.bat. Si salís por proxy desde otro sitio, tendréis que hallar esta información y modificarla. 10. Desde la tercera interfaz, arrancar el cliente: “client_c”, seguido de las palabras de búsqueda sobre Google (p.e. Calidad Software): LS3148: Calidad del Software. Justo Hidalgo – DII 6 Actividad 3: Pruebas Unitarias para Verificación y Validación Puntos a tener en cuenta: - Podéis encontrar más información en www.google.com/apis La utilización de esta funcionalidad de Google requiere de una licencia gratuita que ya os proveo desde la parte de código que he hecho yo. Pero tened en cuenta que esta licencia sólo permite 1000 consultas diarias. No creo que utilicéis tantas, pero por si acaso… LS3148: Calidad del Software. Justo Hidalgo – DII 7