Software testing process for quality control of video games
Las pruebas de juegos , también llamadas pruebas de control de calidad ( QA ) dentro de la industria de los videojuegos , son un proceso de prueba de software para el control de calidad de los videojuegos . [1] [2] [3] La función principal de las pruebas de juegos es el descubrimiento y la documentación de defectos de software . Las pruebas de software de entretenimiento interactivo son un campo altamente técnico que requiere experiencia informática , competencia analítica, habilidades de evaluación crítica y resistencia. [4] [5] En los últimos años, el campo de las pruebas de juegos ha sido criticado por ser extremadamente extenuante y poco gratificante, tanto financiera como emocionalmente. [6]
Historia
En los primeros tiempos de los videojuegos y las computadoras, el desarrollador estaba a cargo de todas las pruebas. No se necesitaban más de uno o dos evaluadores debido al alcance limitado de los juegos. En algunos casos, los programadores podían encargarse de todas las pruebas. [ cita requerida ]
A medida que los juegos se vuelven más complejos, se hace necesario un grupo más grande de recursos de control de calidad, denominado "evaluación de calidad" o " garantía de calidad ". La mayoría de los editores emplean un gran personal de control de calidad para probar varios juegos de diferentes desarrolladores. A pesar de la gran infraestructura de control de calidad que tienen la mayoría de los editores, muchos desarrolladores contratan a un pequeño grupo de evaluadores para proporcionar control de calidad en el momento.
En la actualidad, la mayoría de los desarrolladores de juegos confían en sus probadores, que son expertos en el tema y tienen un gran conocimiento técnico, para encontrar fallos y "errores" en el código de programación o en las capas gráficas. Los probadores de juegos suelen tener experiencia en una variedad de juegos diferentes en una multitud de plataformas. Deben ser capaces de anotar y hacer referencia a cualquier problema que encuentren en informes detallados, cumplir con los plazos de entrega de las tareas y tener el nivel de habilidad necesario para completar los títulos de los juegos en sus configuraciones más difíciles. La mayoría de las veces, el puesto de probador de juegos es un puesto muy estresante y competitivo con poco salario, pero muy solicitado porque sirve como puerta de entrada a la industria. Los probadores de juegos son personas observadoras y pueden detectar pequeños defectos en la creación del juego.
Un error muy común es pensar que todos los evaluadores de juegos disfrutan de la versión alfa o beta del juego y ocasionalmente informan errores encontrados. [5] Por el contrario, las pruebas de juegos se centran en gran medida en encontrar errores utilizando metodologías establecidas y a menudo tediosas antes de la versión alfa.
Descripción general
El control de calidad es un componente fundamental en el desarrollo de juegos, aunque la industria de los videojuegos no cuenta con una metodología estándar. En cambio, los desarrolladores y editores tienen sus propios métodos. Los pequeños desarrolladores no suelen contar con personal de control de calidad; sin embargo, las grandes empresas pueden emplear equipos de control de calidad a tiempo completo. Los juegos comerciales de alto perfil son probados de manera profesional y eficiente por el departamento de control de calidad del editor. [7]
Las pruebas comienzan tan pronto como se escribe el primer código y aumentan a medida que el juego avanza hacia su finalización. [8] [9] El equipo principal de control de calidad supervisará el juego desde su primera presentación al control de calidad hasta la posproducción. [9] Al principio del proceso de desarrollo del juego, el equipo de pruebas es pequeño y se centra en la retroalimentación diaria para el nuevo código. A medida que el juego se acerca a la etapa alfa , se emplean más miembros del equipo y se escriben planes de prueba. A veces, las características que no son errores se informan como errores y, a veces, el equipo de programación no logra solucionar los problemas la primera vez. [10] Un buen sistema de informe de errores puede ayudar a los programadores a trabajar de manera eficiente. A medida que los proyectos ingresan a la etapa beta , el equipo de pruebas tendrá asignaciones claras para cada día. La retroalimentación de los evaluadores puede determinar las decisiones finales de exclusión o inclusión de características finales. Presentar evaluadores con nuevas perspectivas puede ayudar a identificar nuevos errores. [9] [11] En este punto, el evaluador principal se comunica con el productor y los jefes de departamento a diario. [12] Si el desarrollador tiene un editor externo, comienza la coordinación con el equipo de control de calidad del editor. En el caso de los juegos de consola, se envía una versión al equipo de control de calidad de la empresa de consolas. Las pruebas beta pueden involucrar voluntarios, por ejemplo, si el juego es multijugador. [11]
Los probadores reciben compilaciones de juegos únicas e identificables programadas [11] de los desarrolladores. [ cita requerida ] El juego se prueba y los probadores anotan cualquier error descubierto. Estos pueden ir desde errores hasta fallas artísticas, errores de lógica y errores de nivel . Las pruebas requieren una jugabilidad creativa para descubrir errores a menudo sutiles. Algunos errores son fáciles de documentar, pero muchos requieren una descripción detallada para que un desarrollador pueda replicar o encontrar el error. Los probadores implementan el control de concurrencia para evitar registrar errores varias veces. [ cita requerida ] Muchas compañías de videojuegos separan las pruebas de requisitos técnicos de las pruebas de funcionalidad por completo, ya que se requiere un conjunto de habilidades de prueba diferente. [ 5 ]
Si el desarrollo de un videojuego entra en un momento crítico antes de la fecha límite, el equipo de pruebas del juego debe probar las funciones y el contenido agregados con retraso sin demora. Durante este período, el personal de otros departamentos puede contribuir a las pruebas, especialmente en juegos multijugador. [ cita requerida ] Un ejemplo de crisis sostenida, especialmente entre el equipo de control de calidad, fue en Treyarch durante el desarrollo de Call of Duty: Black Ops 4. [ 13]
La mayoría de las empresas clasifican los errores según una estimación de su gravedad: [14]
- Los errores son errores críticos que impiden que el juego se envíe, por ejemplo, pueden bloquear el juego. [11]
- Los errores B son problemas esenciales que requieren atención; sin embargo, el juego puede seguir siendo jugable. Múltiples errores B son igualmente graves que un error A. [11]
- Los errores de C son problemas pequeños y oscuros, a menudo en forma de recomendaciones en lugar de errores. [12]
Probador de juegos
Un probador de juegos es un miembro de un equipo de desarrollo que realiza pruebas de juegos.
Roles
La organización del personal difiere entre organizaciones; una empresa típica puede emplear los siguientes roles asociados con las disciplinas de prueba:
- Los productores de juegos son responsables de establecer los plazos de prueba en coordinación con el departamento de marketing y control de calidad. [15] También gestionan muchos elementos ajenos a las pruebas de juegos, relacionados con la producción general de un título. Su aprobación suele ser necesaria para la presentación final o el estado " gold ". [16]
- El tester principal , tester líder [10] o QA líder [7] es la persona responsable de que el juego funcione correctamente [10] y de gestionar las listas de errores. [11] Un tester principal gestiona el personal de QA. [7] El tester principal trabaja en estrecha colaboración con los diseñadores y programadores, especialmente hacia el final del proyecto. El tester principal es responsable de realizar un seguimiento de los informes de errores y asegurarse de que se solucionen. [10] También son responsables de que los equipos de QA produzcan informes formales y completos. [11] Esto incluye descartar informes de errores duplicados y erróneos, así como solicitar aclaraciones. [7] A medida que el juego se acerca a las etapas alfa y beta, el tester principal incorpora más testers al equipo, se coordina con los equipos de pruebas externos y trabaja con la dirección y los productores. [14] Algunas empresas pueden impedir que el juego se convierta en oro hasta que el tester principal lo apruebe. [12] Los tester principales también suelen ser responsables de recopilar muestras representativas de metraje del juego para enviarlas a organismos reguladores como la ESRB y la PEGI . [ cita requerida ]
- Los probadores son responsables de verificar que el juego funcione, sea fácil de usar, tenga acciones que tengan sentido y contenga una jugabilidad divertida. [12] Los probadores deben escribir informes de errores precisos y específicos y, si es posible, proporcionar descripciones de cómo se puede reproducir el error. [17] Los probadores pueden ser asignados a un solo juego durante toda su producción o incorporarse a otros proyectos según lo exija el cronograma del departamento y las necesidades específicas.
- Los SDET (ingenieros de desarrollo de software en pruebas) o probadores técnicos son responsables de crear casos y marcos de prueba automatizados, así como de gestionar problemas de prueba complejos, como el rendimiento general del juego y la seguridad. Estas personas suelen tener sólidas habilidades de desarrollo de software, pero se centran en la escritura de software que expone defectos en otras aplicaciones. Los roles y deberes específicos varían entre los estudios. Muchos juegos se desarrollan sin ningún probador técnico.
Empleo
El control de calidad de juegos es menos técnico que el control de calidad de software general. Los probadores de juegos generalmente requieren experiencia, sin embargo, ocasionalmente solo es suficiente con un diploma de escuela secundaria y sin conocimientos técnicos. [ cita requerida ] La prueba de juegos normalmente es un trabajo de tiempo completo para probadores experimentados; [18] sin embargo, muchos empleados son contratados como personal temporal , [2] [19] como los probadores beta . En algunos casos, los probadores empleados por un editor pueden ser enviados a trabajar al sitio del desarrollador. La temporada de reclutamiento más agresiva es a fines del verano / principios del otoño [ cita requerida ] , ya que este es el comienzo del período crítico para que los juegos estén terminados y enviados a tiempo para la temporada navideña.
Algunos estudios de juegos están empezando a adoptar un enfoque más técnico para el control de calidad de los juegos, más acorde con las pruebas de software tradicionales. Los puestos de prueba técnica todavía son bastante escasos en la industria, pero estos trabajos suelen ser puestos de tiempo completo con trayectorias profesionales a largo plazo y requieren un título de cuatro años en informática y una experiencia significativa en automatización de pruebas.
Algunos probadores utilizan el trabajo como un trampolín en la industria del juego. [3] [20] Los currículums de control de calidad, que muestran conjuntos de habilidades no técnicas, tienden hacia la gestión, más que al marketing o la producción. [ cita requerida ] Los solicitantes de puestos de programación , arte o diseño deben demostrar habilidades técnicas en estas áreas. [21]
Compensación
El personal de pruebas de juegos suele cobrar por hora (alrededor de 10 a 12 dólares estadounidenses por hora). La gestión de pruebas suele ser más lucrativa y requiere experiencia y, a menudo, una educación universitaria. Una encuesta anual descubrió que los evaluadores ganan un promedio de 39.000 dólares al año. Los evaluadores con menos de tres años de experiencia ganan un promedio de 25.000 dólares estadounidenses, mientras que los evaluadores con más de tres años de experiencia ganan 43.000 dólares estadounidenses. Los líderes de pruebas, con más de seis años de experiencia, ganan un promedio de 71.000 dólares estadounidenses al año. [22]
Proceso
A continuación se muestra una progresión típica del proceso de prueba de un informe de error:
- Identificación . El comportamiento incorrecto del programa se analiza y se identifica como un error.
- Informes . El error se informa a los desarrolladores mediante un sistema de seguimiento de defectos . Las circunstancias del error y los pasos para reproducirlo se incluyen en el informe. Los desarrolladores pueden solicitar documentación adicional, como un video en tiempo real de la manifestación del error.
- Análisis . El desarrollador responsable del error, como un artista, programador o diseñador de juegos, verifica el mal funcionamiento. Esto queda fuera del alcance de las tareas del evaluador de juegos, aunque las inconsistencias en el informe pueden requerir más información o evidencia por parte del evaluador.
- Verificación . Una vez que el desarrollador soluciona el problema, el evaluador verifica que el error ya no se produce. No todos los errores son solucionados por el desarrollador; por ejemplo, algunos errores pueden ser reclamados como características (expresados como "NAB" o "no es un error"), y también pueden ser "exentos" (se les puede dar permiso para que sean ignorados) por productores , diseñadores de juegos o incluso evaluadores principales, según la política de la empresa.
Metodología
No existe un método estándar para realizar pruebas de juegos, y la mayoría de las metodologías son desarrolladas por desarrolladores y editores de videojuegos individuales . Las metodologías se perfeccionan continuamente y pueden diferir para diferentes tipos de juegos (por ejemplo, la metodología para probar un MMORPG será diferente a la de probar un juego casual ). Muchos métodos, como las pruebas unitarias , se toman prestados directamente de las técnicas generales de prueba de software. A continuación, se describen las metodologías más importantes, específicas para los videojuegos.
- Las pruebas de funcionalidad se asocian más comúnmente con la frase "pruebas de juegos", ya que implican jugar el juego de alguna forma. Las pruebas de funcionalidad no requieren un amplio conocimiento técnico. Los evaluadores de funcionalidad buscan problemas generales dentro del juego en sí o en su interfaz de usuario, como problemas de estabilidad, problemas con la mecánica del juego e integridad de los recursos del juego.
- Las pruebas de cumplimiento son la razón de ser de los laboratorios de pruebas de juegos. [ aclaración necesaria ] Los licenciantes propios de las plataformas de consola tienen requisitos técnicos estrictos para los títulos licenciados para sus plataformas. Por ejemplo, Sony publica una Lista de verificación de requisitos técnicos (TRC), Microsoft publica Requisitos de Xbox (XR) y Nintendo publica un conjunto de "pautas" (Lotcheck). Algunos de estos requisitos son altamente técnicos y quedan fuera del alcance de las pruebas de juegos. Otras partes, en particular el formato de los mensajes de error estándar, el manejo de los datos de la tarjeta de memoria y el manejo de material legalmente protegido por derechos de autor y marcas registradas , son responsabilidad de los probadores de juegos. Incluso una sola infracción en el envío para la aprobación de la licencia puede hacer que el juego sea rechazado, posiblemente incurriendo en costos adicionales en más pruebas y reenvío. Además, la demora puede hacer que el título pierda una ventana de lanzamiento importante, lo que potencialmente le cuesta al editor sumas de dinero aún mayores.
- Los requisitos son documentos exclusivos que se publican para desarrolladores y editores bajo acuerdos de confidencialidad. No están disponibles para que el público en general los revise, aunque se considera que la familiaridad con estos estándares es una habilidad valiosa para un evaluador. [ cita requerida ]
- El cumplimiento también puede referirse a organismos reguladores como la ESRB y PEGI , si el juego tiene como objetivo una clasificación de contenido en particular. Los evaluadores deben informar sobre contenido objetable que pueda ser inapropiado para la clasificación deseada. De manera similar a la concesión de licencias, los juegos que no reciben la clasificación deseada deben volver a editarse, probarse y enviarse nuevamente a un costo adicional.
- Normalmente, se requieren pruebas de compatibilidad para los títulos de PC cuando se acerca el final del desarrollo, ya que gran parte de la compatibilidad depende de la versión final del juego. [ cita requerida ] A menudo, se realizan dos rondas de pruebas de compatibilidad: al principio de la versión beta para dar tiempo a resolver los problemas, y al final de la versión beta o durante la fase de lanzamiento . [ cita requerida ] El equipo de pruebas de compatibilidad prueba la funcionalidad principal del juego en varias configuraciones de hardware. Por lo general, el editor proporciona una lista de hardware comercialmente importante. [ 9 ]
- Las pruebas de compatibilidad garantizan que el juego funcione en diferentes configuraciones de hardware y software . El hardware incluye marcas de diferentes fabricantes y diversos periféricos de entrada, como gamepads y joysticks . [ cita requerida ]
- Los evaluadores también evalúan el rendimiento y los resultados se utilizan para los requisitos mínimos del sistema anunciados para el juego . Los problemas de compatibilidad o rendimiento pueden ser solucionados por el desarrollador o, en el caso de hardware y software antiguos, se puede dejar de brindar soporte.
- Las pruebas de localización actúan como editores de texto dentro del juego . [2] Aunque los problemas generales de texto son parte de las pruebas de funcionalidad, los departamentos de control de calidad pueden emplear probadores de localización dedicados. En particular, las primeras traducciones de juegos japoneses estaban plagadas de errores y, en los últimos años, se emplean probadores de localización para realizar correcciones técnicas y revisar el trabajo de traducción de los scripts de juegos [23] : colecciones catalogadas de todo el texto del juego. Se pueden emplear probadores nativos de la región donde se comercializa un juego para garantizar la precisión y la calidad de la localización de un juego. [9]
- Las pruebas de remojo , en el contexto de los videojuegos, implican dejar el juego en funcionamiento durante períodos prolongados en varios modos de funcionamiento, como inactivo, en pausa o en la pantalla de título. Estas pruebas no requieren interacción del usuario más allá de la configuración inicial y, por lo general, las gestionan los evaluadores principales. Se pueden utilizar herramientas automatizadas para simular acciones repetitivas, como clics del mouse. Las pruebas de remojo pueden detectar fugas de memoria o errores de redondeo que se manifiestan solo con el tiempo. Las pruebas de remojo son uno de los requisitos de cumplimiento. [ cita requerida ]
- Las pruebas beta se realizan durante la etapa beta del desarrollo. A menudo, se refieren a la primera versión disponible públicamente de un juego. Las versiones beta públicas son efectivas porque miles de fanáticos pueden encontrar errores que los evaluadores del desarrollador no detectaron.
- Las pruebas de regresión se realizan una vez que los programadores han corregido un error . El control de calidad comprueba si el error sigue existiendo (regresión) y luego ejecuta pruebas similares para ver si la corrección ha dañado algo más. Esa segunda etapa se suele denominar "prueba de halo" [ cita requerida ] ; implica realizar pruebas en todo el entorno del error, en busca de otros errores.
- Las pruebas de carga prueban los límites de un sistema, como la cantidad de jugadores en un servidor MMO , la cantidad de sprites activos en la pantalla o la cantidad de subprocesos que se ejecutan en un programa en particular. Las pruebas de carga pueden requerir un grupo grande de evaluadores o software que emule una actividad intensa. [2] Las pruebas de carga también miden la capacidad de una aplicación para funcionar correctamente bajo carga.
- Las pruebas multijugador pueden implicar un equipo de control de calidad multijugador independiente si el juego tiene partes significativas de multijugador. Estas pruebas son más comunes en los juegos de PC. Los evaluadores se aseguran de que todos los métodos de conectividad (módem, LAN, Internet) funcionen. Esto permite que las pruebas para un jugador y para varios jugadores se realicen en paralelo. [9]
- El modelado de la experiencia del jugador se refiere a los intentos de modelar matemáticamente la experiencia del jugador y predecir la preferencia o el gusto del jugador por un videojuego . [24]
Hardware de la consola
En el caso de las consolas, la mayoría de las pruebas no se realizan en un sistema normal o en una unidad de consumo . Se proporciona equipo de prueba especial a los desarrolladores y editores. Las herramientas más importantes son los kits de prueba o depuración y los kits de desarrollo . La principal diferencia con las unidades de consumo es la capacidad de cargar juegos desde un disco grabado, una memoria USB o un disco duro. La consola también se puede configurar para cualquier región de publicación. Esto permite a los desarrolladores de juegos producir copias para realizar pruebas. Esta funcionalidad no está presente en las unidades de consumo para combatir la piratería de software y las importaciones del mercado gris. [ cita requerida ]
- Los kits de prueba tienen las mismas especificaciones de hardware y apariencia general que una unidad de consumo, aunque a menudo cuentan con puertos y conectores adicionales para otros equipos de prueba. Los kits de prueba contienen opciones adicionales, como la ejecución de comprobaciones de cumplimiento automatizadas, especialmente en lo que respecta a los datos guardados. El software del sistema también permite al usuario capturar volcados de memoria para ayudar en la depuración. [ cita requerida ]
- Los kits de desarrollo no suelen ser utilizados por los evaluadores de juegos, sino por los programadores para realizar pruebas de nivel inferior. Además de las características de un kit de prueba, los kits de desarrollo suelen tener especificaciones de hardware más altas, en particular una mayor memoria del sistema. Esto permite a los desarrolladores estimar el rendimiento inicial del juego sin preocuparse por las optimizaciones. Los kits de desarrollo suelen ser más grandes y tienen un aspecto diferente al de un kit de prueba o una unidad de consumo. [ cita requerida ]
Véase también
Notas
- ^ Bates 2004, págs. 176-180
- ^ abcd Moore, Novak 2010, pág. 95
- ^ desde Oxland 2004, pág. 301-302
- ^ Bates 2004, págs. 178, 180
- ^ abc Oxland 2004, pág. 301
- ^ "La dura vida de un tester de juegos" de IGN
- ^ abcd Bethke 2003, pág. 52
- ^ Bates 2004, pág. 176
- ^ abcdef Bethke 2003, pág. 53
- ^ abcd Bates 2004, pág. 177
- ^ abcdefg Bates 2004, pág. 178
- ^ abcd Bates 2004, pág. 179
- ^ Brendan Sinclair (26 de junio de 2019). "Historias de crisis y descuido del control de calidad en Treyarch". gameindustry.biz . Consultado el 9 de junio de 2022 .
- ^ desde Bates 2004, págs. 178-179
- ^ Moore, Novak 2010, pág. 72
- ^ Bob Johnstone. "Didi Games". Investigación sobre videojuegos . Didi Games. Archivado desde el original el 2014-10-06 . Consultado el 2009-04-01 .
- ^ Bates 2004, pág. 180
- ^ Moore, Novak 2010, pág. 25
- ^ Moore, Novak 2010, pág. 2
- ^ Bates 2004, pág. 261
- ^ Moore, Novak 2010, págs. 84, 237-238
- ^ Fleming, Jeffrey (abril de 2008). "Séptima encuesta anual sobre salarios". Desarrollador de juegos . 15 (4). United Business Media : 8.
- ^ Adams, Rollings 2003, pág. 17
- ^ Yannakakis, Geogios N (2012). "Juego de IA revisado". Actas de la novena conferencia sobre fronteras de la informática (PDF) . págs. 285–292. doi :10.1145/2212908.2212954. ISBN 9781450312158. S2CID 4335529. Archivado (PDF) del original el 8 de agosto de 2014.
Referencias
- Adams, Ernest; Rollings, Andrew (2003). Andrew Rollings y Ernest Adams sobre el diseño de juegos . New Riders Publishing. ISBN 1-59273-001-9.
- Bates, Bob (2004). Diseño de juegos (2.ª ed.). Thomson Course Technology. ISBN 1-59200-493-8.
- Moore, Michael E.; Novak, Jeannie (2010). Guía profesional para la industria de los videojuegos . Delmar: Cengage Learning. ISBN 978-1-4283-7647-2.
- Oxland, Kevin (2004). Jugabilidad y diseño . Addison Wesley. ISBN 0-321-20467-0.
Investigación
- Lahti, M., Pruebas de juegos en empresas de juegos finlandesas, tesis de maestría, Universidad Aalto, Facultad de Ciencias, 2014, Tesis
Enlaces externos
- Artículo: Conceptos básicos de automatización de pruebas para aplicaciones, juegos y la Web móvil
- Artículo: Aspectos de arquitectura e infraestructura de las pruebas de juegos móviles