Documentos de Académico
Documentos de Profesional
Documentos de Cultura
N°2
PRUEBAS ESTÁTICAS
CONTROL DE CALIDAD DE VIDEOJUEGOS
ANEXO U.T. N°2: PRUEBAS ESTÁTICAS
Contenido
Pruebas estáticas .......................................................................................................................... 2
Introducción.............................................................................................................................. 2
Ventajas de una prueba estática.............................................................................................. 3
Desventajas de una prueba estática ........................................................................................ 4
¿En qué se diferencian con las pruebas dinámicas? ............................................................... 4
Defectos típicos en las pruebas estáticas ................................................................................ 4
Productos de trabajo .................................................................................................................... 5
Concepto ................................................................................................................................... 5
Productos de trabajo en las diferentes etapas ........................................................................ 5
De la planificación ................................................................................................................. 5
Del control y monitoreo ........................................................................................................ 5
Del diseño de pruebas ........................................................................................................... 6
De la implementación de pruebas ........................................................................................ 6
De la ejecución de pruebas ................................................................................................... 6
De la compleción de pruebas ................................................................................................ 6 1
Importancia de la trazabilidad entre las bases de prueba y los productos de trabajo .......... 6
Productos de trabajo que pueden ser evaluados por una prueba estática ........................... 7
Proceso de revisión....................................................................................................................... 7
Proceso de revisión de productos de trabajo .......................................................................... 7
Tipos de revisión ....................................................................................................................... 8
Revisiones formales de software .......................................................................................... 8
Revisiones informales de software ....................................................................................... 9
Otras revisiones de software ................................................................................................ 9
Aplicación de técnicas de revisión ......................................................................................... 10
Ad hoc.................................................................................................................................. 10
Basadas en listas de comprobación .................................................................................... 10
Basadas en escenarios y ensayos ........................................................................................ 10
Factores de éxito para las revisiones ..................................................................................... 11
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
ANEXO U.T. N°2: PRUEBAS ESTÁTICAS
Pruebas estáticas
Introducción
Profundidad de anidamiento.
Complejidad ciclomática: Número de caminos independientes que pueden ocurrir en
la ejecución, entre el inicio y el fin del software.
Estándares de codificación.
Flujos de control. 2
Relaciones de datos.
Número de rutas entre líneas de código.
El análisis estático es de vital importancia para softwares de seguridad crítica, como ser:
sistemas aeronáuticos, médicos, nucleares y bancarios.
Los estándares de código hacen referencia a las formas de escribir el código dentro de un
marco de lenguaje común a todos los desarrolladores. Las métricas proporcionan información
sobre la cantidad de líneas de código, frecuencia de comentarios, complejidad de anidamiento
en las estructuras de control (condicionales o estructuras repetitivas). Esto se realiza tanto para
un sistema nuevo como para tareas de mantenimiento ya que permite entender si el sistema está
creciendo en tamaño, complejidad o ambos.
Flujo de control: Muestra el orden en que las instrucciones son ejecutadas. Mediante
este tipo de análisis se pueden ubicar defectos relacionados con secciones del código
muerto o inalcanzable.
Flujo de datos: Permite analiza cómo mutan valores a lo largo de la vida de la
aplicación, como se acceden y se alteran a través del código las distintas variables;
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
ANEXO U.T. N°2: PRUEBAS ESTÁTICAS
Una vez identificados los mecanismos para administrar los datos (colas, pilas, listas o
estructuras más complejas), se puede identificar la complejidad de los algoritmos necesarios para
lidiar con esas estructuras a nivel de programación, y así establecer su complejidad para
probarlas.
La mayoría de los productos de software pueden ser evaluados por las pruebas
estáticas (revisiones), como por ejemplo las especificaciones de requerimientos del software
(funcionales, no funcionales), historias de usuario, criterios de aceptación, especificaciones de
diseño del software o el código. En resumen, se puede revisar cualquier producto de trabajo que
los interesados puedan leer y comprender para poder encontrar defectos.
Las ventajas de las pruebas estáticas son muy variadas, pero se puede destacar que no
solo el costo del desarrollo y las pruebas va a ser menor, también el costo de todo el proceso de
calidad del producto durante toda la vida útil, ya que se reduce la frecuencia de los fallos en
momentos posteriores a la entrada en producción, pero una ventaja que también es muy
importante y aunque suene simple permite encontrar defectos que no se pueden identificar
fácilmente con las pruebas dinámicas.
Detección precoz de defectos: Detectar los defectos lo antes posible ahorra tiempo y 3
dinero. De hecho, cuando los errores de diseño, requisitos o codificación se dejan sin
comprobar, se propagan a etapas posteriores del SDLC y pueden llegar a ser muy
incómodos y caros de eliminar. Las pruebas estáticas ayudan a los equipos a detectar
errores en una fase temprana y evitar nuevos defectos.
Reducción del tiempo y coste de las pruebas: Las pruebas estáticas ayudan a reducir
el tiempo y los costes de las pruebas. Al tener lugar antes de las pruebas dinámicas,
los problemas pueden descubrirse pronto, lo que reduce el tiempo y el dinero que
conlleva la reelaboración.
Mejora de la calidad del código: Consiste en realizar revisiones del código. Al
centrarse en las normas y las mejores prácticas - no sólo en el rendimiento funcional
-, el código se vuelve más ágil, más inteligible y mucho más fácil de mantener. Este
enfoque fomenta un código coherente y bien estructurado, mucho más fácil de
modificar y editar en el futuro.
Mejor comunicación: Las pruebas estáticas consisten en organizar revisiones y
debates para garantizar que el software está a un buen nivel. En estas reuniones
participan probadores, desarrolladores y partes interesadas, y son una oportunidad
para compartir conocimientos e información, lo que conduce a un equipo mejor
informado.
Desarrollo más rápido: Dado que las pruebas estáticas promueven un enfoque más
proactivo tanto para la detección de defectos como para su corrección, los equipos
pueden ahorrar un tiempo valioso en la resolución de problemas, la reelaboración y
las pruebas de regresión. Puede dedicar este tiempo ahorrado a otras tareas, como
el desarrollo de nuevas características y funciones.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
ANEXO U.T. N°2: PRUEBAS ESTÁTICAS
Las pruebas dinámicas y estáticas pueden tener el mismo objetivo donde la meta es
asegurar la calidad del producto; si bien cada uno de estos tipos de prueba tiene un momento de
aplicación diferente, no se trata de tipos de prueba contrarios sino complementarios. Mientras
que la prueba estática se utiliza para mejorar la consistencia y calidad interna de los productos
de trabajo, la prueba dinámica se centra en los comportamientos visibles desde el exterior.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
ANEXO U.T. N°2: PRUEBAS ESTÁTICAS
Hay ciertos defectos comunes dentro del desarrollo de un software que son mucho más
fáciles y económicos de detectar y corregir a través de este tipo de pruebas. A saber:
Productos de trabajo
Concepto
5
Se denomina así a los diferentes elementos que pueden examinarse durante la ejecución
de pruebas estáticas.
Los productos de trabajo se crean como parte del proceso de prueba, y cada organización
varía la implementación del proceso de prueba por lo que también lo hace con los tipos de
productos de trabajo que se crean durante este proceso, cómo se organizan y gestionan.
De la planificación
En esta etapa se reciben las bases de prueba que serán la guía del proceso de pruebas y
permitirán definir los objetivos y la definición de hecho, y el producto de trabajo generado será
el plan de pruebas que se deberá seguir.
El plan de pruebas incluye información sobre la base de prueba con la que se relacionarán
los demás productos de trabajo de prueba, mediante la información de trazabilidad, así como los
criterios de salida que se utilizarán durante el monitoreo y control de prueba.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
ANEXO U.T. N°2: PRUEBAS ESTÁTICAS
De la implementación de pruebas
De la ejecución de pruebas
En esta etapa se pueden generar documentos sobre el estado individual de las pruebas:
casos listos, por ejecutar, rechazados, bloqueados, etc., defectos encontrados y herramientas
usadas durante la ejecución.
De la compleción de pruebas
Durante el cierre de pruebas se generan los reportes a los interesados en la prueba, que
permitirán tomar decisiones sobre si el producto está listo o no para su liberación, o las acciones
a tomar para mejorar el proyecto.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
ANEXO U.T. N°2: PRUEBAS ESTÁTICAS
La trazabilidad es la posibilidad de rastrear la huella desde las bases de prueba hasta los
resultados de la ejecución del software; es decir, que cada requerimiento entregado siga su huella
hasta la solicitud que lo originó, y los productos de trabajo que se fueron generando en el
proceso. Esto permite evaluar la cobertura de la prueba.
Productos de trabajo que pueden ser evaluados por una prueba estática
Proceso de revisión
Las revisiones de software son exámenes sistemáticos de artefactos de software, como
código, diseño, documentación, casos de prueba o comentarios de los usuarios, para identificar
y resolver defectos, mejorar el rendimiento, mejorar la usabilidad y verificar el cumplimiento de
estándares y especificaciones. Las revisiones de software se pueden realizar en cualquier etapa
de SDLC, pero son especialmente importantes en las fases de prueba e implementación, donde
los errores y defectos pueden tener graves consecuencias
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
ANEXO U.T. N°2: PRUEBAS ESTÁTICAS
Tipos de revisión
En general, el tamaño del producto que se revisa es pequeño y el equipo de revisión debe
usar estándares y/o listas de chequeo para verificar el producto. La inspección tiene tres etapas,
pre-revisión, revisión, post-revisión.
En una revisión formal, se incluyen los siguientes roles, cuyas responsabilidades varían
dependiendo del rol:
Autor: Crea y corrige los defectos del producto bajo revisión.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
ANEXO U.T. N°2: PRUEBAS ESTÁTICAS
Son procesos menos rígidos y más flexibles que no siguen un protocolo o documentación
estrictos. Involucran a un grupo más pequeño de revisores que verifican, prueban y discuten los
artefactos de software sin una agenda o resultado predefinido. Las revisiones informales de
software se pueden dividir en dos tipos:
Revisión técnica
Estas revisiones pueden variar desde muy formal a muy informal. Los objetivos son
debatir, tomar decisiones, evaluar alternativas, resolver problemas técnicos, comprobar la
conformidad con las especificaciones, estándares y normativas, y se centrarán en alcanzar un
consenso. Es un proceso documentado donde se realizará un informe de revisión.
Revisión guiada
También van de lo muy formal a lo muy informal, y son llevadas a cabo por el autor del
documento del proyecto; el objetivo principal es encontrar defectos y establecer un
entendimiento común.
Revisión de código
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
ANEXO U.T. N°2: PRUEBAS ESTÁTICAS
creado o modificado se somete a una revisión del código. En este proceso, uno o varios miembros
del equipo repasan el trabajo de un programador.
Ad hoc
Lectura basada en defectos: Focaliza cada inspector en una clase distinta de defecto
mientras inspecciona un documento de requisitos. Contestar a las preguntas planteadas
en el escenario ayuda al inspector a encontrar defectos de determinado tipo.
DESARROLLO DE VIDEOJUEGOS
CONTROL DE CALIDAD DE VIDEOJUEGOS
ANEXO U.T. N°2: PRUEBAS ESTÁTICAS
Concentrarse sólo en los asuntos que importan, los problemas secundarios ralentizan el
proceso.
Planificar y evaluar las actividades de revisión de forma explícita. El código del programa
y las inspecciones de entregables generalmente se componen de revisiones por pares.
Capacitar a los participantes para sus tareas.
Mantener el proceso tan formal como la cultura del proyecto.
Mejorar el proceso de revisión y las herramientas constantemente.
Eliminar los retrasos importantes en la ejecución de la prueba para reducir los costos de
prueba y el tiempo de prueba.
11
DESARROLLO DE VIDEOJUEGOS