Ucv 2014 1_ads clase 15
Transcript of Ucv 2014 1_ads clase 15
27/08/2012
ANÁLISIS Y DISEÑO DE SISTEMAS
Chunga Huatay Edwin
Chunga Huatay Edwin
Presentación
Semana 15: Modelado de Pruebas
1. Ingeniería directa
2. Ingeniería inversa o reversa
3. Presentación del modelado de pruebas
4. Tipos de pruebas
5. Caso de estudio
2
Chunga Huatay Edwin
1. Ingeniería directa
La Ingeniería Directa es el conjunto de técnicas que permite la
obtención del código fuente en un lenguaje de programación
determinado a partir de un modelo o esquema.
3
Numeros
-num1: int-num2: int-suma: int
+establecerDatos(x: int, y: int): void+calcularSuma(): void+obtenerSuma(): int
Chunga Huatay Edwin
2. Ingeniería inversa o reversa
La Ingeniería Inversa es el conjunto de técnicas que permite la
obtención de una representación conceptual de un esquema o
modelo a partir de su codificación.
4
Numeros
-num1: int-num2: int-suma: int
+establecerDatos(x: int, y: int): void+calcularSuma(): void+obtenerSuma(): int
Chunga Huatay Edwin
3. Presentación del modelado de pruebas
Una actividad en la cual un sistema o uno de sus componentes
se ejecuta en circunstancias previamente especificadas, los
resultados se observan y registran y se realiza una evaluación
de algún aspecto
La prueba es el proceso de ejecución de un programa con la
intención de descubrir un error.
Un buen caso de prueba es aquel que tiene una alta
probabilidad de mostrar un error no descubierto hasta entonces.
Una prueba tiene éxito si descubre un error no detectado hasta
entonces.
El éxito de una prueba es mostrar que el sistema funciona según lo
previsto.
5
Chunga Huatay Edwin
3. Presentación del modelado de pruebas
6
Chunga Huatay Edwin
4. Tipos de pruebas
Pruebas de Defectos: Descubrir defectos en los programas
Pruebas de integración: Pruebas para los problemas que surgen de las
interacciones de componentes.
Pruebas de enfoques: Validación de la arquitectura.
Pruebas de rendimiento: Pruebas donde la carga de datos se aumentó
constantemente hasta que el rendimiento del sistema se convierte en
inaceptable.
Prueba de tensión: Probar el sistema más allá de su máxima carga.
Prueba de Clases de objeto: Pruebas de todas las operaciones relacionadas
con un objeto.
Pruebas en base a requisitos: Es una técnica en la que se considera que
cada requisito debe tener su prueba.
Prueba de unidad: Se trata de las pruebas formales que permiten declarar
que un módulo está listo y terminado.
7
Chunga Huatay Edwin
5. Caso de estudio:
Mantenimiento de la tabla Usuario
Grabar
Buscar
Listar
Actualizar
Eliminar
8
Chunga Huatay Edwin
1. Aplicación: Grabar
9
usuarioGra
mensaje
ServUsuario
Usuario
-cod: String-nom: String-perf: String-usua: String-pass: String
+setCod(cod: String): void+getCod(): String+setNom(nom: String): void+getNom(): String+setPerf(perf: String): void+getPerf(): String+setUsua(usua: String): void+getUsua(): String+setPass(pas: String): void+getPass(): void
UsuarioBd
+grabar(u: Usuario): String
ConexionBd
+getConnection(): Connection
OperacionBd
+ejecutaOperacion(sql: String): String
Chunga Huatay Edwin
1. Aplicación: Grabar
10
Chunga Huatay Edwin
1. Aplicación: Grabar
11
Chunga Huatay Edwin
1. Aplicación: Grabar
12
Chunga Huatay Edwin
1. Aplicación: Grabar
13
Chunga Huatay Edwin
2. Aplicación: Buscar
14
usuarioGra
mensaje
ServUsuario
Usuario
-cod: String-nom: String-perf: String-usua: String-pass: String
+setCod(cod: String): void+getCod(): String+setNom(nom: String): void+getNom(): String+setPerf(perf: String): void+getPerf(): String+setUsua(usua: String): void+getUsua(): String+setPass(pas: String): void+getPass(): void
UsuarioBd
+grabar(u: Usuario): String+buscar(cod: String): Usuario
ConexionBd
+getConnection(): Connection
OperacionBd
+ejecutaOperacion(sql: String): String+getTabla(sql: String): Object[]
usuarioBus
usuarioEdi
ServUsuarioCons
Chunga Huatay Edwin
2. Aplicación: Buscar
15
Chunga Huatay Edwin
2. Aplicación: Buscar
16
Chunga Huatay Edwin
2. Aplicación: Buscar
17
Chunga Huatay Edwin
2. Aplicación: Buscar
18
Recibir el objeto usuario enviado por el Servlet
Mostrar las propiedades del objeto usuario en una caja de texto
Chunga Huatay Edwin
3. Aplicación: Listar
19
usuarioGra
mensaje
ServUsuario
Usuario
-cod: String-nom: String-perf: String-usua: String-pass: String
+setCod(cod: String): void+getCod(): String+setNom(nom: String): void+getNom(): String+setPerf(perf: String): void+getPerf(): String+setUsua(usua: String): void+getUsua(): String+setPass(pas: String): void+getPass(): void
UsuarioBd
+grabar(u: Usuario): String+buscar(cod: String): Usuario+actualizar(u: Usuario): String+eliminar(u: Usuario): String+listar(): List
ConexionBd
+getConnection(): Connection
OperacionBd
+ejecutaOperacion(sql: String): String+getFila(sql: String): Object[]+getTabla(sql: String): List
usuarioBus
usuarioEdi
ServUsuarioCons
usuarioLis
Chunga Huatay Edwin
3. Aplicación: Listar
20
Chunga Huatay Edwin
3. Aplicación: Listar
21
Chunga Huatay Edwin
3. Aplicación: Listar
22
Chunga Huatay Edwin
4. Aplicación: Actualizar
23
Chunga Huatay Edwin
5. Aplicación: Eliminar
24
Chunga Huatay Edwin
Referencias
Deitel, Harvey (2004). Como programar en Java,
Mexico:Pearson Educación
Carrazco J. Lenguaje de Programación JAVA2.
Julio Vásquez y Víctor Balta – Super Java 2.
25