Materias · 🏛️ Universidad y trabajo
Testing y QA
Ejercicios resueltos de Testing y QA paso a paso, con el error que más se comete en cada uno: Diseño de casos de prueba, Cobertura de pruebas y más. Gratis y en español.
Preguntarle al tutor de Testing y QASin instalar nada. Puedes probar antes de crear cuenta.
Ejercicios resueltos de Testing y QA
Resueltos paso a paso, como te los explicaría el tutor, y con el error que más se comete.
Diseño de casos de prueba
Una tienda en línea da envío gratis cuando la compra es de $80.000 o más. Un tester alcanza a correr tres pruebas del cálculo del envío. ¿Cuáles escoge y por qué esas?
Cómo se resuelve
- 1La regla parte el dominio en dos clases de equivalencia: por debajo de $80.000 se cobra envío, en $80.000 o más es gratis. Dentro de cada clase todos los valores se comportan igual, así que probar diez valores de la misma clase no agrega información.
- 2Los errores no se esconden en el medio de las clases, se esconden en el borde: escribir mayor que en vez de mayor o igual que es el error de programación más frecuente que existe.
- 3Se escogen entonces los tres valores que rodean el borde: $79.999, $80.000 y $80.001.
- 4$79.999 es el último que debe cobrar envío, y detecta un límite corrido hacia abajo.
- 5$80.000 es el valor del límite exacto y es el que de verdad importa: si el programador escribió mayor que en vez de mayor o igual que, esta es la única de las tres que falla.
- 6$80.001 es el primero que claramente debe salir gratis, y confirma que del borde en adelante la regla se aplica.
Respuesta: $79.999 (cobra envío), $80.000 (gratis) y $80.001 (gratis). La prueba de $80.000 es la que justifica el ejercicio.
El error de siempre: Probar con $50.000 y $150.000 y quedar tranquilo porque «pasaron las dos». Ambas pasan aunque el código diga mayor que en lugar de mayor o igual que; el error solo aparece justo en $80.000, que es exactamente el valor con el que el cliente llama a reclamar. Las pruebas se ponen donde cambia el comportamiento, no donde es cómodo.
Cobertura de pruebas
Esta función tiene 100% de cobertura de líneas con un solo caso de prueba (saldo 100.000, monto 50.000):
function puedeRetirar(saldo, monto) {
return monto > 0 && saldo >= monto;
}
¿Por qué ese 100% no significa nada y qué casos faltan?
Cómo se resuelve
- 1Primero se comprueba que el 100% es cierto: la función tiene una sola línea ejecutable y el caso (100.000, 50.000) la ejecuta. La herramienta la pinta de verde y reporta 100%. No está mintiendo; está midiendo otra cosa.
- 2La cobertura de líneas solo dice que la línea se ejecutó, no que se haya comprobado. Ese caso deja las DOS condiciones en verdadero al tiempo, así que ninguna de las dos se probó nunca en falso.
- 3La decisión está compuesta por dos condiciones unidas con Y lógico. Para probarla de verdad hay que hacer que cada condición, por separado, sea la culpable de que el resultado sea falso.
- 4Caso que falla por la primera condición: monto 0 (o negativo). Debe devolver false. Sin él, nadie se entera si alguien escribe monto >= 0 y deja retirar cero.
- 5Caso que falla por la segunda condición: saldo 30.000 con monto 50.000. Debe devolver false. Es el caso de fondos insuficientes, que es justamente para lo que existe la función.
- 6Caso del borde: saldo 100.000 con monto 100.000. Debe devolver true, porque retirar todo el saldo se puede. Este es el que descubre si escribieron saldo > monto en vez de saldo >= monto.
- 7Con esos cuatro casos la cobertura de líneas sigue marcando 100%, exactamente el mismo número que con uno solo. La cobertura no subió; lo que subió fue la confianza, y eso es lo que el número no sabe medir.
Respuesta: Faltan tres casos: (100.000, 0) falso por el monto, (30.000, 50.000) falso por el saldo y (100.000, 100.000) verdadero, que es el borde. Cuatro casos para una función de una línea, y el indicador marca 100% tanto con uno como con los cuatro.
El error de siempre: Presentar el 100% de cobertura de líneas como si fuera una medida de calidad, y exigirlo como meta del equipo. Una línea ejecutada no es una línea probada: una condición con dos partes queda verde con una sola prueba, y los dos errores clásicos (que dejen retirar cero y que escriban saldo > monto en vez de saldo >= monto) quedan sin tocar. La cobertura sirve para encontrar lo que nadie probó, no para certificar lo que sí.
¿Y si tu ejercicio no es ninguno de estos?
No hace falta buscar el ejercicio exacto en internet. Trae el tuyo, o pide los que te falten.
Todo esto es gratis y sin instalar nada. Puedes probar antes de crear cuenta.
Lo que cubre
- Diseño de casos de prueba
- Cobertura de pruebas
Preguntas que le puedes hacer
- Diseño de casos de pr…Explícame «Diseño de casos de prueba» con un ejemplo práctico y dime en qué suele equivocarse la gente.
- Cobertura de pruebasExplícame «Cobertura de pruebas» con un ejemplo práctico y dime en qué suele equivocarse la gente.
Cómo enseña este tutor
Es riguroso y completo: justifica cada paso y nombra el teorema, la norma o la buena práctica que está aplicando, para que puedas citarla en tu trabajo o en el parcial.
- · Te muestra el camino completo, no solo el resultado.
- · Si algo no te cuadra, te lo explica otra vez de otra manera.
- · Con una foto de tu cuaderno te dice dónde está el error.
- · Te arma quizzes de lo que acabas de ver para saber si de verdad quedó.
Otras materias de Universidad y trabajo