Temario Ingeniera de Software II
Prueba de Software Objetivos y principios de la prueba. Tcnicas y mtodos de prueba. La Prueba en el contexto de la calidad. Estrategias de prueba. Niveles de prueba. Organizacin y ejecucin de la prueba.
Ingeniera de Software. Prueba de Software.
Ingeniera de Software. Prueba de Software.
Objetivos de la Prueba
Segn Glen Myers:
Proceso de ejecucin de un programa con la intencin de descubrir errores. Un buen caso de prueba es aquel con alta probabilidad de descubrir un error no encontrado hasta el momento. Una prueba tiene xito si descubre errores.
Corolario sobre la Prueba
La ausencia de evidencias no es evidencia de ausencia. Si la prueba no descubre errores no se pueda afirmar que no existan.
Ingeniera de Software. Prueba de Software.
Ingeniera de Software. Prueba de Software.
Error vs. Defecto/Falla
Defecto: anomala del producto. [IEEE]. Falla: [IEEE].
Defecto en un componente de un producto de hardware. Paso incorrecto, proceso o definicin de datos en el software.
Principios de la Prueba
Segn Alan M. Davis:
Debe existir trazabilidad de ida y vuelta entre los requerimientos y los casos de prueba. Se debe planificar la prueba antes de construir el sistema. Aplicar el principio de Pareto (80/20). Las pruebas deben ir de lo pequeo a lo grande. No son posibles pruebas exhaustivas Tcnicas Realizar las pruebas por un equipo independiente.
Ingeniera de Software. Prueba de Software.
Defecto o falla: anomala del producto de software durante su ejecucin. Error: problema de calidad descubierto por el desarrollador antes de entregar el producto. Corolario: los sistemas tienen defectos o fallas a consecuencias de errores introducidos por los desarrolladores.
Ingeniera de Software. Prueba de Software.
Tcnicas de Prueba
Prueba de caja negra (funcional).
Ejecutando la aplicacin. A partir de la interfaz del usuario. Se pretende demostrar que son correctas y completas las entradas y las salidas.
Prueba de Caja Blanca
Los CP generados deben garantizar:
Se ejecutan todos los caminos. Se ejecutan todas la alternativas (true y false). Se ejecutan todos los loops. Se ejecutan todas la estructuras internas de datos.
Prueba de caja blanca (estructural).
Se analiza la estructura lgica interna de la aplicacin. Se pretende demostrar que los componentes internos de la aplicacin se comportan adecuadamente.
Ingeniera de Software. Prueba de Software.
Dos tcnicas:
Prueba del camino bsico (grafos - CCC). Prueba de la estructura de control.
Ingeniera de Software. Prueba de Software.
Prueba de Caja Negra
Parte de los requerimientos como los ve el usuario. Los CP generados deben ayudar a encontrar:
Funciones incorrectas o ausentes. Errores en interfaz. Errores en acceso a base de datos. Errores de desempeo. Errores de inicializacin y finalizacin.
Ingeniera de Software. Prueba de Software.
Caja Blanca vs. Caja Negra
No son antagnicas. Son complementarias. Caja Blanca. Caja Negra.
Se aplica a las pruebas de alto nivel (desde el punto de vista del usuario). Se aplica en las fases ms tardas de la prueba.
Se aplica a la pruebas de bajo nivel del software. Se aplica en las primeras fases de la prueba.
Ingeniera de Software. Prueba de Software.
10
CP Basados en Funciones
Se especifica el caso de uso. Se especifican distintos valores para las distintas variables de los casos de uso. Se generan n casos de prueba por caso de uso. Para la especificacin de valores se puede usar:
Particin equivalente (clases de equivalencia). Anlisis de valores frontera o lmites.
Caso de Uso
Un caso de uso tiene:
Nombre, Actor/es que intervienen, Descripcin, Puede contener:
pre- condiciones, post- condiciones, cursos alternativos.
Un caso de uso tiene un flujo finito Jim Heumann de eventos y alternativas.
Ingeniera de Software. Prueba de Software.
*Generating Test Cases from Use Cases,
11
Ingeniera de Software. Prueba de Software.
12
Definiciones
Curso alternativo: es un flujo de eventos diferente del normal del caso de uso. Escenario: es una instancia de un caso de uso, interaccin con el sistema de datos concretos.
Caso de Prueba vs. Caso de Uso
El caso de prueba (funcional) es similar a un caso de uso, describe como se debe interactuar con el sistema pero en forma especfica. Derivar un caso de prueba a partir de un caso de uso resulta natural, la prueba es un ejemplo de uso del sistema.
Ingeniera de Software. Prueba de Software.
13
Ingeniera de Software. Prueba de Software.
14
CU: Prestar Publicacin
Curso bsico:
1. El bibliotecario ingresa en el sistema los datos del alumno: nombre o nmero. 2. El sistema verifica que exista y sea estudiante activo comunicndose con el SIC. 3. El sistema muestra por pantalla los datos completos del alumno, sus prstamos actuales y atrasos. 4. El bibliotecario ingresa en el sistema los datos de la publicacin: ttulo o nmero. 5. El sistema verifica reservas y disponibilidad de la publicacin. 6. El bibliotecario indica en el sistema el nmero de ejemplar que se retira. 7. El sistema calcula e informa el plazo mximo de devolucin. 8. El bibliotecario confirma el prstamo. 9. El sistema registra el prstamo: fecha, publicacin, ejemplar y estudiante.
Ingeniera de Software. Prueba de Software.
CU: Prestar Publicacin
Curso alternativo. 2. El alumno no existe o no es activo en el SIC, el sistema informa de la situacin. 5. No hay ejemplares disponibles para prestar, el sistema informa de la situacin y vuelve al paso 4. 8. Si el bibliotecario no confirma el prstamo, finaliza el caso de uso, no se registra el prstamo.
15
Ingeniera de Software. Prueba de Software.
16
Del CU al CP
Paso 1: Crear Lista de Escenarios Paso 2: Generar Escenarios Paso 3: Generar Casos de Prueba Paso 4: Generar Datos de Prueba
Paso 1: Crear Lista de Escenarios
Identificar con un nombre a cada escenario, indicando los cursos de inicio y alternativas que recorre. Un escenario para el curso bsico y otros para cada curso alternativo o combinaciones posibles de los mismos.
Ingeniera de Software. Prueba de Software.
17
Ingeniera de Software. Prueba de Software.
18
Escenarios Posibles
Escenario 1 Escenario 2 Escenario 3 Escenario 4 Curso normal
Paso 2: Generar Escenarios
Escenario Escenario 1 Nombre Curso de comienzo Cursos alternativos Prstamo normal Bsico Alumno inexistente o inactivo Publicacin no disponible Prstamo no confirmado Bsico CA2
Curso normal Curso normal Curso normal
Curso alternativo 2
Escenario 2
Curso alternativo 5
Escenario 3
Bsico
CA5
Curso alternativo 8
Escenario 4
Bsico
CA8
Ingeniera de Software. Prueba de Software.
19
Ingeniera de Software. Prueba de Software.
20
Paso 3: Generar Casos de Prueba
Para cada escenario generar un caso de prueba, indicando:
identificacin del caso de prueba, escenario, datos a ingresar y resultado esperado.
Paso 3: Generar Casos de Prueba
Id. caso Escenario Alumno de prueba CP1 Escenario 1 V CP2 CP3 Escenario 2 Escenario 3 N/V Publicacin Confirmacin Resultado esperado V N/D V N/D N/D Prstamo registrado. Mensaje: Alumno no existe. Mensaje: Publicacin no disponible. Vuelve al paso 4. Mensaje: Prstamo cancelado. No se el registra prstamo
N/V
Los datos a ingresar pueden ser valores vlidos o no vlidos o valores no disponibles para ingresar, segn cada escenario. Es importante especificar el resultado esperado porque permite analizar el resultado (xito o fracaso) del caso de prueba.
Ingeniera de Software. Prueba de Software.
CP4
Escenario 4
N/V
Notas: V valor vlido. N/V valor no vlido. N/D valor no disponible.
Ingeniera de Software. Prueba de Software.
21
22
Paso 4: Generar Datos de Prueba
Para cada caso de prueba seleccionar datos concretos.
Ejemplo: publicacin vlida y disponible, AW1234 - La Illada.
Paso 4: Generar Datos de Prueba
Id.CP Escenario CP1 Escenario 1 Alumno Publicacin Confirmacin Resultado esperado Acepta Prstamo registrado. Mensaje: Alumno no existe. Mensaje: Publicacin no disponible. Vuelve al paso 4. Mensaje: Prstamo cancelado. No se el registra prstamo 15632. AW1234. Martn La Illada Prez -
CP2
Escenario 2 1111. Juan Soares Escenario 3
Deben corresponder a datos vlidos o no vlidos de la aplicacin segn lo establecido en cada caso de prueba.
CP3
CP4
15632. QR1111. Martn La Prez Eneida 15632. AW1234. Escenario 4 Martn La Illada Prez
Cancela
Ingeniera de Software. Prueba de Software.
23
Ingeniera de Software. Prueba de Software.
24
Mtodos de Caja Negra
PE (Particin Equivalente ) Anlisis de Valores Lmites Comparacin (aplicaciones crticas como Industria aeronutica; Redundancia) Basados en Grafos (Comprensin y prueba de relacin de objetos)
Particin Equivalente (PE)
Clase de equivalencia: representa un conjunto de datos vlidos y otro de datos no vlidos. Ej.: 100 - 200, 300 - ... Condicin de entrada: valor numrico, rango de valores, conjunto de valores o condicin lgica.
Ingeniera de Software. Prueba de Software.
25
Ingeniera de Software. Prueba de Software.
26
Aplicacin de PE
Requerimientos.
Cdigo de rea: en blanco o nro. de 3 dgitos > 0.
Anlisis de Valores Lmites
Similar a PE, pero considerando los lmites. Reglas.
Si una condicin de entrada es:
Rango entre a y b, disear casos de prueba para a y b, por debajo de a y por encima de b. N de valores, probar el Mx. y mn, y los valores justo por encima del mx. y por debajo del mn.
Caso de prueba.
Cdigo de rea: Si condicin de entrada es lgica => puede ser nulo. Si condicin de entrada es rango => Clase de equivalencia correcta = 1 a 300. Clase de equivalencias no correctas = -100 a -1 y 301 a 500.
Ingeniera de Software. Prueba de Software.
Aplicar estas reglas para condiciones de salida y estructuras de datos.
Ingeniera de Software. Prueba de Software.
27
28
Pruebas de Entornos y Aplicaciones Especializadas
Pruebas de Interfaz Grfica de Usuario (GUIs) Pruebas de arquitecturas cliente/servidor Pruebas de documentacin y de ayuda Pruebas de Sistemas de Tiempo Real
Prueba de GUIs
Para ventanas:
Forma de abrir ventanas: teclado, mouse, men. Tamao, movimiento y despliegue de ventanas. Acceso de informacin disponible a mouse, teclas de funcin, flechas y otros. Se regenera al sobrescribir y volver abrir. Estn todas las funciones de la ventana operativas? Estn disponibles en la ventana los menes emergentes, barra de herramientas, barras deslizantes, cuadros de dilogo, botones, conos, etc.? etc.
Ingeniera de Software. Prueba de Software.
Ingeniera de Software. Prueba de Software.
29
30
Prueba de GUIs
Para menes:
Se muestra la barra de men apropiada en el contexto apropiado? Funcionan adecuadamente las funciones de despliegue? Estn todas las funciones del men accesibles con el mouse? Se ejecutan todas las funciones de cada men como se anunciaba? Si el ratn tiene varios botones, se reconocen en el contexto? Cambia adecuadamente el cursor en el orden del procesamiento? etc.
Ingeniera de Software. Prueba de Software.
Prueba de GUIs
Para entrada de datos:
Se repiten y son introducidos adecuadamente los datos alfanumricos en el sistema? Funcionan adecuadamente los modos grficos de entrada de datos como por ej. , una barra deslizante? Se reconocen adecuadamente los datos no vlidos? Son comprensibles los mensajes de entradas de datos?
31
Ingeniera de Software. Prueba de Software.
32
Prueba Cliente/Servidor
Comprobar aplicaciones clientes. Comprobar servidor de aplicaciones. Comprobar servidor de BD. Comprobar servidor de transacciones. Comprobar servidor de comunicaciones. Se prueba fundamentalmente desempeo.
Pruebas de Documentacin y Ayuda
Errores en documentacin (diseo, manual de usuario, etc.) 2 fases:
RTF del documento. Prueba en vivo con el sistema en ejecucin.
Se pueden utilizar diferentes tcnicas. Algunas Guas:
Se describe con exactitud las secuencias de interaccin? Es fcil localizar la ayuda en la documentacin? Se pueden resolver problemas fcilmente con la documentacin? Estn descritos con detalle los posibles mensajes de errores para el usuario?
Ingeniera de Software. Prueba de Software.
33
Ingeniera de Software. Prueba de Software.
34
Pruebas en Sistemas de Tiempo Real
Factor determinante: el tiempo Foco en: Sincrona, interrupciones, temporizacin, paralelismo especificacin: Diagrama de Estados Difcil simulacin (relacin estrecha entre HW y SW) Estrategia de prueba:
1. Prueba de Tareas (anlogo a prueba modular) 2. Prueba de Comportamiento (categorizacin de sucesos 3. Pruebas Intertareas (Relacin entre tareas y tiempo de resolucin: asincrona, colas, almacenes de datos) 4. Pruebas del Sistema (Integracin de HW y SW)
Ingeniera de Software. Prueba de Software.
Resumen de Tcnicas de Prueba
Caja Blanca Tcnicas de Prueba Caja Negra Prueba del Camino Bsico Prueba de Estructuras de Control Basadas en funciones Particin equivalente Anlisis de valores lmites Prueba de GUIs Prueba Cliente/Servidor Documentacin y Ayuda STR
36
PE)
35
Ingeniera de Software. Prueba de Software.
La Prueba en el Contexto de la Calidad
MTODOS DE IS: Requerimientos. Diseo. Codificacin. Etc. MTRICAS: Productos. Procesos. Proyectos.
Reflexiones sobre Calidad
La calidad no son slo controles sino una filosofa de trabajo. La calidad no la asegura un equipo de trabajo especializado, sino todo el equipo de trabajo. La prueba no es el nico elemento para asegurar la calidad, sino que es parte de una red. La calidad no es algo que se compra sino algo que se construye.
CALIDAD
INGENIERIA DE PROCESOS: Definicin de procesos. Procedimientos. Estndares SQA: V&V mediante: Revisiones. Auditoras.
PRUEBAS.
Ingeniera de Software. Prueba de Software.
37
Ingeniera de Software. Prueba de Software.
38
Generacin de Casos de Prueba
NE. US. Ing. de Req.
Diseo Codif. Prueba
La Prueba en el Proceso de Desarrollo
SIST. CAJA NEGRA: VALIDACION Ing. de Req. del Sistema Ing. de Req. del Software Prueba del Sistema Prueba de Validacin Prueba de Integracin Prueba de Unidad
ESRE
CP
ESDI
CP+
Fuentes y Exes
CP++
Ingeniera de Software. Prueba de Software.
R E S U L T A D O S
Diseo Codificacin
CAJA BLANCA: VERIFICACION
39
Ingeniera de Software. Prueba de Software.
40
Pruebas de Regresin
Cada vez que se agrega o modifica el software, ste cambia. Puede verse afectado el funcionamiento previo de una o varias funciones. Aseguran que un cambio no introdujo un comportamiento no deseado o errores adicionales. Clases de casos de prueba:
Muestra representativa que ejecuta todas las funciones. Pruebas adicionales de las funciones de SW probablemente afectadas Pruebas centradas en los componentes de SW que cambiaron
Niveles de Prueba
Prueba de Unidad.
Prueba cada componente individualmente. Se basa en los requerimientos (especificaciones del componente) de la unidad.
Prueba de Integracin.
Prueba conjunto de componentes. Se basa en los requerimientos del conjunto. Requerimientos: especificaciones de diseo y arquitectura.
Prueba de Validacin.
Prueba toda la aplicacin de software. Se basa en los requerimientos del software. Requerimientos: ESRE del software.
Prueba del Sistema.
Prueba toda la aplicacin en el contexto del sistema. Se basa en los requerimientos del sistema. Requerimientos: ESRE del sistema.
Deseable que estn automatizadas
Ingeniera de Software. Prueba de Software.
41
Ingeniera de Software. Prueba de Software.
42
Prueba de Unidad
Interfaz.
Correctitud y completitud de parmetros y argumentos. Variables globales de intercomunicacin. Operaciones de E/S: Archivos (apertura, cierre, manejo, buffers, etc.).
Entorno de Prueba de Unidad
COMPONENTE A PROBAR CONDUCTOR
Estructuras de datos.
Tipos de datos. Inicializacin. Nombres de variables. Condiciones de borde o de overflow.
Condiciones lmites.
Anlisis de valores lmite. Loops y alternativas.
RESGUARDO1
...
RESGUARDON
RESULTADOS
CASOS DE PRUEBA
Caminos independientes. Caminos de manejos de errores/excepcin.
Ingeniera de Software. Prueba de Software.
43
Ingeniera de Software. Prueba de Software.
44
Prueba de Integracin
Big bang.
Se integran todos los componentes. Se prueban todos juntos No recomendado. Incremental. Descendente. Se utilizan resguardos. Se puede realizar en: pre/in/pos order. Ascendente. Se utilizan conductores. Se puede realizar en inversa de: pre/in/pos order. Requiere prueba de regresin. Repetir casos de prueba si hay modificaciones.
Ingeniera de Software. Prueba de Software.
Prueba de Validacin
Se prueba el sistema como un todo. Contra requerimientos (ESRE). Se utilizan criterios de validacin. Procedimiento:
1. 2. 3. 4.
45
Realizar auditora de la configuracin. Realizar pruebas. Anotar desviaciones. Corregir.
46
Ingeniera de Software. Prueba de Software.
Tipos de Prueba de Validacin
Prueba de Aceptacin.
Cuando el software es hecho a medida para un cliente. El Cliente ejecuta las pruebas y reporta desviaciones. A veces puede estar presente el Constructor.
Prueba del Sistema
En el entorno que va a funcionar el software. Prueba de recuperacin.
Se demuestra la tolerancia a fallas. Se fuerza el fallo y se verifica la recuperacin.
Prueba de Seguridad.
Contra intrusos. Descubrir las claves de seguridad. Intentar bloquear el sistema. Intentar acceder durante la recuperacin.
Pruebas Alfa y Beta.
Cuando es un producto de venta masiva. Prueba alfa: las realiza un cliente voluntario en el lugar de desarrollo. Prueba beta: las realiza el cliente en su ambiente habitual sin presencia del desarrollador.
Ingeniera de Software. Prueba de Software.
Prueba de resistencia y desempeo.
Probar lmites extras del sistema. Verifican la degradacin del servicio.
47
Ingeniera de Software. Prueba de Software.
48
Responsabilidades en la Prueba
EQUIPO INDEPENDIENTE: V&V Ing. de Req. del Sistema Ing. de Req. del Software Diseo Codificacin Prueba del Sistema Prueba de Validacin Prueba de Integracin Prueba de Unidad
Cundo Parar de Probar?
La ausencia de evidencias no es evidencia de ausencia. La prueba nunca termina.
Termina probando el cliente.
Se termina cuando se consumi el presupuesto o el tiempo disponibles. Modelo estadstico.
Solucin ms profesional.
49
Ingeniera de Software. Prueba de Software.
EQUIPO DE DESARROLLO: V&V
Ingeniera de Software. Prueba de Software.
50
Condiciones para una Prueba Exitosa
Especificar requerimientos en forma cuantificable. Desarrollar perfil de usuarios del sistema. Explicitar los objetivos de la prueba. Grado de cobertura. Tiempo medio entre fallas. Costo encontrar/depurar errores. Frecuencia de fallas. Etc. Construir software que se auto-pruebe. Realizar revisiones formales de los CP y la prueba. Mejora continua del proceso de prueba.
Ingeniera de Software. Prueba de Software.
Metodologa de Prueba
Planificacin de la Prueba
Creacin del plan (objetivos, qu probar, mtodos, recursos, productos a generar y responsables)
Diseo de la Prueba
Cmo probar, cmo utilizar los mtodos, criterios de aceptacin.
Determinacin de los casos de prueba
Objetos a probar, entradas y salidas esperadas.
Planificacin del Procedimiento de Prueba
Requerimientos de la prueba, Secuencia de ejecucin y condicin de terminacin de cada caso de prueba
Ejecucin de la Prueba
Ejecutar los casos de prueba segn el procedimiento planificado y registrar los incidentes o problemas encontrados
51
Anlisis y Evaluacin de la Prueba
Examen de Resultados y Control de objetivos propuestos
52
Ingeniera de Software. Prueba de Software.
Especificacin de la Prueba [Pressman]
I. II. A. B. C. D. III. A. B. C. D. E. IV. V. VI. Ambito de la Prueba. [Objetivos, esfuerzo, criterios de finalizacin, etc.] Plan de Prueba. Fases de la prueba y construcciones. [Por ej.: (1) capa de interfaz, (2) capa de clculo y (3) capa de persistencia.] Planificacin. [Cronograma, ventanas de disponibilidad.] Software Adicional. [Conductores, resguardos, herramientas automticas, etc.] Entorno y Recursos. [Configuracin de hard/soft, simuladores, RRHH, etc.] Procedimiento de Prueba del Componentei. Orden de Integracin. [Propsito, subcomponentes, etc.] Pruebas de Unidad a Realizar. Entorno de Prueba. [tcnicas, herramientas, software.] Casos de prueba. Resultados Esperados. Resultados Generales. Referencias. Apndices.
53
Herramientas Automticas de Prueba
De anlisis de cdigo.
Estticas. Dinmicas.
De ejecucin de pruebas. De generacin de casos de prueba. Entornos automticos de prueba.
Ingeniera de Software. Prueba de Software.
Ingeniera de Software. Prueba de Software.
54
Herramientas de Anlisis Estticas
Se ejecutan sobre el cdigo del programa. Auditores de cdigo.
Verifican sintaxis. Detectan elementos no definidos. Brindar informacin de definicin y uso de variables. tiles para pruebas de definicin y uso.
Herramientas de Anlisis Dinmicas
Se ejecutan sobre la ejecucin del programa. Son monitores de programas. Controlan el comportamiento del sistema. Muestran la cantidad de veces que un elemento fue invocado o ejecutado. Brindan informacin estadstica de resumen respecto de ramas cubiertas por los juegos de prueba. Especialmente tiles en sistemas orientados a eventos.
Ingeniera de Software. Prueba de Software.
Chequeadores de estructura.
Generan grafos de la aplicacin. Muestran la ubicacin sentencias que nunca se ejecutarn.
Auditores de datos.
Chequean definicin e interfaces de estructuras de datos. Muestran existencia divisiones entre cero. Detectan pasajes de parmetros incorrectos.
Chequeadores de secuencias.
Verifican el correcto orden de los eventos. Ej.: Intento de uso de archivo no abierto.
Ingeniera de Software. Prueba de Software.
55
56
Herramientas de Ejecucin de Pruebas
Se ejecutan sobre la ejecucin del programa. Permiten automatizar la ejecucin de la prueba. Capture and Playback.
Realizan captura y reproduccin Se pueden usar una vez finalizados los casos de prueba. Captura los entradas y salidas de la ejecucin del programa. Compara salidas reales con salidas esperadas e informa. Especialmente tiles para pruebas de regresin. Setean variables de entorno para ejecucin de casos de prueba. Reinicializan variables para nuevos casos de prueba. Simulan ingresos por teclado. Comparan salidas de datos. Registran caminos de ejecucin durante las pruebas. Interactan con debbugers para analizar y depurar errores.
57
Herramientas de Generacin de Casos de Prueba
Generadores de datos de prueba. Se basan en el anlisis de la estructura del cdigo. Por ej. camino bsico. Generan datos al azar. Ejemplo de herramienta: siembra de fallas.
Drivers and Stubs.
Ingeniera de Software. Prueba de Software.
Ingeniera de Software. Prueba de Software.
58
Entornos Automticos de Prueba
Son la integracin de distintas herramientas automticas. Ejemplo:
Analizadores de cdigo. Generadores de casos de prueba. Ejecutores de prueba. Base de datos corporativa de testing. Herramientas de mtricas.
Resumen
59
Objetivos y principios de la prueba. Tcnicas y mtodos de prueba. La Prueba en el contexto de la calidad. Estrategias de prueba. Niveles de prueba. Organizacin y ejecucin de la prueba. Metodologa de la prueba
60
Ingeniera de Software. Prueba de Software.
Ingeniera de Software. Prueba de Software.
Bibliografa
Captulos 16 y 17, Ingeniera del Software, 4ta. Edicin, Pressman. Generating Test Cases from Use Cases, Jim Heumann,
http://www.computing.dcu.ie/~ltuohey/CA314_2004_2005/GeneratingTestCasesFromUseCasesJune01.pdf
Ingeniera de Software. Prueba de Software.
61