QA · Lectura de 8 min

Los cuatro niveles de prueba y por qué el orden importa

Unitaria, integración, sistema y aceptación no son sinónimos con distinto tamaño: cada nivel responde a un riesgo diferente. Saltarte uno no ahorra tiempo, lo aplaza.

Los cuatro niveles de prueba son unitaria, integración, sistema y aceptación, y cada uno responde una pregunta distinta: ¿funciona la pieza?, ¿encajan las piezas?, ¿funciona el producto completo?, ¿es esto lo que el negocio pidió? No son la misma prueba en cuatro tamaños. Son cuatro preguntas que no puedes contestar en el mismo lugar, y por eso el orden en que las haces cambia cuánto te cuesta cada error.

El ISTQB, el cuerpo de conocimiento más usado para certificar testers, define estos niveles como una secuencia deliberada, no como una lista de opciones [1]. Cada nivel supone que el anterior ya dio su respuesta. Cuando saltas uno, no eliminas su pregunta: la empujas hacia arriba, donde contestarla cuesta más caro y llega más tarde.

01 · las cuatro preguntasQué examina cada nivel y por qué son distintos

Un nivel de prueba se define por el objeto que examina y por quién lo hace. Cambiar de nivel no es hacer "lo mismo pero más grande": es cambiar la pregunta, el entorno y muchas veces la persona que juzga el resultado.

Unitaria. Examina la pieza más pequeña que tiene sentido probar aislada, casi siempre una función o un método. La escribe quien programa, corre en milisegundos y no toca base de datos ni red. Su pregunta es simple: dada esta entrada, ¿la función devuelve la salida correcta? Si tratamos este nivel a fondo en el artículo sobre pruebas unitarias, aquí basta con recordar que es la base y la más barata de todas.

Integración. Examina qué pasa cuando dos o más unidades trabajan juntas. Cada pieza puede estar perfecta por separado y aun así el conjunto falla: un formato de fecha que una manda y otra no entiende, un error que se traga en silencio, un contrato mal supuesto entre módulos. La unitaria nunca ve ese error porque, por definición, mira una sola pieza. El detalle de cuándo conviene este nivel está en el artículo sobre pruebas de integración.

Sistema. Examina el producto completo, ya ensamblado, funcionando como una sola cosa en un entorno parecido al real. Aquí se prueba el flujo entero de punta a punta y también lo que ninguna pieza individual garantiza: que el sistema sea rápido, seguro y que aguante carga. Es el primer nivel donde el objeto de prueba es "el software", no "un pedazo de software".

Aceptación. Examina si el sistema sirve para lo que el negocio o el usuario pidió. Cambia la pregunta de raíz: ya no es "¿está bien construido?" sino "¿construimos lo correcto?". La juzga el cliente, el dueño de producto o el usuario final, no el equipo técnico. Un sistema puede pasar los tres niveles anteriores sin un solo defecto y fallar aquí, porque resolvía el problema equivocado.

Los tres primeros niveles preguntan si el software está bien hecho. El cuarto pregunta si era el software correcto. No es la misma pregunta.

Figura 1 · las cuatro preguntas, de la pieza al propósito
Unitaria ¿funciona la pieza? · la escribe quien programa Integración ¿encajan las piezas entre sí? · contratos y formatos Sistema ¿funciona el producto completo? · flujo, carga, seguridad Aceptación ¿es lo que el negocio pidió? · lo juzga el cliente
De abajo hacia arriba, el objeto de prueba crece: de una función a todo el producto, y de una pregunta técnica a una pregunta de negocio. Quien juzga el resultado también cambia con el nivel.

02 · por qué el orden importaCada error tiene un nivel donde cuesta menos atraparlo

Existe una regla que se repite en la ingeniería de software desde los años setenta: el costo de arreglar un defecto crece a medida que avanza por las fases del desarrollo. Un error atrapado por una prueba unitaria se corrige en minutos, muchas veces antes de que salga del editor. El mismo error atrapado en aceptación, o peor, en producción, puede costar órdenes de magnitud más, porque hay que rastrearlo entre todas las piezas ensambladas y a veces rehacer decisiones ya tomadas.

El orden de los niveles no es burocracia: es una estrategia para poner cada red lo más abajo posible. La unitaria caza errores de lógica en una función. La integración caza malentendidos entre módulos. La de sistema caza fallos que solo aparecen con todo montado. La de aceptación caza el error más caro de todos: haber construido lo que no era. Cada red atrapa lo que la de abajo no puede ver, y deja pasar lo mínimo hacia la siguiente.

Por eso saltarte un nivel no ahorra tiempo. Si te saltas la integración, los errores de contrato entre módulos no desaparecen: reaparecen en la prueba de sistema, mezclados con otros veinte problemas, mucho más difíciles de aislar. El trabajo que no hiciste abajo lo pagas arriba, con intereses.

Niveles no es lo mismo que tipos

Un error común es confundir los niveles de prueba con los tipos de prueba. El nivel dice en qué objeto pruebas: una pieza, un ensamble, el sistema, el propósito. El tipo dice qué característica examinas: funcional, rendimiento, seguridad, usabilidad. Son ejes distintos que se cruzan. Puedes hacer una prueba de rendimiento a nivel de sistema, o una prueba funcional a nivel unitario. La ISO/IEC 25010, el estándar que define las características de calidad del software, vive en ese segundo eje: describe qué medir, no en qué nivel medirlo [2].

El trabajo que no haces en el nivel de abajo no desaparece. Sube de nivel y se vuelve más caro de encontrar.

03 · cómo encajan en tu suiteDel modelo a la práctica sin volverse dogmático

Los cuatro niveles describen preguntas que hay que responder, pero no dictan cuántas pruebas de cada uno debes tener. Esa proporción la ordena otra figura: la pirámide de pruebas, que recomienda muchas pruebas baratas y rápidas abajo y pocas caras y lentas arriba. Si los niveles son las preguntas, la pirámide es el presupuesto con el que las contestas. La tratamos aparte en el artículo sobre la pirámide de pruebas.

En la práctica, los niveles no siempre corren en secuencia estricta ni los ejecuta el mismo equipo. En un flujo moderno, las unitarias y muchas de integración corren automáticas en cada cambio de código; las de sistema, en un entorno de preproducción; y las de aceptación, con participación del negocio antes de dar luz verde. Lo importante no es la ceremonia, sino que ninguna de las cuatro preguntas quede sin contestar antes de que el usuario la conteste por ti.

Figura 2 · dónde atrapar cada error cuesta menos
Unitaria Integración Sistema Aceptación Producción costo
El mismo defecto cuesta poco si una prueba unitaria lo atrapa y mucho si llega a producción. Cada nivel es una oportunidad de cazarlo antes de que se vuelva caro. Las alturas ilustran la tendencia, no cifras exactas.

Visto así, los cuatro niveles dejan de parecer una jerarquía burocrática y se vuelven lo que son: cuatro filtros ordenados de lo pequeño a lo grande y de lo técnico a lo humano. Unitaria para la pieza, integración para el encaje, sistema para el todo, aceptación para el propósito. Saltarte uno no borra su pregunta. Solo decide quién la va a contestar, cuándo y por cuánto dinero. Y casi siempre, el que termina contestándola es el usuario, en el peor momento posible.

Fuentes

  1. International Software Testing Qualifications Board (ISTQB). Certified Tester Foundation Level (CTFL) Syllabus, v4.0 (2023). Sección sobre niveles de prueba: componente, integración, sistema y aceptación. istqb.org.
  2. ISO/IEC 25010:2011. Systems and software engineering. Systems and software Quality Requirements and Evaluation (SQuaRE). System and software quality models. International Organization for Standardization. Define las características de calidad, un eje distinto al de los niveles de prueba.
  3. Spillner, A., Linz, T. & Schaefer, H. (2014). Software Testing Foundations: A Study Guide for the Certified Tester Exam, 4.ª ed. Rocky Nook. Capítulo sobre niveles de prueba y el modelo en V.

Aprende más sobre IA

Ver todo Aprende IA