Documente Academic
Documente Profesional
Documente Cultură
de la
implementación
Análisis de
Sistemas
1
Requerimientos de la
implementación
Así como en el análisis se estudiaron los requisitos especiales, luego
corresponde estudiar e identificar los mecanismos genéricos de diseño e
implementación referidos a:
Persistencia
Distribución de objetos
Características de seguridad, detección y reparación de errores
Gestión de transacciones
Fuente: Object-Oriented Design - Module 5: Identify Design Mechanisms, 2001, Rational Software
(Curso “Diseño Orientado a Objetos” – dictado por Baufest SA asociado de negocios de IBM, abril de
2004, Buenos Aires)
2
para explorar rápidamente enfoques alternativos y normalmente merece la
pena elaborar algo de diseño mientras se programa.
Propósitos de la Implementación
3
Fuente: Libro “El Proceso Unificado de Desarrollo de Software” – Ivar Jacobson y otros, 2000, pág.
11.
o Modelo de implementación.
o Componente.
o Subsistema de implementación.
o Interfaz.
o Modelo de despliegue.
o Descripción de la arquitectura (vista del modelo de
implementación).
o Plan de integración de construcciones.
4
Trabajadores: Los trabajadores responsables por los artefactos que se
producen en el modelo de implementación son:
o Arquitecto
o Ingeniero de componentes
o Integrador de sistemas
o Implementar de la arquitectura.
o Integrar el sistema.
o Implementar un subsistema.
o Implementar una clase.
o Realizar prueba de unidad.
Fuente: Libro “El Proceso Unificado de Desarrollo de Software” Ivar Jacobson y otros, 2000, Pág. 256
5
Fuente: Libro “El Proceso Unificado de Desarrollo de Software” Ivar Jacobson y otros, 2000, Pág.
267.
Modelo de Implementación
El modelo de implementación describe cómo los elementos del diseño se
implementan en términos de componentes. También describe cómo se
organizan los componentes de acuerdo con los mecanismos de
estructuración y modularización disponibles en el entorno de
implementación y en e/los lenguajes de programación utilizados.
6
como también componentes claves, que siguen la traza de las clases de
diseño arquitectónicamente significativas.
Modelo de despliegue
El modelo de despliegue es un modelo de objetos que describe la
distribución física del sistema en cuanto a la distribución de la funcionalidad
entre los nodos de cómputo.
7
Componente
Un componente es un empaquetamiento físico de los elementos de un
modelo, como las clases de diseño. Los componentes tienen las siguientes
características:
Subsistema de Implementación
Los subsistemas de implementación constituyen una forma de organizar los
elementos del modelo de implementación en partes más manejables y
pueden estar compuestos por interfaces, componentes y otros subsistemas.
Interfaz
Las mismas interfaces que se utilizaron en el modelo de diseño, pueden
utilizarse en el modelo de implementación para especificar operaciones
implementadas por componentes y subsistemas de implementación.
Identificación de subsistemas y
de sus interfaces
Obviamente los subsistemas de implementación están muy relacionados
con los subsistemas de diseño. La siguiente figura aclara la relación entre los
dos modelos:
8
Fuente: Libro “El Proceso Unificado de Desarrollo de Software” Ivar Jacobson y otros, 2000, pág. 261
Implementar la arquitectura
El objetivo de esta actividad es esbozar el modelo de implementación y su
arquitectura mediante la identificación de componentes significativos
arquitectónicamente, tales como componentes ejecutables, y asignar esos
componentes a los nodos en las configuraciones de redes relevantes.
9
Esto significa que el componente ejecutable inscripción.exe se ejecuta, y por
lo tanto debe estar instalado (junto a los componentes con los que tenga
dependencia) en el nodo Bedelía 1.
Integrar el sistema
Durante esta actividad se procederá a crear un plan de integración de
construcciones que describa las construcciones necesarias en una iteración
10
Si la construcción fue planificada correctamente, su integración será tarea
fácil. Se procede recopilando las versiones correctas de los subsistemas de
implementación y de los componentes, se los compila y enlaza, generando
así la construcción.
Implementar un subsistema
Esto quiere decir, asegurarse que los requisitos (por ejemplo, escenarios de
casos de uso) implementados en la construcción y los que afectan al
subsistema son implementados correctamente por componentes o por
otros subsistemas dentro del subsistema con el que se está trabajando.
11
Orden de Implementación
Es necesario implementar las clases y subsistemas, e idealmente realizar las
pruebas de unidad completamente, desde los menos a los más acoplados.
Identificación de nodos y
configuración de redes
Durante esta actividad, los arquitectos consideran distintas posibilidades de
reutilización, ya sea de partes de sistemas parecidos o productos de
software generales.
12
Es muy común una configuración cliente/servidor en tres capas: una capa
para el cliente, otra para la funcionalidad de la base de datos y una tercera
la aplicación o lógica del negocio.
Los nodos se utilizan para modelar la topología del hardware sobre el que se
ejecuta el sistema.
13
Los nodos poseen relaciones, conexiones, que representan medios de
comunicación entre ellos, tales como Internet, Intranet, bus y similares. Esta
relación se grafica mediante una asociación.
En este contexto una asociación representa una conexión física entre los
nodos.
Modelo de arquitectura
Los sistemas grandes siempre se descomponen en subsistemas que
suministran algún conjunto relacionado de servicios.
Según nos los plantea David Ruble el modelo arquitectónico (1998, pág 200):
14
Mapea los requerimientos esenciales de la fase de análisis hacia una
arquitectura tecnológica.
Es la asignación de los modelos de requerimientos esenciales hacia una
tecnología específica.
Subsistema
Desde el punto de vista del modelado de la arquitectura, un Subsistema:
Módulo
15
Modelado de subsistemas de implementación
El siguiente gráfico muestra el modelado de los subsistemas de
implementación para el caso del Sistema de Comercialización de Discografía
que hemos venido desarrollando. El diagrama UML (Lenguaje Unificado de
Modelado) utilizado para confeccionar este modelo es el “Diagrama de
Componentes”.
16
Referencias
Booch Grady, Rumbaugh James, Jacobson Ivar (1999) “El lenguaje de
Modelado Unificado”, España, Addison Wesley Iberoamericana. Capítulos: 25,26,
29 y 30
17
Diagrama de
despliegue y
Diagrama de
componentes
Análisis de
Sistemas
1
Diagrama de despliegue
Un diagrama de despliegue es un diagrama que muestra la configuración de
los nodos de procesamiento y de los artefactos que residen en ellos.
Normalmente contienen:
Nodos
Relaciones de dependencia y asociación
Ejemplos:
2
En las figuras anteriores se mostraban los nodos en forma de “instancia”; en
la figura siguiente mostramos los nodos en forma de “descriptor” y a su vez
se verá cómo pueden agruparse los nodos en paquetes para proporcionar
un diagrama de despliegue simplificado, en el que se indique solamente los
tipos de nodos y sus conexiones sin representar cada uno de ellos.
3
Usos comunes del Diagrama de Despliegue
El diagrama de despliegue se puede utilizar:
4
estímulos externos tales como entradas de sensores, movimientos y
cambios de temperatura.
Diagrama de componentes
Un componente es una parte física y reemplazable de un sistema que existe
a nivel de la plataforma de implementación.
5
En la siguiente tabla se muestran algunos tipos (estereotipos) de
componentes.
6
componentes se pueden utilizar para modelar la gestión de las
configuraciones de estos archivos, los cuales representan los
componentes obtenidos como producto del trabajo.
Para modelar el código fuente de un sistema:
o Hay que identificar el conjunto de archivos de código fuente de
interés y modelarlos como componentes estereotipados como
archivos (file).
o En los sistemas más grandes, hay que utilizar paquetes para
mostrar los grupos de archivos de código fuente.
o Hay que considerar mostrar un valor etiquetado que indique
información como el número de versión, su autor y la fecha de la
última modificación.
o Hay que modelar las dependencias de compilación entre estos
archivos mediante dependencias.
Ejemplo:
7
Para modelar una versión ejecutable:
o Hay que identificar el conjunto de componentes que se pretende
modelar. Normalmente esto implicará a alguno o todos los
componentes existentes en un nodo, o a la distribución de estos
conjuntos de componentes a través de todos los nodos del
sistema.
o Hay que considerar el estereotipo de cada componente de este
conjunto, tales como ejecutables, bibliotecas, tablas, archivos y
documentos. Los mecanismos de extensibilidad de pueden utilizar
para proporcionar señales visuales para estos estereotipos.
o Por cada componente de este conjunto hay que considerar sus
relaciones con los vecinos. La mayoría de las veces esto incluirá las
interfaces que son exportadas (realizadas) por ciertos
componentes e importadas (utilizadas) por otros.
Ejemplo:
3) Para modelar bases de datos físicas: Una base de datos física puede
ser vista como la realización concreta de un esquema. El modelo de
una base de datos física representa el almacenamiento de esa
información en las tablas de una base de datos relacional o las
páginas de una base de datos orientada a objetos.
Para modelar una base de datos física:
o Hay que identificar las clases del modelo que representan el
esquema lógico de la base de datos.
o Hay que seleccionar una estrategia para hacer corresponder estas
clases con tablas. También habrá que considerar la distribución
física de la base de datos.
8
o Para visualizar, especificar, construir y documentar la
correspondencia, hay que crear un diagrama de componentes que
contenga componentes estereotipados como tablas.
Ejemplo:
9
Referencias
Booch Grady, Rumbaugh James, Jacobson Ivar (1999) “El lenguaje de
Modelado Unificado”, España, Addison Wesley Iberoamericana. Capítulos: 25,26,
29 y 30
10
Modelo de
prueba
Análisis de
Sistemas
1
El papel de la prueba en el ciclo
de vida del software
Propósito de las pruebas
El proceso de prueba, también llamado verificación y validación (V & V), es
el nombre que se le da a los proceso de comprobación y análisis que
aseguran que el software esté acorde con su especificación y cumpla las
necesidades de los clientes que pagaron por ese software.
Existen actividades de V & V en cada etapa del proceso del software. Estas
actividades comprueban que los resultados de las tareas del proceso estén
acordes con lo especificado.
2
el sistema está acorde con su especificación para mostrar que el software
hace lo que el usuario espera a diferencia de lo que se ha especificado.
Esto no significa que el programa deba estar libre de defectos. Más bien,
significa que el sistema debe ser suficientemente bueno para la utilización
que se pretende.
La Prueba en el PUD
Durante este flujo de trabajo se procederá a verificar el resultado de la
implementación probando cada construcción, tanto las intermedias como
las versiones finales del sistema.
3
Planificar las pruebas necesarias en cada iteración (pruebas de
integración y de sistema).
Fuente: Libro “El Proceso Unificado de Desarrollo de Software” Ivar Jacobson y otros, 2000, pág. 11.
4
Durante la fase de transición el centro de atención se desplaza hacia la
corrección de defectos durante los primeros usos del sistema y a las pruebas
de regresión.
o Modelo de pruebas.
o Caso de prueba.
o Procedimiento de prueba.
o Componente de prueba.
o Plan de prueba.
o Defecto.
o Evaluación de prueba.
o Diseñador de pruebas
o Ingeniero de componentes.
o Ingeniero de pruebas de integración.
o Ingeniero de pruebas de sistema
o Planificar la prueba.
o Diseñar prueba.
o Implementar prueba.
o Realizar pruebas de integración.
o Realizar prueba de sistema.
o Evaluar prueba.
5
Fuente: Libro “El Proceso Unificado de Desarrollo de Software” Ivar Jacobson y otros, 2000, pág.
282.
Fuente: Libro “El Proceso Unificado de Desarrollo de Software” Ivar Jacobson y otros, 2000, pág.
290.
6
Modelo de prueba
El Modelo de Prueba es un modelo que describe principalmente cómo se
prueban los componentes ejecutables (construcciones) en el modelo de
implementación con pruebas de integración y de sistema. También puede
especificar cómo se probarán ciertos aspectos específicos como la interfaz
de usuario y la ayuda en línea.
Plan de prueba
Este plan describe las estrategias, recursos y planificación de la prueba. La
estrategia incluye la definición del tipo de pruebas a realizar para cada
iteración y sus objetivos, el nivel de cobertura de prueba y el porcentaje de
pruebas que deberían ejecutarse con un resultado específico.
Defecto
Un defecto es una anomalía del sistema. Un defecto puede ser utilizado para
localizar cualquier cosa que los desarrolladores deben registrar como un
síntoma de problema en el software, que ellos necesitan controlar y
resolver.
Evaluación de prueba
Esto es un análisis y valoración del resultado de la prueba, tales como
cobertura del caso de prueba, cobertura de código y el estado de los
defectos. Más adelante, veremos cómo determinar el porcentaje de
cobertura de la prueba en función de la cantidad de escenarios posibles de
un caso de uso.
Procedimiento de prueba
En este punto veremos los conceptos de procedimiento de prueba (indica
cómo probar), caso de prueba (indica qué probar) y componente de prueba
(automatiza el procedimiento de prueba cuando sea posible).
7
Procedimiento de prueba
Un procedimiento de prueba especifica cómo realizar uno o más casos de
prueba. Esto implica las instrucciones para que un individuo lleve a cabo las
pruebas o las instrucciones para interactuar con una herramienta de
automatización de pruebas.
Caso de prueba
Un caso de prueba especifica una forma de probar el sistema, incluyendo la
entrada o resultado con la que se ha de probar y las condiciones bajo las que
ha de probarse.
8
Cómo probar un caso de uso o un escenario específico de un caso de
uso. Este tipo de caso de prueba incluye la verificación del resultado de
la interacción entre los actores y el sistema, que se satisfacen las
precondiciones y las postcondiciones. Un caso de prueba de este tipo es
una prueba de “caja negra”, es decir, una prueba del comportamiento
exteriormente observable.
Componente de prueba
Un componente de prueba automatiza uno o varios procedimientos de
prueba o partes de ellos. Pueden ser desarrollados utilizando un lenguaje de
programación común o desarrollada con una herramienta de
automatización de pruebas.
9
Si son complejos de desarrollar, se puede confeccionar un modelo de diseño
de pruebas (similar al modelo de diseño del sistema), para modelar los
componentes de prueba.
10
Referencias
Booch Grady, Rumbaugh James, Jacobson Ivar (1999) “El lenguaje de
Modelado Unificado”, España, Addison Wesley Iberoamericana. Capítulos: 25,26,
29 y 30
11
Planificar la
prueba
Análisis de
Sistemas
1
Planificar la prueba
La planificación de la prueba consta de:
2
También se requiere cierta generación aleatoria. Puede disponerse
de una buena cantidad de versiones anteriores de la aplicación,
fuentes estándar, entre otros. Todo eso se documenta para
referencia futura y reuso.
5) Estime los recursos requeridos: Igual que con toda la planeación, se
identifican las personas-mes y la duración requeridas para realizar las
pruebas de unidades. La fuente más importante de esta estimación
consiste en los datos históricos. Aunque las pruebas de unidades
pueden unirse al código fuente, la ejecución por separado da datos
invaluables.
6) Registre tiempo, cuenta de defectos, tipo y fuente: Los ingenieros
que participan determinan la forma exacta en la que registrarán el
tiempo dedicado a pruebas de unidades, estado de la aplicación y
pronosticar la calidad que tendrá el producto y su fecha de
terminación. Además, los datos se convierten en parte del registro
histórico de la organización.
3
12) Verificar la terminación normal de todas las recursiones
13) Verificar la terminación anormal de todas las recursiones
14) Verificar el manejo de todas las condiciones de error
15) Verificar el tiempo y la sincronización
16) Verificar todas las dependencias de hardware
3.2. Establezca el objeto en su estado inicial con los valores de las variables.
4
1) Decidir cuándo y dónde almacenar, reusar y codificar las pruebas de
integración. Esto deber quedar claramente expresado en la
programación de tiempos del proyecto.
2) Asegurar que los requerimientos de las construcciones están bien
especificados.
3) Ejecutar los casos de uso que debe implementar la construcción: Realizar
la prueba contra lo documentado en la ERS (Documento de
Especificación de Requisitos del Software).
4) Realizar pruebas de regresión, para asegurar que las capacidades
existentes siguen funcionando.
5) Ejecutar las pruebas del sistema soportadas por esta construcción.
Diseñar la prueba
En esta actividad se procederá a: identificar y describir los casos de prueba
para cada construcción, identificar y estructurar los procedimientos de
prueba especificando cómo realizar los casos de prueba.
5
Implementar pruebas
El propósito de esta actividad es automatizar los procedimientos de prueba
creando componentes de prueba, si es que es posible ya que no siempre es
posible o factible automatizar los procedimientos de prueba.
Tipos de prueba
Niveles de prueba
Todo proceso de prueba de software consiste en tres niveles de prueba:
pruebas de unidad, de integración y de sistema. En el Proceso de Desarrollo
Unificado, las pruebas de unidad se realizan el Flujo de Trabajo de
Implementación y las pruebas de integración y de sistema en el Flujo de
Trabajo de Prueba, que tratamos en esta unidad.
Las pruebas de unidad son el primer tipo de pruebas que se realizan. Por
referirse principalmente a la prueba de métodos de las clases, se ubican
naturalmente en el Flujo de Trabajo de Implementación ya que es normal
6
que quien realiza la codificación de la clase vaya realizando la prueba de sus
métodos.
Fuente: Libro “Ingeniería de Software – Una perspectiva orientada a objetos” – Eric Braude, 2003,
Pág. 395.
Pruebas de Unidad
La meta de las pruebas de unidades es estructural mientras que el otro tipo
de pruebas es funcional típico. Como se muestra en el gráfico de la página
anterior, en general las funciones son las partes más pequeñas a las que se
aplican las pruebas de unidades. En el caso de la orientación a objetos se
refiere a los métodos de una clase. La siguiente unidad en tamaño es el
módulo, que en nuestro caso se refiere a una clase. Algunas veces, las
“combinaciones de módulos” se consideran unidades para los propósitos de
las pruebas (estos serían paquetes o subsistemas).
Las unidades a las que se aplican las “pruebas de unidad” son los bloques de
construcción de la aplicación, algo así como los ladrillos individuales sobre
los que se apoya una casa. Si algunos de estos “ladrillos” son defectuosos,
una vez integradas las partes defectuosas en una aplicación, puede tomar
mucho tiempo identificarlas y repararlas. Por ello, los bloques de
construcción de software deben ser completamente confiables y esta es la
meta de las pruebas de unidad.
7
En términos del PUD (Proceso de Desarrollo Unificado), las pruebas unitarias
se llevan a cabo durante las iteraciones de la fase de Elaboración y también
en las primeras iteraciones de la Construcción.
Fuente: Libro “Ingeniería de Software. Una perspectiva orientada a objetos” Eric Braude, 2003, Pág.
397.
Los pasos que requiere el estándar IEEE (1008-1987) para las pruebas de
unidades, que amplían el mapa conceptual anterior, son:
8
En el caso de sistemas orientados a objetos también se necesitan ejecutar
tests basados en estados encapsulados de objetos y la interacción de
operaciones, a las que se denomina evaluación basada en estado.
Las pruebas de caja negra pueden ser suficientes si se puede asegurar que
agotan todas las combinaciones de entrada. Esto probaría al cliente que
todos los requerimientos se satisfacen. Sin embargo, ninguna prueba cubre
todas las posibilidades.
Fuente: Libro “Ingeniería de Software. Una perspectiva orientada a objetos” Eric Braude, 2000, Pág.
398.
9
Por ejemplo, en un caso de un sistema académico de cursado de materias
en una facultad, los valores válidos para las notas de los parciales van entre
0 y 10 (0 se consideraría un Ausente), esto proporciona dos fronteras. Ahora
bien, que la nota sea mayor o igual a 4 tiene un significado especial (es la
nota inferior para aprobar), esto introduciría una frontera adicional. Al
diseñar las pruebas, también se usan los valores fuera de estas fronteras (es
decir, las entradas no válidas) como datos de prueba.
Método: verificarRegularidad
10
Pruebas de Caja Blanca
La idea de las pruebas de caja blanca es verificar los elementos de la
aplicación y la manera en que se ensamblaron. La meta de las pruebas de
caja blanca es probar las líneas de falla más probables de la aplicación.
Fuente: Libro “Ingeniería de Software. Una perspectiva orientada a objetos” Eric Braude, 2000, Pág.
398.
11
Pruebas basadas en los estados
Como ya se ha visto, los objetos de las clases muchas veces se pueden
interpretar como transiciones entre estados en respuesta a los eventos. Por
lo tanto, deben probarse esas clases en términos de su estado. Las pruebas
basadas en estado prueban la interacción entre las operaciones de una clase
monitoreando los cambios que tienen lugar en los atributos de los objetos.
Probar sólo una operación aislada no es suficiente para probar una unidad,
se debe probar también los atributos del objeto.
Una de las ventajas de este tipo de matrices es que focaliza la atención del
diseñador en la combinación estímulo (evento)/estado que puede ser
12
descuidada durante el diseño. Es posible incluir todas las combinaciones de
atributos del objeto (todos los posibles valores de las variables) y todas las
variantes de estímulo (distintos parámetros). En general algunas
combinaciones específicas de atributos pueden ser más interesantes que
otras. Algunas operaciones, como las de lectura, que no afectan el estado,
no necesitan ser consideradas.
Debe verificarse que todos los posibles estados pueden alcanzarse con
alguna combinación de operaciones, de otra manera puede haber una falla
en el diseño de la clase.
Pruebas de Integración
Concepto de Integración
Debido a que las aplicaciones son complejas, deben construirse con partes
que primero se desarrollan por separado. La “integración” se refiere a este
proceso de ensamble. Se realizan varios tipos de pruebas en los ensambles
parciales de la aplicación y en toda ella. La etapa de integración suele
producir sorpresas desagradables por incompatibilidad de las partes que se
integran. Por esto, el Proceso de Desarrollo Unificado, en particular, intenta
evitar la integración “explosiva” mediante la integración continua con
múltiples iteraciones.
13
caso de uso. Crear casos de uso relativamente pequeños desde el principio
facilita su ajuste en las construcciones.
Los casos de uso son una fuente ideal de casos de prueba para las pruebas
de integración. La idea es que los casos de uso se construyan sobre los que
ya están integrados para formar pruebas cada vez más representativas del
uso de la aplicación, como se muestra en la siguiente figura:
Fuente: Libro “Ingeniería de Software. Una perspectiva orientada a objetos” Eric Braude, 2000, Pág.
445.
Pruebas de Interacción
Las interacciones entre casos de uso son las áreas más difíciles de probar,
debido a la gran cantidad de combinaciones posibles aún en un sistema de
tamaño moderado.
14
Una forma de buscar interacciones es buscar objetos compartidos entre
casos de uso. Para esto se pueden utilizar matrices CRUD
(Create/Read/Update/Delete - Crear/Leer/Actualizar/Borrar), buscando
principalmente las situaciones en las que los objetos son leídos, actualizados
o borrados en un caso de uso y creados en otro.
Del análisis de esta matriz vemos que en diversos casos de uso se “leen”
objetos “alumno, materia y profesor”, pero nunca son creados. En este caso
debe considerarse si:
Pruebas de Sistema
La prueba del sistema es la culminación de las pruebas de integración.
Consiste en pruebas de caja negra que validan la aplicación completa contra
sus requerimientos (funcionales y no funcionales).
Siempre que sea posible, las pruebas del sistema se realizan mientras la
aplicación se ejecuta en su entorno requerido. Sin embargo, en ocasiones
habrá que conformarse con pruebas de ejecuciones del sistema en un
entorno o configuración que no es equivalente a la del cliente.
15
y ejecuta la aplicación con un escenario aleatorio, hasta que el sistema falla.
Registra la hora y calcula el tiempo transcurrido. Este proceso se realiza
muchas veces. El MTBF es el promedio de los tiempos obtenidos.
Utilidad: Mide la reacción del usuario, por ejemplo con una calificación
del 0 a 10 (ver más detalles debajo).
Pruebas de Utilidad
Una buena interfaz puede mejorar mucho el valor de la aplicación. La prueba
de utilidad valida la aceptación de la aplicación por los usuarios. Una manera
de hacer esto es cuantificar el nivel de satisfacción que informan los usuarios
al usar la aplicación.
16
Accesibilidad: Facilidad con la que entran, navegan y salen los usuarios.
Por ejemplo, medida por el tiempo promedio que toma.
Pruebas de Regresión
Cuando una aplicación crece, las pruebas del sistema adquieren un
significado especial. Esto es en especial notorio cuando se hace un cambio
en una aplicación grande y los desarrolladores necesitan validad el hecho de
que el cambio no haya afectado la funcionalidad existente.
Pruebas de Aceptación
La organización desarrolladora y la del cliente son las partes de un contrato.
Cuando termina un trabajo, un desarrollador inteligente obtiene una
declaración definitiva del cliente que establece que de hecho la aplicación
está entregada.
17
la organización del cliente es el testigo y se ejecutan en la plataforma que
van a operar.
Evaluación de la prueba
En esta actividad, los diseñadores de pruebas evalúan los resultados del
esfuerzo de la prueba comparando los resultados obtenidos con los
objetivos establecidos en el plan de prueba.
18
Referencias
Booch Grady, Rumbaugh James, Jacobson Ivar (1999) “El lenguaje de
Modelado Unificado”, España, Addison Wesley Iberoamericana. Capítulos: 25,26,
29 y 30
19