Saltearse al contenido

Las pruebas y la evidencia

Probar sigue este orden, y cada pieza se apoya en la anterior:

02 criterios → 06 casos CP-NN → brief «a construir» → pruebas → evidencias/ → 07

Los casos salen de los criterios de aceptación del 02, nunca del código: una prueba escrita desde lo que el código hace pasa igual cuando el código está mal.

06-plan-pruebas.md lo lee el dueño de negocio, así que no lleva jerga. Cada caso CP-NN dice:

CampoPara qué
ValidaQué RF y RN cubre. De acá se cuenta la cobertura, criterio por criterio
TipoQuién lo ejecuta: «Funcional / UAT» va al plan del usuario; «Técnico», «API» o «Base de datos» los verifican el desarrollador o la automatización
PrioridadP0–P3. No es una etiqueta: es una compuerta
Usuario / rolCon qué usuario se ejecuta. La E2E corre con el mismo
NavegaciónPor dónde llega el usuario a la pantalla

Los pasos llevan datos literales —«escriba REG-2026-014», nunca «un código válido»— y el ejemplo numérico de cada regla de negocio.

PrioridadCuándoQué provoca
P0Dinero, seguridad, integridad de datos, obligación regulatoria, o algo que ya se rompió antesEn rojo o sin resultado en el 07, frena el Pull Request
P1Recorrido principal o lógica complejaCon menos del 80 % resuelto, pasa con reservas
P2 · P3Secundaria · deseableSe informa

La duda entre P0 y P1 se resuelve con una pregunta: si falla en producción el lunes a las 9, ¿se revierte el despliegue? Marcar todo P0 no hace nada más seguro: hace que la marca deje de significar algo.

El brief: lo que se aprueba antes de escribir

Sección titulada «El brief: lo que se aprueba antes de escribir»

Escribir veinte pruebas es lo caro de la fase, y lo que sale mal sale mal en bloque. Por eso primero va el brief, que siembra pruebas/a-construir-<TICKET>.md:

Ventana de terminal
kb pruebas brief

Abre con lo que invalida todo lo demás si está mal: la plataforma de cada componente, dónde se van a crear los archivos (la carpeta absoluta de cada suite; si la ficha no la declara, el brief dice «PARÁ ACÁ») y cómo se levanta cada componente. Sigue con las unitarias por componente, los roles con su usuario de prueba y una sección transversal de E2E con una fila por condición, cada una con su oráculo del 02. El desarrollador quita, agrega y corrige, y lo aprueba poniendo estado: aprobado y su nombre en aprobado_por:. Después se escribe una prueba por fila, ni una más ni una menos.

Cómo salen las condiciones y qué trae el kit de Playwright está en Las pruebas de fábrica.

kb pruebas corre los comandos que declara la ficha de cada componente y guarda cada salida con el nombre que busca el PR. Corre solo lo que se exige: --todo corre todo lo declarado y --faltantes saltea lo que ya tiene evidencia en verde posterior al último cambio del repositorio. Cada archivo lleva en su primera línea qué comando corrió y con qué código salió, y su huella queda en el rastro: una corrida en rojo no cuenta, y un archivo escrito a mano tampoco.

CódigoEvidenciaQuién la produce
E01 · E02 · E03Compilación · lint o analizador · unitarias con coberturakb pruebas
E04E2E: la salida, una captura por caso y el reportekb pruebas
E05La pantalla funcionando, o la API respondiendouna persona (captura) · kb pruebas --solo api
E06Scripts de base de datos, ida y vueltakb pruebas --solo bd
E07Validador de código corporativoquien lo corrió: la salida tal cual
E08 · E09La revisión automática del PR · la revisión especializada/kb-pr · /kb-revisar
E10Dependencias vulnerableskb revisar, si la ficha la exige

Qué exige cada componente lo dice su ficha, en la fila evidencias (kb apps editar OPS-WEB --evidencias "E01, E03, E04"), y, mientras la ficha no lo diga, la tabla por tipo de aplicaciones/PULL-REQUEST.md: a un frontend se le piden de E01 a E05; a un proyecto de base de datos, E06. kb hoja dice qué falta, por repositorio, antes de abrir el PR.

07-resultados-pruebas.md separa lo que prueba el desarrollador antes del PR de lo que valida el usuario después.

La escribe kb pruebas resultados, que kb pruebas corre solo al terminar: el veredicto de cada paso con su archivo y la cola del log de lo que quedó en rojo. No se edita a mano; lo único manual, «Correcciones durante la corrida», se conserva al regenerarla.

Una fila por cada caso del 06, con la columna «Cómo»:

CómoQué significa
E2ELo cubre una prueba automática: su resultado y su captura, ligada como imagen. El caso sale del título de la prueba (CP04_…), de una anotación CP, o de su condición cuando la valida un solo caso del 06 — el brief dice cuál le toca a cada una
manualLo verificaste vos antes del PR, con una captura E05-pantalla-<caso>.png (por ejemplo E05-pantalla-cp02.png), que en el PR va junto a su caso. Se conserva al regenerar
UATSe deja para el usuario, con el motivo en Observaciones. Un P0 no: la UAT llega después del PR aprobado y un P0 sin resultado frena el PR — kb pruebas resultados lo avisa
—Todavía no: no cuenta como probado y no se lee como duda

Una §2 de las de antes («Pruebas funcionales del desarrollador») se convierte sola; una que el equipo personalizó no se toca. No marques lo pendiente con ❓: ❓ es duda, tapa el verde de la E2E del mismo caso y, en un P0, frena el PR igual que un rojo.

Llega después de kb pr aprobado, con el cambio en staging: kb plan-uat arma la app que ejecuta el usuario y kb uat importar vuelca lo que devuelve. Un visto bueno sin quién lo dio no cuenta; un ❌ sin nombre, sí: sigue siendo un defecto que alguien vio. El recorrido, con las rondas de corrección, está en La UAT y las rondas.

Ventana de terminal
kb pruebas revisar # PASA · CON RESERVAS · FALLA, sin gastar un token

Cruza el 06, el 07, las evidencias, el linter de las E2E y el brief. Lee la §2 y la §3 juntas, y el peor resultado manda: si la automática pasó y el usuario lo reprobó, el caso está en rojo. Al revés sería entregar un defecto porque una de las pruebas lo dejó pasar. Un — no está resuelto, un ❓ tampoco, y un caso que el runner salteó (⏭) es un caso sin resultado. Cuenta además la cobertura por criterio —un requisito de cuatro criterios con un solo caso no está cubierto— y avisa de las pruebas en fixme o skip sin motivo y de un brief sin aprobar. Sale con 0, 1 o 2 para un pipeline, y lo que dice «Frena» es exactamente lo que kb pr va a rechazar después: enterarse acá cuesta una corrección; allá, una vuelta entera.

kbspec es un producto de Kabata Soft contacto@kabatasoft.com © 2026 Kabata Soft S.A. Todos los derechos reservados.