Devid - Qa - Ut3 - Tecnicas de Testing - Teoría
Devid - Qa - Ut3 - Tecnicas de Testing - Teoría
Devid - Qa - Ut3 - Tecnicas de Testing - Teoría
TECNICAS DE TESTING
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
Contenido
Introducción.................................................................................................................................. 2
¿Qué es ISTQB? ......................................................................................................................... 2
¿Cómo elegir una técnica de prueba?...................................................................................... 2
¿Qué es Software Testing? ....................................................................................................... 2
Técnicas de Pruebas ..................................................................................................................... 3
Concepto y definición ............................................................................................................... 3
Técnicas funcionales y no funcionales ..................................................................................... 4
Pruebas más utilizadas en ejercicio: ..................................................................................... 4
Tipos de Pruebas........................................................................................................................... 7
Caja Negra ................................................................................................................................. 7
Introducción y objetivo ......................................................................................................... 7
¿Qué son las pruebas de caja negra? .................................................................................... 7
Tipos de técnicas de Caja Negra ............................................................................................ 8
Por qué usar pruebas de Caja Negra ................................................................................... 10
Caja Blanca .............................................................................................................................. 11 1
Introducción y objetivo ....................................................................................................... 11
Tipos de técnicas de caja blanca ......................................................................................... 12
Por qué se usan técnicas de caja blanca ............................................................................. 13
Basada en la experiencia ........................................................................................................ 14
Metodologías ...................................................................................................................... 14
Tipos de pruebas basadas en la experiencia ....................................................................... 14
Por qué utilizar estas técnicas ............................................................................................. 16
Conclusiones generales .............................................................................................................. 16
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
Introducción
¿Qué es ISTQB?
Algunas técnicas son más adecuadas para ciertas situaciones y niveles de prueba; otras
se pueden aplicar en todos los niveles de prueba. En general, cuando se crean casos de prueba,
los probadores utilizan una combinación de técnicas de prueba para lograr los mejores resultados
a partir del esfuerzo de prueba.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
De esa manera, se garantiza que el software cumpla con los requisitos, que no contiene
errores graves y que todo funciona como se esperaba. Veamos en detalle qué es un Software
Testing, sus tipos y técnicas a continuación.
Técnicas de Pruebas
Concepto y definición
La técnica es la forma en la que se lleva a cabo una tarea de una manera específica; una
buena técnica es algo que se realiza para que lo que se entregue sea el mejor resultado posible
del trabajo realizado. Cuanto más refinadas estén mejor será el producto final; además, al
volverse experto en las diferentes técnicas, se construyen buenas herramientas para realizar el
trabajo.
Las técnicas de prueba son las herramientas con las que cuenta el equipo de calidad para
ejecutar proyectos de calidad. Es clave tener una comprensión básica de lo que se está tratando
de resolver para lograr el éxito en cualquier prueba de calidad. Si bien no todas las técnicas se
ajustarán a los objetivos de calidad actuales deben evaluarse todas, el uso a corto y largo plazo
en su conjunto de herramientas.
Estas técnicas se utilizan para lograr objetivos específicos y acelerar el tiempo que lleva
probar el producto.
Es muy importante desarrollar el plan de pruebas (que no es objeto de este curso) para
poder exponerlo ante las diferentes áreas del equipo, utilizando un lenguaje que todo el equipo 3
tenga familiarizado ya que en esta instancia es más importante enfocarse en el resultado que en
las terminologías técnicas; el equipo quiere saber que el producto funciona y qué no debe suceder
para asegurarse de que no se repetirá en versiones futuras. Por ello, el foco debe estar en
comunicar cómo los resultados de las pruebas desafían el proyecto y el producto y por qué fallas
específicas están afectándolo. De manera que, si alguien cuestiona los resultados, siempre se los
puede redirigir al plan de pruebas y explicarle la técnica que se utilizó.
Las pruebas y las técnicas utilizadas son parte de un entorno de colaboración para ayudar
a garantizar los objetivos comunes de lograr un producto de calidad. La forma en que se comunica
el plan y, lo más importante, los resultados de las pruebas afectarán directamente si el enfoque
del equipo para las pruebas de calidad se considera exitoso.
Existen varias técnicas de prueba manual que ayudan a reducir el número de casos de
prueba que se ejecutarán al tiempo que aumentan la cobertura de prueba. Ayudan a identificar
condiciones de prueba que de otro modo serían difíciles de reconocer. El objetivo de utilizar
numerosas metodologías de software testing en el proceso de desarrollo es asegurarse de que la
aplicación pueda funcionar con éxito en múltiples entornos y en diferentes plataformas.
La clave para lanzar software de alta calidad que pueda ser adoptado fácilmente por los
usuarios finales es construir un marco de prueba sólido que implemente metodologías
de software testing tanto funcionales como no funcionales.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
que es el que determinará la cobertura de las pruebas, los casos y condiciones, brindando una
prueba exhaustiva que no afecte al cronograma.
El proceso de prueba no implica un camino lineal, en general los casos de prueba suelen
tener capas sobre capas de técnicas; algunos trabajan juntos y otros suelen ser independientes,
y algunos suelen ser intercambiables en diferentes etapas de prueba. Como parte de las pruebas
se realizarán dos tipos típicos de evaluación:
Primero hay pruebas funcionales, cuando el equipo de calidad revisa el diseño del
producto y ve si el software cumple con la especificación;
Segundo, las pruebas no funcionales que evalúan las partes “extrañas” del software,
así como también la usabilidad y confiabilidad.
Teniendo todo esto en cuenta, se puede decir que las técnicas no son diferentes tipos de
pruebas, sino que son facetas de un proceso. Por ello, la calidad termina siendo para el
desarrollador como un socio en su esfuerzo por entregar el producto, viendo las técnicas de
prueba como herramientas importantes para probar conceptos y evaluar el trabajo.
Examen de la unidad
Pruebas de integración
Prueba del sistema 4
Prueba de cordura
Prueba de humo
Prueba de interfaz
Pruebas de regresión
Prueba beta / aceptación
Pruebas de rendimiento
Prueba de carga
Pruebas de estrés
Prueba de volumen
Pruebas de seguridad
Pruebas de compatibilidad
Instalar pruebas
Pruebas de recuperación
Pruebas de fiabilidad
Pruebas de usabilidad
Pruebas de conformidad
Pruebas de localización
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
Prueba Alfa: Es el tipo de prueba más utilizada en la industria del software. Su objetivo es
identificar todos los posibles problemas o defectos antes de lanzarlo al mercado o al
usuario. Se lleva a cabo al final de la fase de desarrollo, pero antes de la prueba beta.
Pruebas de aceptación: En este caso, es el cliente quien realiza una prueba de aceptación
y verifica el flujo del sistema de extremo a extremo según los requisitos comerciales.
Pruebas Ad-hoc: Se realiza sobre una base Ad-hoc y su objetivo es encontrar los defectos
y romper la aplicación ejecutando cualquier flujo de la aplicación o cualquier
funcionalidad aleatoria.
Pruebas de accesibilidad: Determina si el software es accesible para personas con
capacidades diferentes (sordos, daltónicos, enfermedades mentales, ciegos, ancianos y
otros grupos).
Prueba Beta: Es un tipo formal de prueba de software. Se realiza en el entorno real antes
de lanzar el producto al mercado para los usuarios finales reales. Con ella, se garantiza
que no haya fallas importantes en el software y que el producto cumpla con los requisitos
comerciales y las expectativas del cliente.
Pruebas de fondo: La prueba realizada en la base de datos (SQL Server, MySQL y Oracle,
etc.) se conoce como Prueba de base de datos o Prueba de fondo. Estas pruebas implican
prueba de estructura de tabla, esquema, procedimiento almacenado, estructura de
datos, etc.
Pruebas de compatibilidad del navegador: Es un subtipo de prueba de compatibilidad y lo
realiza el equipo de pruebas para garantizar que el software pueda ejecutarse con la
combinación de diferentes navegadores y sistemas operativos.
Pruebas de compatibilidad con versiones anteriores: Es una prueba que valida si el
software recientemente desarrollado o el software actualizado funciona bien con 5
versiones anteriores del entorno o no.
Prueba de caja negra: Se basa en los requisitos y la funcionalidad, sin considerar el diseño
interno.
Prueba de valor límite: Verifica el comportamiento de la aplicación a nivel de límite. Se
realiza para verificar si existen defectos en los valores límite.
Prueba de rama: También llamada prueba de caja blanca, se lleva a cabo durante la
prueba de la unidad. El nombre en sí sugiere que el código se prueba a fondo al atravesar
cada rama.
Pruebas de comparación: Compara las fortalezas y debilidades de un producto con sus
versiones anteriores u otros productos similares.
Prueba de compatibilidad: Evalúa cómo se comporta y ejecuta el software en un entorno
diferente, servidores web, hardware y entorno de red.
Prueba de componentes: Generalmente se lleva a cabo luego de las pruebas unitarias.
Evalúa múltiples funcionalidades como un solo código y su objetivo es identificar si existe
algún defecto después de conectar esas múltiples funcionalidades entre sí.
Pruebas de extremo a extremo: Evalúa el entorno de aplicación en un contexto que simula
el uso real. Puede consistir en interactuar con una base de datos, usar comunicaciones
de red o interactuar con otro hardware, aplicaciones o sistemas.
Particionamiento de equivalencia: Es una técnica de prueba y un tipo de prueba de caja
negra. Durante esta partición de equivalencia, se selecciona un conjunto de grupos y se
recogen algunos valores o números para la prueba. Dichos valores deben generar la
misma salida. El objetivo de la prueba es eliminar los casos de prueba redundantes.
Ejemplo de prueba: Son pruebas en tiempo real que se realizan en un escenario real o
escenarios basados en la experiencia de los probadores.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
Pruebas exploratorias: Es una prueba informal realizada por el equipo de prueba para
explorar la aplicación y buscar defectos que existan en la aplicación.
Pruebas funcionales: Ignora las partes internas y se enfoca solo en la salida para verificar
si la aplicación cumple con el requisito o no. Es un tipo de prueba de caja negra.
Prueba de interfaz gráfica de usuario (GUI): Valida la GUI según el requisito comercial.
Incluye el tamaño de los botones y el campo de entrada presente en la pantalla, la
alineación de todo el texto, las tablas y el contenido de las tablas.
Prueba de gorila: Aplicada por probadores y desarrolladores, la prueba de gorila o Gorilla
Testing evalúa exhaustivamente cada módulo para verificar la solidez de la aplicación.
Prueba Happy Path: Su objetivo es probar la aplicación con éxito en un flujo positivo. No
busca condiciones negativas o errores.
Prueba de integración incremental: Es un enfoque ascendente para pruebas que se aplica
cuando se agrega una nueva funcionalidad. Queda a cargo de programadores y
probadores.
Pruebas de instalar / desinstalar: Es un tipo de prueba que se aplica en procesos de
instalación / desinstalación completos, parciales o de actualización en diferentes
sistemas operativos en diferentes entornos de hardware o software.
Pruebas de integración: Es un tipo de prueba no funcional utilizada para verificar cuánta
carga de trabajo máxima puede manejar un sistema sin ninguna degradación del
rendimiento. Estas pruebas ayudan a encontrar la capacidad máxima del sistema bajo
una carga específica y cualquier problema que cause la degradación del rendimiento del
software.
Monkey Testing: Es una prueba que supone que, si un mono usa la aplicación, ingresará
los valores sin ningún conocimiento o comprensión de la aplicación. De esta manera, el 6
objetivo de Monkey Testing es verificar si una aplicación o sistema se bloquea
proporcionando datos / valores de entrada aleatorios.
Prueba de mutación: Es una prueba de caja blanca en la que se cambia el código fuente
de uno de los programas y verifica si los casos de prueba existentes pueden identificar
estos defectos en el sistema.
Pruebas negativas: Su objetivo es ver si se puede “romper” el sistema. Para ello se utilizan
datos incorrectos, datos no válidos o entradas.
Pruebas no funcionales en general: Son pruebas de carga, pruebas de tensión, seguridad,
volumen, pruebas de recuperación, etc. que se realizan para garantizar si el tiempo de
respuesta del software o la aplicación es lo suficientemente rápido según los requisitos
del negocio.
Pruebas de rendimiento: Son pruebas que se realizan para verificar si el sistema cumple
con los requisitos de rendimiento. Para ello, se utilizan diferentes herramientas de
rendimiento y carga.
Pruebas de recuperación: Se encarga de validar qué tan bien se recupera la aplicación o
el sistema de fallas o desastres. Determina si el sistema puede continuar la operación
después de un desastre.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
Tipos de Pruebas
Caja Negra
Introducción y objetivo
La razón por la que tiene el nombre de caja negra es porque se trata de ver el software
en sí sin saber lo que está sucediendo dentro; piensa en el comportamiento del producto y cómo
se supone que debe funcionar. Este es el foco de las pruebas de caja negra: evaluar la interfaz, la
entrada de datos, la salida, el diseño de la aplicación.
Cuando los equipos de producto crean una aplicación de software para resolver un
problema en particular, es la prueba de caja negra la que mide la eficacia con la que el producto
logró ese propósito. Mide si se cumple con las especificaciones de diseño de todos los niveles;
desde el campo de entrada más pequeño hasta el objetivo general del software, las pruebas de
caja negra miden el software completo desde un enfoque externo.
Las pruebas de calidad efectivas hablan con datos desde todos los puntos de vista, no hay
lugar para la subjetividad. Las pruebas de caja negra adoptan este enfoque al permitir que las
pruebas hablen con los datos. Gran parte del enfoque de esta prueba es binario, ya que informa
si funciona o no. La entrega de los datos debe centrarse en los resultados fácticos extraídos de
sus técnicas de prueba de caja negra; podría mostrarse dónde ocurre exactamente el problema 7
y, a partir de pruebas, encontrar problemas repetibles.
Los aspectos de la prueba funcional de la caja negra son las pruebas primarias empleadas
para evaluar el rendimiento de un producto. Las pruebas no funcionales en pruebas de caja negra
evalúan el software a partir de piezas externas que se conectan a la aplicación; no se centra en
cómo funciona el software, sino en qué tan bien funciona el software (confiabilidad, usabilidad,
rendimiento se evalúan en diferentes entornos para garantizar que el producto funcione según
los requisitos del diseño en el mundo donde opera).
El objetivo de una prueba de caja negra es evaluar una aplicación por sus méritos y
diseño. Si bien cada equipo desarrolla su set de herramientas, hay algunas técnicas básicas que
la mayoría de los equipos utilizan para garantizar que el producto funcione.
Para explicar el origen del término es útil realizar un Diagrama EPS (Entrada, Proceso y
Salida) donde cada elemento corresponde a:
Las operaciones que se realizan en el proceso, por ser de tipo caja negra no son visibles
por el usuario, ya que desconoce su implementación. Sin embargo, a pesar de no conocer la forma
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
en la que se le da solución al problema, conoce los datos de entrada y la salida que arroja el
proceso.
En una prueba de caja negra se trata de garantizar que se ha probado la mayor cantidad
de software posible dentro de las limitaciones de tiempo, datos y probabilidad matemática. Se
utilizan estas pruebas para eliminar problemas razonables y detectar los valores atípicos. Las
pruebas de Caja Negra comienzan con los enfoques más rudimentarios para el análisis de datos
y se expanden a exámenes más complicados de la lógica, el rendimiento y la funcionalidad del
software; todos los buenos casos de prueba comienzan con los datos. El software en su núcleo
trata de tomar información y decirle a la computadora cómo tomarla; luego el usuario carga datos
y la aplicación levanta los datos para ver cómo tomarla.
Partición de equivalencia
Consiste en tomar los valores de entrada de un campo, probar las respuestas válidas y no
válidas y, a continuación, particionarlas con condiciones de prueba similares para reducir la
cantidad de pruebas. Se realizan cortes por grupo para acelerar la validación del campo
Esta técnica de prueba de caja negra se basa en el principio de que, si un sistema funciona
bien para estos valores particulares, funcionará perfectamente para todos los valores que se
encuentran entre los dos valores límite. Las pautas para este tipo de análisis son:
Si una condición de entrada está restringida entre los valores x e y, entonces los casos de
prueba deben diseñarse con valores x e y con otros valores que estén por encima y por
debajo de los mismos.
Si una condición de entrada es un gran número de valores, se debe desarrollar el caso de
prueba que necesita ejercer los números mínimo y máximo. También se ponen a prueba
los valores superiores e inferiores a los valores mínimos y máximos.
Al aplicar las pautas 1 y 2 a las condiciones de salida, da una salida que refleja los valores
mínimos y máximos esperados. También prueba los valores inferiores o superiores.
También denominada “prueba de pares”, toma dos valores ingresados y luego evalúan
todas las combinaciones posibles para garantizar que funcionen correctamente.
Cuando se utiliza esta prueba se está tratando de reducir el número de pares de prueba
de función de la respuesta lógica de cada conjunto de pares asegurándose de que los lógicos
funcionen.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
Toman los valores correctos introducidos en un campo y garantizan que esos campos
introducidos ofrezcan el comportamiento correcto. Evalúa también las interacciones complicadas
entre llamados.
Es una técnica en la que los cambios en las condiciones de entrada cambian el estado de
la aplicación bajo prueba (AUT: Application Under Test). De esa manera se puede probar el
comportamiento de un AUT. 9
Prueba de humo
A menudo, los equipos consolidan muchas de estas técnicas en una simple lista de
pruebas básicas necesarias para ayudar a garantizar que el producto funcione.
Esta es la más personalizada y adoptada de todas las pruebas de calidad, en esta prueba
imita el proceso de seguir de todo el software a través de todos sus potenciales, a través de este
ejercicio navega en cada proceso y función potencial para ejercitar todo el producto.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
Las pruebas de casos de uso no tienen fundamentos en las pruebas de usuario. No está
diseñado para ningún uso tradicional del producto, sino para usar el producto clic a clic en su
totalidad.
Durante las pruebas de caso de uso es muy probable que se exploren partes del producto
que los clientes rara vez toquen. Su enfoque no está en áreas específicas inicialmente, sino en
áreas y condiciones específicas requeridas para evaluar el software. El propósito es garantizar
que se examine todo el producto.
Muchas veces, ante la necesidad de acortar los tiempos, suele solicitarse la reducción de
casos de prueba. Para poder evitarlo, es necesario representar el plan de prueba como un solo
proceso, un solo programa y un solo resultado.
Las pruebas de caja negra son una pieza de una receta y, como en cualquier receta, no se
puede pretender eliminar un ingrediente y esperar un buen resultado. Cuando se ejecutan las
técnicas de caja negra de manera efectiva, ofrecen problemas rígidos y repetibles. Se utilizan para
proporcionar una evaluación clara y completa de la calidad de un software. Las pruebas de caja
negra también proporcionan una exhaustiva evaluación de los desafíos del producto; en la
mayoría de los casos revelará problemas en todo el producto, mostrando áreas problemáticas y
dónde el desarrollo necesita enfocar su energía.
10
Las pruebas de caja negra siguen siendo un requisito básico de cualquier programa. En la
prueba de caja negra se persigue un análisis completo del producto de arriba hacia abajo, y
utilizando técnicas efectivas, los clientes obtienen un producto confiable con un rendimiento
predecible. Las técnicas de prueba de caja negra se utilizan para garantizar que un software
ofrezca una aplicación de calidad, estable y predecible que los usuarios aprecien.
Las pruebas de caja negra suelen estar asociadas a los siguientes factores:
Perfil junior: Quién esté realizando sus primeras pruebas, a fin de comenzar desde
lo general a lo particular, empezará con pruebas de caja negra para comprender
el funcionamiento general de un determinado software. Posteriormente, una vez
adquirido el conocimiento previo, podrá realizar pruebas de caja blanca donde
deberá conocer sobre el comportamiento interno de cada uno de los procesos
vinculados al software.
Pruebas exploratorias: Un perfil experimentado puede ser requerido para la realización
de pruebas exploratorias de un software a fin de realizar un informe de alto nivel o
auditoria de la calidad del mismo.
Falta de recursos técnicos: Los detalles de la implementación de cierto proceso que
impacte en una base de datos en la que se almacene información, o bien, una API a partir
de la cual se obtenga información pueden ser herramientas que no estén disponibles
para el equipo de pruebas.
Pruebas de regresión: Las funcionalidades de un software que no sufren alteraciones
entre cada lanzamiento de una nueva versión son parte de las pruebas de regresión. En
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
este caso, dado que su comportamiento no ha variado, una prueba funcional de alto nivel
puede ser una estrategia válida mientras que las pruebas de caja blanca sean destinadas
al estudio minucioso de los procesos vinculados a las nuevas funcionalidades del
software.
Confidencialidad: El acceso a la información puede no estar disponible por restricciones
de la empresa o acuerdos de confidencialidad con un cliente. En estas situaciones en las
que no se cuenta con la posibilidad de visualizar, modificar o eliminar datos las pruebas
de caja negra son una técnica de prueba útil a implementar.
Probadores “Beta”: Las versiones de un software previas a un lanzamiento oficial se
caracterizan por analizar aspectos superficiales, de usabilidad en general o rendimiento
que encuadran con la detección de errores para este tipo de pruebas.
Caja Blanca
Introducción y objetivo
Las pruebas de caja blanca se centran en evaluar la estructura. Se utilizan pruebas de caja
blanca para verificar la integridad, la estructura y la calidad para ofrecer el mejor software posible.
En las pruebas de caja blanca se está invirtiendo tiempo y esfuerzo para ayudar a garantizar que
el desarrollo ofrezca un producto basado en un sistema confiable y predecible.
En una prueba de caja blanca, el código fuente se somete a una evaluación de llamadas
de función, flujos de código, llamadas de seguridad y otros aspectos para ayudar a entregar
resultados sin errores. Este ejercicio ayuda a limitar los posibles problemas de código y
proporciona al equipo de calidad una buena visión cuando los cambios de producen más adelante
en el desarrollo. Además, le da al equipo información sobre el funcionamiento interno de la 11
aplicación, que se puede aprovechar para diseñar pruebas de caja negra.
Si bien las pruebas de caja blanca son un método eficaz para evaluar la calidad de la
aplicación, no se utilizan con tanta frecuencia como las técnicas de caja negra; en compañías
pequeñas el esfuerzo puede ser redundante respecto a las pruebas que realizan los
desarrolladores. En la mayoría de los casos, estos tipos de prueba se implementan en programas
con aplicaciones grandes que tienen muchas piezas con muchos desarrolladores diferentes. Es
un método para garantizar que cada pieza juegue bien junta.
Lo bueno de las pruebas de caja blanca es que hay muchas herramientas automatizadas
que prueban el software y el proceso tiene muchos elementos en los que se puede confiar para
ofrecer resultados predecibles y efectivos. Las pruebas de caja blanca son complicadas y
requieren habilidades técnicas específicas; sin embargo, agrega una capa significativa de
integridad al código fuente del producto y también una comprensión más profunda del producto.
A medida que se entrega cada pieza, las pruebas de caja blanca requieren habilidades
específicas para evaluar con éxito la estructura y garantizar que el código entregado sea confiable,
predecible y estable.
Durante el último tiempo se han fusionado un poco ambas pruebas. A medida que los
equipos trabajan para acelerar los tiempos, cronogramas y mejorar la calidad del producto, estas
dos variedades de prueba trabajan mano a mano como parte de los casos de prueba. Al final del
día, cuanto más estable sea el código, más rápida será la ejecución de la prueba de caja negra. La
estabilidad del código es un problema grave durante las pruebas de caja negra, y tener las pruebas
de caja blanca integradas en el proceso puede agregar mejoras significativas en la línea de tiempo
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
de prueba. Los equipos que implementan este tipo de pruebas se enfrentan a decidir si desean
confían en las aplicaciones de software de prueba o invertir en la experiencia de alguien que
pueda evaluar el código.
Pruebas dinámicas
En las pruebas dinámicas, el código se ejecuta de nuevo línea por línea y evalúa su
rendimiento. En ambos casos el esfuerzo es buscar errores pequeños que puedan crear
problemas más grandes
Pruebas estáticas
Durante estas pruebas se puede realizar un análisis a través de un tutorial formal con el
desarrollador donde se evalúan el flujo y la complejidad de los objetos de software. Es un proceso
de atención, pero con algunas de las herramientas más avanzadas que existen es posible moverse
a través del código rápidamente.
También hay una gran cantidad de herramientas de prueba dinámica que evaluarán el
código, línea por línea. A medida que se ejecuta el código, este software revisará los
recursos, el uso de memoria de las bibliotecas y otros tipos de puntos problemáticos 12
donde surgirán errores. Estas herramientas buscarán partes del código que puedan crear
inestabilidad
Pruebas unitarias
Las pruebas unitarias más avanzadas exploran que los componentes individuales del
código funcionen como se espera en lugar de evaluar la totalidad del software, las pruebas
unitarias dividen el código en bits y piezas manejables, y cada uno se mide por su propio
rendimiento.
Pruebas de flujo
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
Llevan la evaluación del flujo de datos más allá, pero analizan cada rama potencial de la
aplicación. En esta técnica se realiza una evaluación de cada rama y el código para ver que no
resulten en callejones sin salida o rarezas. Es simplemente una prueba de estructura del código
que se usa para asegurarse de que no existan cabos sueltos.
Evalúan la integridad estructural del software. Las diversas técnicas de pruebas de ruta
buscan garantizar la evaluación de cada ruta potencial en el software; la ruta de acceso base
busca evaluar todas las rutas posibles de ejecución. Otros métodos buscan graficar estos caminos
para que se pueda visualizar cómo funciona. En esencia, estas pruebas miden la lógica del
software.
Ir línea por línea en el código sería ineficiente, sin embargo, con las herramientas
adecuadas, las pruebas de cobertura de código proporcionan una gran herramienta para medir
la eficiencia y el rendimiento del código fuente. Cuando se ejecuta una de estas técnicas, a
menudo se entrega un resumen del rendimiento de toda la aplicación. 13
Las pruebas de caja blanca son las formas en las que se asegura que una construcción
tenga las características que garantizan un producto sea duradero, liviano y compatible,
comenzando desde una buena base.
La programación es similar al lenguaje: hay estándares, pero cada uno incluye sus notas
de color. Si bien existen reglas de programación, al trabajar con varios desarrolladores, surgen las
diversas formas de cada uno de programar y es ahí donde la calidad puede agregar valor junto a
las técnicas de caja blanca.
Utilizando pruebas estáticas o dinámicas, los equipos de calidad pueden utilizar las
técnicas de caja blanca para revisar el software en busca de posibles defectos, desviación de
estándares y otros problemas. Estas técnicas no son necesariamente críticas, se centran en
verificar si el código funciona y ofrece los resultados esperados. Sin embargo, las técnicas de caja
blanca a menudo pueden revelar problemas de integridad.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
puede arreglar si se descubre que está roto. Las pruebas de caja blanca agregan valor al proceso
de garantizar que el software que se prueba es sólido y está listo para ser evaluado de manera
más rigurosa. Es un análisis de la estructura subyacente, de las prácticas de los desarrolladores y
la calidad general del funcionamiento interno del producto; el funcionamiento interno del
software debe ser capaz de conectarse y comunicarse con otros recursos, y las técnicas de prueba
de caja blanca ayudan a garantizar que eso suceda. Por todo esto tiene valor.
Finalmente, este tipo de pruebas pueden parecer como una limpieza, pero los estándares
y las mejores prácticas son donde brillan las pruebas de caja blanca. Permiten a las empresas
mantener el código fuente eficiente, limpio y confiable. El resultado es que las pruebas de caja
blanca facilitan el desarrollo a largo plazo; el código fuente se vuelve más fácil de evaluar, las
versiones futuras son más fáciles de implementar y es más fácil para otros desarrolladores
trabajar con el código existente.
Basada en la experiencia
Metodologías
Contar con expertos permite una ejecución más rápida y una mayor cohesión con el
equipo de desarrollo de productos. Normalmente se solicita un enfoque ad hoc, las pruebas
basadas en la experiencia se centran en utilizar la experiencia del probador para abordar 14
problemas específicos, áreas de preocupación o simplemente para hacer un seguimiento de
algunos informes o datos anteriores.
Debido a este enfoque no estructurado, depende del probador tratar de elaborar las
estrategias y utilizar una técnica que ayude a proporcionar procedimientos de prueba
documentables ya que los desarrolladores querrán entender qué es lo que se probó, cómo se
probó y cuáles son los resultados de esas pruebas.
La prueba basada en la experiencia no tiene que llevar años. Sin embargo, generalmente
son las relaciones y el respeto ganado lo que crea la oportunidad para que los equipos utilicen
este tipo de pruebas. Con el tiempo, los datos definen el éxito de los modelos de prueba basados
en la experiencia; si hay experiencia y consistencia demostrada, los desarrolladores miran más
allá de cosas como la tenencia porque confían en la integridad de los resultados y aprecian la
flexibilidad con la que el equipo de calidad asume este enfoque en situaciones específicas.
Si bien hay muchos softwares para realizar pruebas, hay veces que se requiere apresurar
la calidad y se necesitan resultados, estando el producto puede estar en una etapa prematura o
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
ser completamente nuevo para el equipo de calidad, siendo esencial la flexibilidad y siguiendo las
metodologías de prueba, pero de una manera menos rígida.
No obstante, sucede que existe un plan y debe ser respetado, se busca una fuente o
recurso y se definen las metas y objetivos para las pruebas; lo que significa que estas pruebas se
ejecutan de manera profesional siguiendo un propósito y enfoque. Si no se cuenta con un plan
de pruebas las especificaciones del producto son un buen inicio; si no está disponible, podría ser
una lista de materiales de software; el punto es que las técnicas no están destinadas a derivarse
de la nada. Si bien estas pruebas se basan en la experiencia y las habilidades del probador, se
espera que la prueba se ejecute como si se estuviera siguiendo un plan de prueba, pero con un
enfoque ad hoc.
Los desarrolladores se basan en la experiencia del equipo para hacer algo rápidamente
para garantizar que el producto obtenga las pruebas necesarias.
Pruebas exploratorias
Lista de visualización
Aprovecha la experiencia para crear una lista de elementos de acción durante las
pruebas. El probador comienza a trabajar en la aplicación creando una lista de verificación de
posibles casos de prueba. Como experto, es fácil usar la experiencia para crear listas mentales de
dónde canalizar el énfasis durante la evaluación del software; esto simplemente documenta la
lista de verificación y los resultados de las pruebas.
Técnica más esporádica que a muchos expertos les gusta usar. Aprovechando el
conocimiento del software, los probadores utilizan su comprensión especial de dónde creen que
existen los aspectos débiles de la aplicación; utilizan la experiencia para crear un caso de prueba
que expone esas fallas. A menudo parten de una estrategia de prueba de regresión, técnica
esencial para garantizar que los problemas anteriores se aborden en el software.
Adivinación de errores
Técnica ligeramente menos rígida que las pruebas basadas en la experiencia, donde los
probadores se refieren a la experiencia previa en pruebas y buscan enfatizar las áreas
problemáticas. Usando experiencia y conocimientos, se buscan puntos problemáticos previos de
una aplicación y adivina dónde podría fallar el software. Centrándose en la experiencia previa con
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
U.T. N°3: TECNICAS DE TESTING
Las pruebas basadas en la experiencia proporcionan un enfoque muy humano para las 16
pruebas de calidad, al tiempo que ofrecen resultados de calidad. Se utiliza esta técnica de prueba
por muchas razones, pero el tiempo suele ser una de las consideraciones clave. La creación de
planes de prueba, la creación de sistemas automatizados e incluso la creación de casos de prueba
llevan tiempo. Utilizando estas técnicas se puede ser ágil y ayudar a mantener un equipo de
desarrollo de software a tiempo. Más importante aún, el conocimiento y la experiencia que un
probador reúne durante las pruebas es un recurso valioso que se puede capitalizar.
Conclusiones generales
Las técnicas son herramientas: no todas son útiles para lo mismo, sirven para diferentes
propósitos. Todas son valiosas, pero no sirve agregarlas al plan de prueba si no le agregan valor
al producto.
DESARROLLO DE VIDEOJUEGOS