Final 2006 (Ingeniería I)

De Cuba-Wiki
Saltar a: navegación, buscar
Back.png Volver a la página de la materia

Ejercicio 1[editar]

Si tengo un criterio de test ideal (completo y consistente) entonces ejecutar cualquier test suite que satisface ese criterio me alcanza para saber si el programa es correcto? V o F. Justificar.

Repasando definiciones de testing:

  • Test Suite T: conjunto de datos de test con los que se testea el programa.
  • Si P es correcto para todo elemento de T, se dice que T es exitoso para P.
  • Un criterio es un subconjunto de conjuntos finitos del dominio de Inputs del programa P .
  • Se dice que un conjunto de datos T satisface un criterio C sii T pertenece a C.
  • Un Criterio C es Consistente para P sii para todo par T1 y T2 de test sets que satisfacen C, T1 es exitoso para P sii T2 lo es.
  • Un Criterio C es Completo para P sii si P es incorrecto entonces hay un test set T que no es exitoso para P.

Suponiendo que el programa es correcto, entonces cualquier test T perteneciente a C indicará que es correcto, pues el criterio es consistente.

Si el programa no es correcto, entonces tiene que existir un test T perteneciente a C tal que no sea exitoso. Suponiendo que pruebo con el test T1 y obtengo que es incorrecto, listo. Si pruebo con T2 y obtengo que es correcto, quiere decir que cualquier otro test tiene que dar que es correcto, lo cual es falso porque existe un test para el que no lo es por completitud.

Por lo tanto, la afirmación es verdadera. La gracia está en que es imposible hallar un criterio completo y consistente.

Ejercicio 2[editar]

Mencionar formas de determinar si una unidad de software paso un test de unidad.

Al definir un test de unidad se establece un criterio de testing estructural para el mismo que indica las estructuras (caminos, uses, branches, condiciones, instrucciones, etc) que deben cubrirse para satisfacerlo. Una unidad pasa un test unitario, entonces, cuando se ejecuta con todas las entradas necesarias para satisfacer dicho cirterio y en todos los casos el comportamiento es el esperado.

Ejercicio 3[editar]

Tengo que desarrollar un soft que tiene que conectarse con un soft externo (que no vamos a desarrollar) y tenemos la definicion de la interface. De que formaria parte?

  • Los requerimientos.
  • Hechos del dominio.
  • La especificacion del soft.

La definicion de la interface del soft externo es un hecho del dominio, por ser un sistema fuera de nuestro alcance. Como tal, es conveniente que se encuentre presente en la especificación del soft para ser tenida en cuenta.

En los requerimientos no se encontraría la definición de la interface en sí, sino el requerimiento de que el sistema debe conectarse con un sistema externo de tales características.

Ejercicio 4[editar]

Como se le puede dar semantica a un diagrama de secuencia?

La semántica de un diagrama de secuencias está dada por las trazas que genera, definiendo un orden parcial entre los mensajes enviados o recibidos por un componente. En el caso de que los mensajes se consideren asincrónicos, los eventos sobre los cuales se define el orden son el envío y recepción de los mensajes y no los mensajes en sí.