Ir al contenido
Mastering Claude

Inicio / Verificar lo que devuelve

Verificar lo que devuelve8 minApplication

Un control de forma nunca ve un valor falso

Un control automatizado verifica casi siempre la forma y muy raramente la verdad: un archivo válido, una codificación correcta o una palabra clave presente pueden convivir con una cifra falsa. Validar una captura de la página que genera el documento tampoco prueba lo que la persona abre realmente.

Un control automatizado que escanea un entregable antes de su publicación verifica casi siempre una sola cosa: la forma. ¿Es válido el archivo, parece correcta la codificación, aparece en algún lugar de la página una palabra clave esperada? Verifica muy raramente la verdad: ¿corresponde la cifra mostrada al valor correcto, es realmente exacta la afirmación? Esta diferencia permanece invisible hasta el día en que un valor falso atraviesa un control que muestra todo en verde.

Lo que un control de forma nunca ve

Una regla prohíbe publicar una cifra impugnada. La constante fuente que la contiene respeta la regla a la perfección: nunca se imprime directamente en ningún sitio. Una segunda constante, derivada de la primera en el mismo archivo, se muestra sin embargo en un gran número de páginas del sitio. Varios controles automatizados distintos permanecen en verde, porque ninguno de ellos compara el valor realmente mostrado con el valor prohibido: verifican la sintaxis, la codificación, la estructura, nunca el sentido. La figura que sigue cuantifica esta fuga.

El mismo defecto adopta una forma más simple con un control por palabra clave: una regla que exige que el documento mencione un término dado se satisface trivialmente escribiendo cualquier cosa falsa al lado de ese término, ya que solo busca la palabra, no su contexto. Este mecanismo prolonga un verde no prueba nada hasta que no ha sido probado él mismo: un control que nunca ha fallado ante el caso preciso que debería atrapar no prueba nada sobre ese caso.

Validar lo que la persona abre realmente

Un remedio visual se confirmó sobre una captura de la página HTML que genera el documento y se anunció como entregado. El archivo que abrió la persona era un PDF, producido a partir de una copia del HTML que aún no había recibido el remedio: el defecto seguía visible en el PDF distribuido, que nunca había sido lo verificado.

La misma trampa aparece con las cachés: releer un dato por la vía que acaba de escribirlo solo prueba la coherencia de esa vía consigo misma, y una copia en caché puede devolver el valor antiguo. Rómpela con un parámetro inédito en la dirección, una ventana privada o un servidor sin caché; un simple refresco deja a menudo intacto un intermediario.

Cuando la propia medición cuenta mal

Un control de forma también puede equivocarse de medida. En Git Bash sobre Windows, grep no cuenta de forma fiable los retornos de carro. Mide con el lenguaje que aplica el umbral y conserva un testigo que deba dar un recuento distinto de cero:

printf 'a\r\nb\r\n' > crlf.txt
grep -c $'\r' crlf.txt
node -e "console.log(require('fs').readFileSync('crlf.txt','utf8').split('\r').length-1)"
0
2

Obtenida en Git Bash (GNU grep 3.0), la salida muestra grep en 0 sobre un archivo que contiene dos retornos de carro, y node en 2: el testigo prueba que el contador de node detecta y que el de grep falla. En Windows, grep quita los retornos de carro de un archivo que considera de texto antes de buscar; la opción -U, que lo lee en binario, da 2. Sin ella, el recuento nulo se lee como un archivo limpio. Fuera de Git Bash, repite el testigo antes de concluir.

El control que habría visto la fuga

El mismo mecanismo con un archivo fabricado: la constante prohibida nunca se imprime directamente, y un control que busca esa impresión no encuentra nada, con razón:

$ printf 'const CHIFFRE_INTERDIT = 999;\nconst AFFICHAGE = CHIFFRE_INTERDIT.toString() + ",00 EUR";\nconsole.log(AFFICHAGE);\n' > /tmp/source-v2m3l7.js
$ grep -c "console.log(CHIFFRE_INTERDIT" /tmp/source-v2m3l7.js
0

Pero cuatro líneas más adelante, la constante derivada retoma ese valor y se imprime, ella sí, en la ejecución:

$ node /tmp/source-v2m3l7.js
999,00 EUR

Este verde es honesto y sin embargo falso para el uso previsto: verifica una línea del fuente, no lo que la persona ve. La lección se resume en un gesto: identificar lo que la persona va a abrir, un PDF, una página en directo, una pantalla de aplicación, y luego verificar exactamente esa cosa, con la herramienta que la abre de verdad, después de haber roto la caché. Un control de forma nunca es un control de exactitud, y nunca debe ser el último control antes de la publicación.

Figure 1

Lo que un control de forma mira, y lo que se le escapa

Lo que verifica un control de formaLo que deja pasar silenciosamente
El archivo es un HTML o un JSON válidoSi una cifra mostrada corresponde a un valor prohibido
Una palabra clave requerida figura en algún lugar de la páginaSi la frase que la rodea es verdadera
La constante fuente nunca muestra el valor prohibidoUna constante derivada de esta, más adelante en el archivo
El control se ejecuta sobre el archivo fuenteSi el mismo valor ha sobrevivido hasta el artefacto entregado
Cuatro fugas bien distintas, el valor derivado, la palabra clave sin su contexto, y el artefacto final nunca recontrolado después del archivo fuente.
Figure 2

Una fuga medida con exactitud

66páginas del sitio
llevaban el valor derivado prohibido mientras los controles automatizados permanecían en verde
Incidente real de fuga en producción, 2026
3controles automatizados
distintos permanecieron en verde sin comparar nunca el valor mostrado con el valor prohibido
Incidente real de fuga en producción, 2026
4líneas de código
separaban la constante prohibida de la constante derivada que se filtró
Incidente real de fuga en producción, 2026
La fuga afectaba a 66 páginas, atravesaba tres controles distintos sin que ninguno se detuviera, y se debía a cuatro líneas de diferencia entre la constante prohibida y su derivada.
Calíbralo tú mismo

Una regla prohíbe mostrar una cifra concreta en el sitio. Un control automático recorre el archivo fuente de la página y busca esa cifra escrita tal cual, carácter por carácter. Ese mismo archivo fuente contiene además tres valores, escritos por separado en tres lugares del código, cuya suma corresponde exactamente a esa cifra.

Escribe en una frase lo que este resultado establece, y en una frase lo que no establece.

Lo que hay que recordar
  • Un control de forma verifica la sintaxis, la codificación o la presencia de una palabra clave, nunca si la afirmación que la rodea es verdadera.
  • Un valor prohibido puede filtrarse a través de una constante derivada mientras la constante original permanece perfectamente conforme a la regla que lo prohíbe.
  • Una captura de pantalla de la fuente no prueba nada sobre el archivo final que la persona abre realmente, PDF, exportación o página en caché.
  • Releer un dato por la vía que acaba de escribirlo solo prueba la coherencia de esa vía consigo misma, no el valor realmente servido al visitante; en Git Bash, grep también puede contar mal, de ahí un testigo positivo medido con el lenguaje que aplica el umbral.
  • Romper una caché exige un gesto activo, un parámetro inédito, una ventana privada o un servidor sin caché: un simple refresco no siempre basta.
Hazlo ahora

Retoma un entregable que acabas de producir, anota lo que su control de forma no puede ver, y luego verifica eso por separado sobre la versión final realmente abierta por la persona interesada.