Unidad 9 / 11

Garantía de calidad (QA), depuración y pruebas automatizadas

Ganancias:

  • Capacidad para comprender capas funcionales, de regresión, de casos extremos y de pruebas de choque y producir escenarios de prueba y listas de casos extremos con inteligencia artificial.
  • Capacidad para acelerar la depuración escribiendo código de prueba automático con inteligencia artificial y extrayendo patrones en registros y análisis de fallos.
  • Pudiendo entender que el diagnóstico de errores de la inteligencia artificial no es evidencia sino hipótesis, se debe comprobar la causa con registros y reproducción, y la importancia de que el reporte de error sea reproducible.

Cuando se lanza un juego, los jugadores lo juegan de maneras que el desarrollador no imaginó: quedándose atrapados en las paredes, explotando el inventario, llegando a lugares imposibles, provocando bloqueos. Garantía de calidad (QA — garantía de calidad); Es el proceso de probar sistemáticamente el juego antes de su lanzamiento y encontrar y corregir errores (bugs), fallas, inestabilidades y malas experiencias. Este es uno de los eslabones más críticos pero que requieren más mano de obra en la producción de juegos. La IA acelera el control de calidad en muchos puntos: generación de casos de prueba, análisis de informes de errores, revisión de registros, escritura automática de códigos de prueba, depuración y refinamiento de los pasos de producción. Pero la IA no reemplaza la intuición y la evaluación de la sensación del juego por parte de un evaluador humano.

En esta unidad aprenderá a utilizar la IA en control de calidad y depuración; Aprenderá el diseño de escenarios de prueba, el análisis de registros, la redacción automática de pruebas y la disciplina de informes de errores.

Capas de control de calidad y lugar de la IA

El control de calidad tiene varios niveles. Pruebas funcionales: ¿funciona la función (se abre la puerta, se carga la grabación)? Pruebas de regresión: ¿el nuevo cambio rompió lo que funcionaba antes? Pruebas de casos extremos: entradas inusuales (restablecer inventario, dos claves a la vez, valores límite). Pruebas de rendimiento/fallos: ¿el juego es estable? Prueba de jugabilidad/experiencia: divertida, intuitiva. La IA es fuerte en los primeros cuatro: generar escenarios, enumerar casos extremos, escribir código de prueba y analizar registros. La última —la experiencia— pertenece al hombre.

Flujo de control de calidad paso a paso:

  1. Generar casos de prueba (lista de casos funcionales y extremos con IA).
  2. Escriba pruebas automatizadas (código para comprobaciones repetitivas).
  3. Ejecutar y recopilar (registrar errores, registros, fallos).
  4. Analizar (examinar el registro y el patrón de error con IA).
  5. Informar y verificar (informe de error claro y reproducible; corrección de prueba).
Sugerencia: es difícil encontrar casos extremos porque el diseñador juega "bien" su juego. Pregúntele a la IA "¿qué intentaría un jugador si quisiera romper este sistema?" Enumere exploits y casos extremos.

Prueba automática: dejar la repetición a la máquina

Probar manualmente las mismas cosas en cada versión es agotador y propenso a errores. Las pruebas automatizadas ponen estas comprobaciones en código: si una función devuelve el resultado correcto cada vez que se llama, si el sistema se encuentra en el estado esperado. Unity y Unreal ofrecen marcos de prueba; La IA escribe rápidamente estas pruebas. Es especialmente valioso para la regresión: si un cambio rompe algo que funcionaba antes, la prueba se pone roja. Revise las pruebas que produce la IA y asegúrese de que verifiquen lo que es realmente significativo: una prueba en blanco es peor que ninguna prueba.

Precaución: durante la depuración, la IA a veces produce una explicación inventada como una "causa probable" (alucinación). No aceptes la causa de un error sólo porque la IA te lo dijo; Pruebe la causa registrando, reproduciendo y probando. Un diagnóstico erróneo retrasa la búsqueda del correcto.

Reproducción: el corazón de la depuración

El primer requisito para corregir un error es reproducirlo de forma fiable. Un error descrito como "sucede a veces" no se puede solucionar porque no se puede verificar si la solución funcionó. Por lo tanto, el trabajo más valioso de la depuración es limitar las condiciones exactas bajo las cuales ocurre el error (qué pasos, qué situación, en qué momento). La IA ayuda a reducir esto: puede dar los síntomas y los pasos de reproducción parcial y decir "sugerir condiciones y estrategias de reducción que podrían desencadenar este comportamiento". Pero en realidad la reducción se hace ejecutando el juego; La IA genera hipótesis, las eliminas.

Especialmente los errores relacionados con el tiempo (condición de carrera) y el estado de la memoria son insidiosos; estos sólo ocurren en una secuencia o carga particular. Para tales errores, es fundamental agregar información de estado y marca de tiempo al registro; La IA puede analizar este rico registro y ver el patrón (“el error siempre ocurre cuando estos dos eventos ocurren recientemente”). Recuerde la regla de oro de la depuración: primero comprenda, luego corrija. La corrección sin comprensión oculta el error pero no lo resuelve y muchas veces crea un nuevo error en otra parte.

tres mini casos

Caso 1: búsqueda de casos extremos. En un juego de rol, el equipo probó el sistema de inventario en un juego "normal" y pensó que era sólido. Hicieron que la IA dijera "intente descifrar este inventario" y generaron 30 escenarios de casos extremos; 4 de ellos fueron errores verdaderos (0 división de artículos por peso, desechables simultáneos). Corregido antes de la publicación.

Caso 2: el análisis de registros resolvió el bloqueo. Un juego fallaba aleatoriamente; Los registros de fallos tenían cientos de líneas. Cuando a la IA se le dieron los registros y se le pidió el patrón, se reveló que el bloqueo siempre ocurría en una transición de escena específica y con poca memoria. Con esta pista, el programador encontró la pérdida de memoria; La tasa de accidentes cayó a cero.

Caso 3: Regreso de un diagnóstico erróneo. Un programador confió en la explicación de la IA de que "este error es causado por esta función" y jugueteó con ella durante medio día; no salieron resultados. Cuando aclaró y registró nuevamente los pasos de producción, el error estaba en un lugar completamente diferente. Lección: Los diagnósticos de IA son hipótesis, no pruebas.

Cuatro plantillas copiables

1) Generación de casos extremos/escenarios de explotación:

Su función: evaluador de control de calidad malicioso. Describo el siguiente sistema: [sistema, reglas]. Tarea: enumere 20 escenarios de casos extremos que intentarán romper, explotar o llevar este sistema a un estado inesperado. Para cada uno: qué probar, resultado esperado, posible error.

2) Redacción de pruebas automatizadas:

Motor: [Unity 2022.3 / Unreal 5.3]. Marco de prueba: [especificar]. Escriba pruebas automatizadas para la siguiente función/sistema: [descripción/código]. Incluya caso normal, caso límite y entrada defectuosa. Asegúrese de que cada prueba verifique algo verdaderamente significativo; Escribir pruebas vacías/sin sentido.

3) Análisis de registros/fallos:

A continuación se muestran los registros de fallas/errores del juego: [registro]. Tarea: marcar patrones recurrentes, condiciones comunes (escena, memoria, tiempo) y posibles causas fundamentales. Presente cada causa como una "hipótesis por probar"; hablar claro. Dime también cómo verificarlo.

4) Aclaración del informe de error:

Haga que el siguiente informe de error vago sea claro y reproducible: [informe sin procesar]. Salida: título, reproducción paso a paso, resultado esperado, resultado real, frecuencia, entorno. Si falta información, indique qué información se necesita.

Aviso débil / Aviso fuerte

Aviso débil:

Hay un error en mi juego, solucionalo.

Sin contexto, sin registro, sin reproducción; La IA es predictiva y el riesgo de sufrir alucinaciones es alto.

Potente mensaje:

Hay un error en mi juego Unity 2022.3: el inventario a veces se duplica cuando el jugador realiza una carga guardada rápida. Reproducción: [pasos]. Código relacionado: [pegar]. Registro: [pegar]. Tarea: enumerar posibles causas raíz como hipótesis a probar, indicar cómo verificarlas y posibles soluciones para cada una. Inventar una causa inexistente; Si no estás seguro, házmelo saber.

La reproducción, el código, el registro y la solicitud de "presentación como hipótesis" hacen que el diagnóstico sea confiable.

tabla de capas de control de calidad

capa

¿Qué prueba?

Contribución de la IA

participación humana

funcional

¿Funciona la función?

Script, código de prueba

Decisión de admisión

regresión

¿Está roto lo viejo?

prueba automática

Decisión de alcance

caso extremo

entrada inusual

Producción de guiones

prioridad

Accidente/rendimiento

determinación

Análisis de registros

Confirmación de causa raíz

Experiencia

entretenimiento, intuición

limitado

completamente humano

Errores comunes

  • Solo estoy probando una jugabilidad "normal". Los casos extremos explotan después del lanzamiento.
  • Confundir el diagnóstico de IA con una prueba. El por qué se demuestra mediante registros y pruebas.
  • Escribir pruebas automatizadas vacías. Las pruebas sin sentido dan la ilusión de confianza.
  • Informe de error vago. Un error no reproducible no se puede corregir.
  • Saltarse las pruebas de regresión. Cada corrección puede provocar nuevos errores.

En resumen

El control de calidad es la disciplina que prepara el juego para el jugador. AI; genera escenarios de casos extremos, escribe pruebas automatizadas, analiza registros y aclara informes de errores. Pero sus diagnósticos son hipótesis, la evaluación de la experiencia es humana y cada corrección requiere una nueva prueba. Replica el reflejo de "quién puede romper esto y cómo" con IA; Tú recoges la evidencia.

Tarea de aplicación

Elige un sistema de tu juego. Genere 20 escenarios con la plantilla de “generación de casos extremos/escenarios de explotación” y pruebe los 5 más riesgosos. Cree un informe reproducible para un error que encuentre con la plantilla "Refinamiento del informe de errores".

lista de verificación

  • [] Creé un caso límite con "¿Quién puede romper esto y cómo?"
  • [] Escribí y revisé pruebas automatizadas para controles recurrentes.
  • [] Consideré el diagnóstico de IA como una hipótesis y lo probé con log/test.
  • [] Informé errores de forma reproducible.
  • [] Volví a probar cada solución para detectar regresión.