Ir al contenido

Casos de prueba y videos

Los casos de prueba de una tarea dicen qué tiene que funcionar para darla por buena: “BIENVENIDA10 descuenta el 10% del total”, con sus pasos y el resultado esperado. Cada caso tiene una clave (TC-1, TC-2…), un estado y un historial de corridas. Cuando un agente con navegador los prueba, cada corrida deja un video con subtítulos y la verificación de cada caso, capturas anotadas, la toma (el guion JSON que permite repetirla) y un reporte en la pestaña “Reportes”. Quien revisa abre la tarea y mira el video en vez de repetir el flujo a mano.

Esta página cubre los casos vistos desde una tarea. La biblioteca de casos que corren solos contra cada entorno, sin tarea, está en Evidencia.

  1. Abrí la tarea y bajá hasta “Casos de prueba”, debajo de la descripción y las subtareas. Tocá “+ Agregar caso”.

    Panel de una tarea con el bloque Casos de prueba: barra de progreso, los botones Correr casos y Agregar caso, cinco casos con estado, prioridad y última corrida, y un aviso rojo arriba
    El bloque resume cuántos pasan y cuántos están cubiertos. Si alguno falla, la tarea muestra el aviso "Caso de prueba fallando" con un botón "Abrir el caso".
  2. Completá el formulario. Sólo “Título” es obligatorio; “Prioridad” arranca en “Media”. Escribí un comportamiento por caso y un resultado esperado que se pueda comprobar mirando la pantalla, con valores reales: “Total $21.600” en vez de “el cálculo da bien”. Si dejás el título vacío, el formulario dice “El título es obligatorio.” y no guarda. Tocá “Guardar”: el caso recibe la clave siguiente.

    Formulario de caso con Título, Prioridad, Descripción, Pasos y Resultado esperado
    Descripción, Pasos y Resultado esperado aceptan markdown. La clave no se elige: el caso nuevo recibe la siguiente a la TC más alta de la tarea.
  3. Tocá “Correr casos”. Elegí el “Agente”, escribí la “URL a probar” y, si querés un antes/después, “Comparar con”; tildá los “Casos” y tocá “Lanzar”. Thulu publica en la Actividad un comentario que menciona al agente (“@qa corré los casos de prueba TC-1, TC-2, TC-3 de esta tarea en https://staging.tienda.example…”) con las instrucciones plegadas, y el aviso dice “Le pedí a qa que corra 3 casos. Lo ves en la actividad.”. El agente contesta en ese hilo.

    El botón aparece apagado, con el motivo, si ningún agente contesta menciones o ninguno tiene argus-browser en la etapa con la que contesta. En la lista, un agente sin navegador figura como “qa (le falta el navegador)”. Los MCP se configuran etapa por etapa (ver Agentes y MCPs). Un agente con argus-browser y octopus-api en la columna también corre los casos cuando la tarea entra en ella; ahí la URL va en la descripción.

    El navegador corre dentro de la instalación, así que la URL tiene que ser accesible desde ahí: un staging, un preview por PR o la app que el agente levanta en el Sandbox. Un localhost de tu máquina no sirve.

    Bloque Casos de prueba con TC-1 y TC-2 aprobados, TC-3 fallido, TC-4 sin correr y TC-5 omitido, y debajo la mención de Sofía al agente qa con las dos URL y la respuesta del agente caso por caso
    Un pedido con las dos URL y la respuesta del agente en el mismo hilo: qué pasó en cada caso, con el valor observado, y qué quedó sin correr.
  4. Cuando la corrida termina, cada caso que el agente verificó cambia de estado y queda tildado “cubierto”. Desplegá un caso para ver sus corridas, de la más nueva a la más vieja: veredicto, cuándo, quién, lo que se observó, el video, y los links “Toma (JSON)”, “Capturas” y “Abrir en Reportes”.

    Caso TC-2 desplegado con dos corridas: la nueva aprobada con un video antes/después y la vieja fallida con su video
    TC-2 con dos corridas: la de hace 3 horas reprodujo el bug (Fallido, observado $24.000) y la última, con el arreglo, pasó.
  5. Mirá el video. Muestra el cursor, un anillo en cada clic, el paso como subtítulo y, en el momento de cada verificación, una tarjeta verde o roja con lo esperado y lo observado. Si la corrida fue antes/después, los dos lados van sincronizados paso a paso.

    Cuadro de un video lado a lado: a la izquierda Antes con la tarjeta TC-2 falla, a la derecha Después con TC-2 pasa
    Un cuadro del video antes/después: el mismo paso contra la versión vieja (falla, el total sigue en $24.000) y la nueva (pasa, $21.600).
  6. Si un caso quedó en “Fallido”, leé el “observado” de su corrida y la captura anotada. Corregí el código y volvé a pedir la corrida: cada vuelta es una corrida nueva, las anteriores no se editan.

Una corrida reúne todo lo que dejó una ejecución de un caso:

Parte Qué muestra Dónde
Veredicto “Aprobado”, “Fallido” o “Bloqueado”. El caso toma este estado. Cabecera de la corrida
Observado Lo que había en pantalla, en una línea (“Cupón inválido”) Debajo del veredicto
Video MP4 con subtítulos y tarjetas de verificación; sin esperas muertas Dentro de la corrida
“Capturas (N)” Capturas con zonas numeradas, notas y el resto oscurecido Abre el visor con las capturas de esa corrida
“Toma (JSON)” El guion de la corrida: pasos, selectores y verificaciones Descarga el archivo
“Reporte” El reporte completo, plegado bajo la corrida, sin repetir el video “Abrir en Reportes” lo abre en su pestaña
Visor con una captura anotada del checkout: el campo de cupón marcado con 1 y el total $21.600 marcado con 2, cada uno con su nota
Captura anotada: cada zona lleva un número y una nota, el resto de la pantalla se oscurece y la cabecera dice qué host y a qué hora.

La pestaña “Reportes” de la tarea junta un reporte por publicación, del más nuevo al más viejo. El título termina en “pasa” si pasó todo y en “falla” si algo falló; adentro están la URL probada, el tamaño de pantalla, la duración, el video, la tabla de casos (en un antes/después, con una columna por lado), las capturas y los capítulos con su minuto, plegados.

Pestaña Reportes con un reporte desplegado: URLs Antes y Después, video, tabla con TC-1 a TC-3 en las columnas Antes y Después y una captura anotada
El reporte de un antes/después: TC-2 falla en Antes y pasa en Después, y TC-3 falla en los dos lados. El caso registra lo que dio el lado Después.

Desde una corrida, “Abrir en Reportes” te lleva directo al suyo.

El agente filma con la herramienta de evidencia de argus-browser. Cada caso que verifica lleva su clave (TC-2) y, cuando puede, una medición de la página que se repite igual en cada reproducción:

Medición Compara Ejemplo de esperado
Texto El texto visible de un elemento $21.600
Valor Lo que tiene un campo BIENVENIDA10
Visible / oculto Si el elemento está o no a la vista hidden para “no aparece el error”
Cantidad Cuántos elementos coinciden 3
URL La dirección actual /orders/
Título El título de la página Checkout

La comparación puede ser exacta, “contiene” o una expresión regular. Por defecto, la herramienta espera hasta 5 segundos a que el valor coincida antes de dar el caso por fallido, así un total que se actualiza tarde no da un falso rojo. Cuando el agente juzga algo que no se puede medir (“el ícono está alineado”), el reporte lo marca como observado por el agente.

Varias verificaciones del mismo caso en una corrida hacen una sola corrida: pasa si pasan todas. Una clave que la tarea no tiene (TC-9) no se registra en ningún caso; la respuesta del agente la lista aparte.

Estado Cuándo
“Pendiente” Nadie lo ejecutó. Es el estado al crearlo.
“Aprobado” Se ejecutó y lo observado coincide con lo esperado.
“Fallido” Se ejecutó y no coincide.
“Bloqueado” No se pudo ejecutar por algo ajeno al caso: el entorno caído, falta un dato, otro bug corta el flujo antes.
“Omitido” Se decidió no ejecutarlo en esta tarea.

“cubierto” indica que alguien lo probó. Una corrida lo tilda sola; también lo podés tildar a mano. El estado se cambia desde el selector de la fila, pero un cambio a mano no deja corrida ni video, y la fila lo marca “a mano”. Pasar a “Aprobado” un caso que nadie corrió pide confirmación (“¿Marcar TC-2 como aprobado?”). Para que quede constancia, pedí la corrida.

Desplegá el caso. “Editar” abre el mismo formulario en el lugar; las flechas ↑ y ↓ lo mueven en la lista; “Borrar” pide confirmación y borra el caso con sus corridas. Los videos y archivos de esas corridas quedan en la tarea. Editar conserva la clave y el historial; borrar y volver a crear los pierde.

Las tareas viejas tienen los casos como una sección ## Test Cases con una checklist en la descripción. Mientras la tarea no tenga casos, el bloque ofrece “Importar desde el cuerpo”: cada línea pasa a ser un caso, una línea que empieza con clave (- [ ] TC-1: …) la conserva, y las tildadas (- [x]) entran como “Aprobado” y cubiertas.

Tarea con una sección Test Cases de tres líneas en la descripción y el botón Importar desde el cuerpo en el bloque Casos de prueba
Con la checklist en la descripción y ningún caso todavía, aparece "Importar desde el cuerpo".

Después de importar, el aviso ofrece “Quitar la sección del cuerpo”. Desde ese momento mandan las filas: si dejás la sección, el bloque avisa “El cuerpo todavía tiene la sección Test Cases con estos casos, y nadie la mantiene al día.” y lo que tildes en la checklist ya no cambia el estado de ningún caso.

Si la etapa de refinamiento tiene un agente con octopus-api, ese agente puede escribir los casos al planificar la tarea, con el mismo formato: un comportamiento por caso, pasos concretos y un esperado con valores. Revisalos antes de mover la tarea a la etapa que prueba.

Un caso que vale la pena repetir en cada release se copia a la biblioteca de Evidencia. Abrí “Evidencia” en la barra lateral, pestaña “Desde tareas”, y tocá “Agregar a la biblioteca” en su fila. Si el caso ya tenía una corrida filmada, se copia con su toma (“Quedó en la biblioteca como EV-1, con su grabación.”) y desde ahí corre solo contra cada entorno.

Pantalla Evidencia, pestaña Desde tareas, con los casos agrupados por tarea, su estado, última corrida y el botón Agregar a la biblioteca
"Desde tareas" junta los casos de todas las tareas del workspace, con filtros por estado, tablero, proyecto, texto y "Solo sin cubrir".

/tasks/#task-<id>/TC-3 abre la tarea con ese caso desplegado, para quien tiene acceso al workspace. El botón “Abrir el caso” del aviso de la tarea hace lo mismo con el caso que falla; si fallan varios, el aviso dice cuántos (“2 casos de prueba fallando”) y abre el primero.

  • Un caso en “Bloqueado”: el agente no pudo llegar al punto de prueba. El “observado” de la corrida dice por qué (por ejemplo, el entorno devolvía 502). Arreglá el entorno y pedí otra corrida.
  • “Archivos” de la tarea crece con cada publicación: el video, los capítulos, la toma y las capturas quedan agrupados en un ítem por reporte. Los links de la corrida apuntan a esos archivos; si borrás uno, la corrida muestra “archivo eliminado”.
  • Una corrida que filma flujos que cambian datos (crear una orden, mandar un mail) sólo se repite contra entornos descartables. El agente marca esos pasos y la herramienta se niega a reproducir la toma salvo que el agente lo habilite a propósito, algo que corresponde sólo contra un preview o una base de prueba.