Skip to content

1. Tipos y niveles de pruebas

Temas del programa: 3.1

Nivel de prueba

Agrupa pruebas por el objeto de prueba: componente, conexión entre componentes, sistema completo, uso del negocio.

Tipo de prueba

Agrupa pruebas por la característica que evalúan: funcional, no funcional, estructural, relacionada con cambios.

JUnit o Postman son herramientas, no niveles. El nivel depende de qué estás probando.

NivelObjeto de pruebaQuién suele probarBase de prueba
UnitariaFunción, método o clase aisladosQuien desarrollaDiseño detallado, código
IntegraciónInteracción entre componentesDesarrollo o pruebasArquitectura, interfaces
SistemaSistema completo, ambiente similar a producciónEquipo de pruebasRequisitos, casos de uso
Aceptación (UAT)Sistema en el contexto del negocioUsuarios o clienteCriterios de aceptación

Base de prueba: el documento del que salen los casos y sus resultados esperados.

FUNCIÓN calcularMulta(diasRetraso, tipoUsuario)
1 SI diasRetraso <= 0 ENTONCES RETORNAR 0 ...
4 tarifa ← 5
5 SI tipoUsuario = "DOCENTE" ENTONCES tarifa ← 3 ...
8 multa ← diasRetraso * tarifa
9 SI multa > 100 ENTONCES multa ← 100 ...
12 RETORNAR multa
CASO (unitario) Entrada: diasRetraso = 3, tipoUsuario = "ESTUDIANTE"
Resultado esperado: 15 (RN-04: 3 × 5 MXN)

Si falla, el defecto solo puede estar dentro de calcularMulta.

Nivel de integración: el acuerdo entre componentes

Section titled “Nivel de integración: el acuerdo entre componentes”
FUNCIÓN registrarDevolucion(idPrestamo, fechaDevolucion)
1 prestamo ← repositorioPrestamos.buscar(idPrestamo)
2 usuario ← servicioUsuarios.obtener(prestamo.idUsuario)
3 diasRetraso ← diasEntre(prestamo.fechaLimite, fechaDevolucion)
4 multa ← calcularMulta(diasRetraso, usuario.tipo)
5 prestamo.multa ← multa
6 repositorioPrestamos.guardar(prestamo)

servicioUsuarios devuelve "Docente". calcularMulta compara con "DOCENTE". Cada componente pasa sus pruebas unitarias. Juntos cobran 5 MXN a un DOCENTE.

Sistema

Desde la pantalla: registrar la devolución de un ESTUDIANTE con 3 días de retraso.

Esperado: la pantalla muestra 15 MXN y el préstamo queda "Devuelto".

Aceptación

Dado que una persona devuelve un libro con retraso, cuando la bibliotecaria registra la devolución, entonces el monto coincide con el procedimiento de cobranza.

Los criterios dado–cuando–entonces de la Unidad II son la base de la prueba de aceptación.

NivelLa multa (RN-04) en el SPBDefecto que busca
UnitariaLa función devuelve 15 MXNCálculo mal programado
IntegraciónLa multa se calcula con el tipo correcto y se guardaAcuerdo roto entre componentes
SistemaEl monto aparece en la pantalla de devoluciónFlujo incompleto, dato mal mostrado
AceptaciónCoincide con el proceso de cobranzaNo sirve al proceso real
Requisitos del negocio ─────────────────────── Prueba de aceptación
Requisitos del sistema ─────────────── Prueba de sistema
Diseño de arquitectura ─────── Prueba de integración
Diseño detallado ────── Prueba unitaria
Implementación

Los casos de cada nivel pueden diseñarse en cuanto existe su base de prueba, aunque se ejecuten después (pruebas tempranas, Unidad I).

Por eso puedes diseñar casos para tu proyecto base aunque todavía no sea ejecutable.

Big bang

Se unen todos los componentes a la vez. Si algo falla, es difícil saber qué interfaz lo causó.

Incremental

Se agrega un componente a la vez, de arriba hacia abajo o de abajo hacia arriba. Localiza el origen de la falla.

En la Unidad IV verás cómo se simulan los componentes que aún no existen.

Actividad A1 — Clasificación de niveles

Section titled “Actividad A1 — Clasificación de niveles”

Clasifica diez pruebas del SPB por nivel y tipo, y describe qué se probaría en cada nivel para una funcionalidad de tu proyecto base.

Producto: tabla de clasificación justificada por el objeto de prueba.

Instrucciones completas: Actividades de la Unidad 03, Actividad A1.

Continúa con 2. Técnicas de diseño: enfoques y casos de prueba.