QA The Other WayGarantía de calidad para la era de las pruebas escritas por IA. QA The Other Way.
QA práctica

Una etiqueta selecciona pruebas, no demuestra cobertura.

Trata los filtros de la suite como un contrato explícito e informa de lo que queda fuera.

5 min de lecturaQA The Other Way
Diagrama original de selección con pruebas incluidas y excluidas.
Ilustración editorial original.
Vídeo ilustrativo de este artículo. Texto en pantalla en inglés; seleccione subtítulos para este idioma.

Edición traducida. Los identificadores técnicos permanecen en su forma original.

Trata los filtros de la suite como un contrato explícito e informa de lo que queda fuera.
Ejemplo local del ejecutor con datos inventados, no una interfaz de cliente o proveedor.

Una canalización ejecuta @critical y queda verde. Alguien lo llama cobertura completa de regresión. La etiqueta seleccionó un subconjunto; no demostró que incluyera todos los recorridos importantes. Seleccionar y juzgar el riesgo son cosas distintas.

Esta guía sigue la documentación de anotaciones de Playwright con dos pruebas locales inventadas: una para revisión pequeña y otra para inspección amplia. No afirma resultados de una canalización real ni porcentajes de cobertura. Mostramos la pertenencia antes de interpretar el resultado.

Define el significado de la etiqueta

Playwright permite etiquetas en los detalles de la prueba o en el título. Empiezan por @ y sirven para filtrar. Una convención útil tiene un significado breve, por ejemplo un conjunto acordado para una barrera concreta.

No dejes que @critical signifique lo que cada autor considera importante. Nombra al responsable de la regla, los recorridos incluidos y las exclusiones deliberadas. Añadir texto es fácil; justificar la pertenencia es el trabajo.

import { test, expect } from '@playwright/test';

test('demo title contract', { tag: '@demo-review' }, async () => {
  expect('Demo review').toBe('Demo review');
});

test('demo archive contract', { tag: '@demo-wide' }, async () => {
  expect(['draft', 'archive']).toContain('archive');
});

Estos ejemplos muestran metadatos y selección. No prueban una aplicación ni cobertura útil. Lista el conjunto antes de ejecutarlo:

npx playwright test demos/selection.spec.mjs --grep @demo-review --list

La comprobación local confirma que solo se selecciona el contrato del título. Ejecutarlo aprueba una aserción inventada. El contrato de archivo excluido no cuenta como evidencia ejecutada aunque exista en el código.

Separa selección, omisión y fallo esperado

La guía distingue skip, fixme y fail. skip y fixme no ejecutan la prueba. fail sí la ejecuta y espera un fallo; un aprobado inesperado se informa. No equivale a quedar fuera por un filtro.

Informa de seleccionadas, ejecutadas, omitidas y fallos esperados para que quede claro qué describe el verde. No los combines en una cifra tranquilizadora. Una prueba silenciosa puede estar excluida, desactivada o realmente aprobada.

Las pruebas enfocadas también importan: cuando existen, solo se ejecutan esas pruebas. Un enfoque local de depuración no debe estrechar silenciosamente la suite compartida. Revisa cambios de selección junto con el código, no solo las aserciones.

Comprueba el conjunto cuando cambia

Al añadir un recorrido, verifica su pertenencia. Cambiar títulos, etiquetas o expresiones regulares altera la selección sin cambiar el cuerpo. Inspecciona la lista del ejecutor con el comando exacto de la canalización.

Los filtros complejos necesitan sus propias comprobaciones. No deduzcas la selección del nombre de archivo o de una etiqueta del panel. Conserva comando, configuración pertinente y nombres seleccionados con el resultado.

Usa el resultado dentro de su alcance

Una barrera pequeña ofrece respuesta rápida mientras otra suite se ejecuta aparte. Es un plan, no prueba de que detecta todo. Decide la división por riesgo y revísala cuando cambien funciones o patrones de fallo.

AnyTest describe agentes que descubren recorridos y producen tests revisables. Revisa dónde pertenece cada test además de sus aserciones. No se afirma una interfaz de etiquetas de AnyTest. Un resultado honesto nombra lo ejecutado y no toma prestada confianza de lo que no corrió.

Preguntas comunes

¿Un subconjunto etiquetado en verde prueba cobertura completa?

No. Solo respalda las comprobaciones seleccionadas y ejecutadas con esa configuración.

¿Una prueba filtrada es lo mismo que una omitida?

No. Selección, skip/fixme y fallo esperado son estados distintos.

Fuentes