Diagrama de casos de uso:
Un caso de uso especifica un conjunto de secuencias de acciones, incluyendo variantes, que el sistema puede ejecutar y que produce un resultado observable de valor para un actor en particular.
Un actor representa un conjunto coherente de roles que juegan los usuarios de los casos de uso al interaccionar con el sistema.
Un caso de uso describe un conjunto de secuencias de interacciones entre actores y el sistema llamadas escenarios.
Asociación: Entre un actor y un caso de uso (bidireccional)
Generalización: Un cdu hereda el comportamiento y significado de otro.
Inclusión: el cdu fuente comprende también el comportamiento del cdu al que apunta.
Extensión: el cdu fuente amplia el comportamiento del caso de uso al que apunta.
Diagramas de Secuencia:
Representa una interacción ordenada según la secuencia temporal de eventos. El eje vertical representa el tiempo, y en el eje horizontal se colocan los objetos y actores participantes en la interacción, sin un orden prefijado.
Línea de Vida: representa la evolución de éste, a lo largo de cierto tiempo.
Activación: período durante el cual un objeto realiza una acción.
Un mensaje sincrónico, donde objeto que envía el mensaje espera el retorno de una respuesta, antes de reanudar sus operaciones.
Un mensaje asíncrono muestra simplemente flujo de control, del que no se espera ninguna respuesta.
Un mensaje simple describe cómo el control pasa de un objeto a otro, se utiliza cuando los detalles de la comunicación no se consideran relevantes o para señalar el mensaje de retorno a un mensaje sincrónico.
Diagramas de colaboración:
Un diagrama de colaboración muestra cómo las instancias específicas de las clases trabajan juntas para alcanzar un objetivo común.
Se detallan las asociaciones que se muestran en un diagrama de secuencia, describiendo el intercambio de mensajes entre objetos y las relaciones entre los objetos, sin tomar en cuenta la dimensión temporal de dichas relaciones.
Objeto: Los objetos se representan con un rectángulo que contiene el nombre y la clase del objeto (Objeto: Clase).
Enlace: Línea recta que une dos objetos que van a relacionarse.
Colaboración: Una descripción de los objetos afectados (contexto). Una descripción de la secuencia de los mensajes que intercambian estos objetos (interacción).
Planificación de las pruebas
Un defecto en el software es una definición de datos incorrecta o un paso de procesamiento incorrecto en el programa.
Un fallo en el software es la incapacidad de un sistema o de alguno de sus componentes para realizar las funciones requeridas dentro de los requisitos de rendimiento especificados.
Un error en el software es la diferencia entre un valor calculado, observado o medio y el valor verdadero, especificado o teóricamente correcto.
Pruebas (test): 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.
Caso de prueba (test case): un conjunto de entradas, condiciones de ejecución y resultados esperados desarrollados para un objetivo particular.
Las pruebas deben centrarse en dos objetivos:
Probar si el software no hace lo que no debe hacer.
Probar si el software hace lo que debe hacer.
Tipos de prueba: Se establecen una serie de condiciones con el objetivo de determinar si la aplicación funciona correctamente. Tienen distintos enfoques:
El enfoque funcional o de caja negra caja negra. Se centra en las funciones, entradas y salidas.
Dos técnicas:
Partición equivalente: dividir y separar los campos de entrada según el tipo de dato y las restricciones que conlleva en clases de datos que después serán casos de prueba.
Una clase de equivalencia representa un conjunto de estados válidos o no válidos para condiciones de entrada.
El dominio de los valores de entrada será dividido en un número finito de clases de equivalencia.
Se procede en dos pasos:
Se identifican las clases de equivalencia tomando cada condición de entrada y repartíéndola en dos o más grupos.
Se define los casos de prueba, se asigna un número único a cada clase de equivalencia, se escribe un nuevo caso de prueba que cubra la clase de equivalencia válida y se escribe un caso de la prueba que cubra una, y solamente una, de las clases de equivalencia inválidas descubiertas.
Análisis de valores límite: lleva a una elección de casos de prueba que ejerciten los valores límite. Complementa a la partición equivalente. El enfoque estructural o de caja blanca. Se centra en la estructura interna del programa.
Pruebas de caja blanca: Comprobar todas las combinaciones posibles de casos de nuestro programa es imposible, trabajaremos con caminos, decisiones o condiciones.
Prueba del camino básico: Se basa en que el diseño de cualquier procedimiento puede representarse en un grafo. La complejidad ciclomática es el número de todos los posibles caminos independientes para ejecutar ese conjunto de sentencias.