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