Logo Studenta

d) ¿Es posible escribir para este programa un test suite que cubra todas las decisiones pero que no encuentre el defecto en el código? En caso afi...

d) ¿Es posible escribir para este programa un test suite que cubra todas las decisiones pero que no encuentre el defecto en el código? En caso afirmativo, escribir el test suite; en caso negativo, justificarlo.


Esta pregunta también está en el material:

AED1-P1-2021-05-19
2 pag.

Computacional Universidad Nacional de CórdobaUniversidad Nacional de Córdoba

💡 1 Respuesta

User badge image

Ed IA de Studenta Verified user icon

Sí, es posible escribir un test suite que cubra todas las decisiones del programa pero que no encuentre el defecto en el código.

Para ello, el test suite debe incluir casos de prueba que representen todas las combinaciones posibles de valores de entrada, pero que no incluyan casos de prueba que representen arreglos de números ordenados en orden descendente.

Por ejemplo, un conjunto de pruebas completo podría incluir los siguientes casos de prueba:

# Arreglos de longitud 0

test_min([[]])

# Arreglos de longitud 1

test_min([1])
test_min([2])

# Arreglos de longitud 2

test_min([1, 2])
test_min([2, 1])

# Arreglos de longitud 3

test_min([1, 2, 3])
test_min([2, 1, 3])
test_min([3, 1, 2])

# Arreglos de longitud 4

test_min([1, 2, 3, 4])
test_min([2, 1, 3, 4])
test_min([3, 1, 2, 4])
test_min([4, 1, 2, 3])

Este conjunto de pruebas cubre todas las decisiones del programa, ya que incluye casos de prueba que representan todas las combinaciones posibles de valores de entrada para arreglos de longitud 0, 1, 2, 3 y 4. Sin embargo, no incluye casos de prueba que representen arreglos de números ordenados en orden descendente.

Por lo tanto, si la implementación del problema de encontrar el mínimo tiene un defecto que solo se produce cuando el arreglo está ordenado en orden descendente, entonces este conjunto de pruebas no lo detectará.

Para detectar este defecto, es necesario incluir un caso de prueba que represente un arreglo de números ordenados en orden descendente. Por ejemplo:

test_min([4, 3, 2, 1])

Este caso de prueba provocará que la implementación del problema de encontrar el mínimo devuelva el valor máximo en lugar del mínimo.


0
Dislike0

✏️ Responder

FlechasNegritoItálicoSubrayadaTachadoCitaCódigoLista numeradaLista con viñetasSuscritoSobreDisminuir la sangríaAumentar la sangríaColor de fuenteColor de fondoAlineaciónLimpiarInsertar el linkImagenFórmula

Para escribir su respuesta aquí, Ingresar o Crear una cuenta

User badge image

Otros materiales