Está en la página 1de 2

MODELO DE PARCIAL

1) Dado el siguiente fragmento de código en lenguaje C:

int select (int A[], int N, int X)


{
int i = 0;
while (i < N and A[i] < X)
{
if (A[i] < 0)
{
A[i] = A[i] - A[i];
}
i = i + 1;
}
return A[0];
}

Se pide:

a) Obtener la complejidad computacional de la función select.


b) Indicar cuáles caminos son válidos de recorrer y cuáles no. Ejemplificar
utilizando datos representativos para los caminos válidos.
c) El siguiente caso de prueba: N = 1; A[0] = -7; X = 9. ¿Cubre el 100% de las
sentencias del código? Justificar.
d) Desarrollar una prueba unitaria que cubra el 100% de los caminos válidos
obtenidos del punto b. La función ​test ​a desarrollar debe retornar 1 si el test
resultó Ok y debe retornar 0 si el test resultó Fallido.

2) Indique con verdadero o falso las siguientes afirmaciones.

a) El ciclo de vida Modelo en V aplica para proyectos donde los requerimientos


tienen alta probabilidad de cambiar.
b) Las pruebas unitarias son ejecutadas manualmente por una persona con un
perfil de tester.
c) Las pruebas del sistema también son llamadas pruebas de usuario.
d) La mayoría de los defectos, se concentran en un grupo reducido de módulos
o funcionalidades.
e) En general, las pruebas no dependen del contexto.
f) El testing no puede probar la ausencia de defectos. Lo que si logramos con el
testing, es reducir la cantidad de defectos.
g) Una excepción es un acontecimiento que ocurre durante la compilación de un
programa.
h) Un error de sintaxis puede ser manejado como una excepción del programa.
i) Cuando una excepción ocurre, es recomendable loguear la descripción de la
excepción en un archivo de log de la aplicación.
j) Un assert permite determinar si se cumple con una condición necesaria para
continuar con la ejecución del programa.
k) Un assert nunca puede interrumpir el flujo normal de ejecución de un
programa.
l) Las herramientas de integración continua permiten obtener el porcentaje de
cobertura de sentencias de las pruebas unitarias.

3) Dada la siguiente especificación abreviada del formulario de alta de cliente:

Nro. Cliente​: es un campo de números enteros positivos, cuyo valor máximo a


ingresar es 99999.
Nombre Cliente​: es un campo con 20 caracteres de letras (no soporta números y
caracteres especiales)
Es soltero​: es un campo de un solo caracter, donde “S” indica que es soltero y “N”
indica que no lo es.

Se pide:

a) Crear una tabla de clases de equivalencia en la que se indiquen las


siguientes columnas en cada fila:
i) Condición de entrada o variable que se analiza
ii) Clases válidas
iii) Clases no válidas que se generan para la condición

b) Generar una tabla con los casos de prueba (especificando con datos
representativos de entrada) indicando en cada caso las clases que cubre.

También podría gustarte