Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Moìdulo 3
Moìdulo 3
Este temario está totalmente enfocado al syllabus 2018 ISTQB del nivel fundamentos, siendo los
propietarios de la fuente: Copyright © 2018 los autores de la actualización 2018 Klaus Olsen
(presidente), Tauhida Parveen (vicepresidenta), Rex Black (director del proyecto), Debra Friedenberg,
Matthias Hamburg, Judy McKay, Meile Posthuma, Hans Schaefer, Radoslaw Smilgin, Mike Smith,
Steve Toms, Stephanie Ulrich, Marie Walsh y Eshraka Zakaria.
Nota sobre derechos de propiedad intelectual © International Software Testing Qualifications Board
(en adelante denominado ISTQB®). ISTQB es una marca registrada del International Software Testing
Qualifications Board.
Los autores transfieren los derechos de autor al International Software Testing Qualifications Board
(ISTQB). Los autores (como titulares actuales de los derechos de autor) y el ISTQB (como futuro
titular de los derechos de autor)
TEMARIO MÓDULO III
Pruebas estáticas
Prueba Estática
A diferencia de la prueba dinámica, que requiere la ejecución del software que se está
probando, la prueba estática se basa en evaluación manual de los productos de trabajo
(es decir, revisiones) o en la evaluación basada en herramientas del código u otros
productos de trabajo (es decir, el análisis estático). Ambos tipos de prueba estática
evalúan el código u otro producto de trabajo que se esté probando sin ejecutar, de forma
efectiva, el código o el producto de trabajo que se esté probando.
El análisis estático es importante para los sistemas informáticos de seguridad crítica (por
ejemplo, aeronáuticos, médicos o nucleares), pero el análisis estático también se ha
vuelto importante y común en otros contextos. Por ejemplo, el análisis estático es una
parte importante en la prueba de seguridad. El análisis estático también se incorpora, con
frecuencia, a los sistemas de construcción y entrega automatizados, por ejemplo, en el
desarrollo Ágil, la entrega continua y el despliegue continuo.
III Pruebas estáticas
3.1.1 Productos de trabajo que pueden ser evaluados por una prueba estática
Productos de trabajo que pueden ser evaluados por una prueba estática
Casi cualquier producto de trabajo puede ser examinado mediante una prueba estática (revisiones y/o
análisis estático), por ejemplo:
Las revisiones se pueden aplicar a cualquier producto de trabajo que los participantes
sepan cómo leer y comprender. El análisis estático puede ser aplicado eficientemente a
cualquier producto de trabajo con una estructura formal (típicamente código o modelos)
para el cual exista una herramienta de análisis estático apropiada. El análisis estático,
incluso, se puede aplicar con herramientas que evalúan los productos de trabajo escritos
en lenguaje natural, como los requisitos (por ejemplo, la corrección ortográfica, la
gramática y la legibilidad).
III Pruebas estáticas
3.1.2 Ventajas de la prueba estática
Las técnicas de prueba estática aportan una serie de ventajas. Cuando se aplica al
principio del ciclo de vida del desarrollo de software, la prueba estática permite la
detección temprana de defectos antes de que se realicen pruebas dinámicas (por
ejemplo, en revisiones de requisitos o especificaciones de diseño, refinamiento de la
cartera del producto, etc.). Los defectos que se detectan de forma temprana suelen ser
mucho más baratos de eliminar que los que se detectan más tarde en el ciclo de vida,
especialmente si se comparan con los defectos que se detectan después del despliegue
del software y durante el uso activo del mismo. El uso de técnicas de prueba estática
para detectar defectos y luego corregirlos de forma temprana es, casi siempre, mucho
más barato para la organización que el uso de pruebas dinámicas para encontrar
defectos en el objeto de prueba y luego corregirlos, especialmente cuando se consideran
los costes adicionales asociados con la actualización de otros productos de trabajo y la
realización de pruebas de confirmación y regresión.
III Pruebas estáticas
3.1.2 Ventajas de la prueba estática
La prueba estática y la prueba dinámica pueden tener los mismos objetivos, tales como proporcionar
una evaluación de la calidad de los productos de trabajo e identificar los defectos tan temprano como
sea posible. La prueba estática y dinámica se complementan entre sí al encontrar diferentes tipos de
defectos.
Una de las principales diferencias es que la prueba estática detecta defectos en los productos de
trabajo directamente, en lugar de identificar los fallos causados por defectos cuando se ejecuta el
software. Un defecto puede residir en un producto de trabajo durante mucho tiempo sin provocar un
fallo. El camino donde se encuentra el defecto puede ser practicado con poca frecuencia o difícil de
alcanzar, por lo que no será fácil construir y ejecutar una prueba dinámica que lo detecte. La prueba
estática puede ser capaz de encontrar el defecto con un esfuerzo mucho menor.
Otra diferencia es que la prueba estática se puede utilizar para mejorar la consistencia y la calidad
interna de los productos de trabajo, mientras que la prueba dinámica se concentra, normalmente, en
los comportamientos visibles desde el exterior.
III Pruebas estáticas
3.1.3 Diferencias entre prueba estática y prueba dinámica
En comparación con las pruebas dinámicas, los defectos típicos que son más fáciles y económicos de
detectar y corregir a través de la prueba estática incluyen:
Las revisiones varían desde informales hasta formales. Las revisiones informales se
caracterizan por no seguir un proceso definido y no tener una salida documentada formal.
Las revisiones formales se caracterizan por contar con la participación de un equipo,
resultados de la revisión documentados y procedimientos documentados para llevar a
cabo la revisión. El grado de formalidad de un proceso de revisión está relacionado con
factores como el modelo de ciclo de vida de desarrollo de software, la madurez del
proceso de desarrollo, la complejidad del producto de trabajo que se debe revisar,
cualquier requisito legal o reglamentario, y/o la necesidad de un rastro de auditoría.
El foco de atención de una revisión depende de los objetivos acordados de la misma (por
ejemplo, encontrar defectos, lograr comprensión, instruir a los participantes, como los
evaluadores y los nuevos miembros del equipo, o discutir y decidir por consenso).
El estándar ISO (ISO/IEC 20246) contiene descripciones más detalladas del proceso de
revisión de productos de trabajo, incluyendo roles y técnicas de revisión.
III Pruebas estáticas
3.2.1 Proceso de revisión de productos de trabajo
Planificar
Iniciar Revisión
● Evaluar los hallazgos de la revisión con respecto a los criterios de salida para tomar
una decisión de revisión (rechazar; se necesitan cambios importantes; aceptar,
posiblemente con cambios menores).
III Pruebas estáticas
3.2.1 Proceso de revisión de productos de trabajo
Corregir e Informar
Los resultados de una revisión del producto de trabajo varían, dependiendo del tipo de
revisión y de la formalidad, como se describe en la sección 3.2.3.
III Pruebas estáticas
3.2.2 Roles y responsabilidades en una revisión formal
Autor
Dirección
Líder de Revisión
Revisores
Pueden ser expertos en la materia, personas que trabajan en el proyecto, implicados con un
interés en el producto de trabajo, y/o personas con antecedentes técnicos o de negocio
específicos.
Escriba (o grabador)
En algunos tipos de revisión, una persona puede asumir más de un rol, y las acciones
asociadas con cada rol también pueden variar según el tipo de revisión. Además, con la
introducción de herramientas para apoyar el proceso de revisión, especialmente el
registro de defectos, puntos pendientes y decisiones, a menudo no hay necesidad de un
escriba.
Además, son posibles roles más detallados, como se describe en el estándar ISO
(ISO/IEC 20246).
III Pruebas estáticas
3.2.3 Tipos de revisión
Tipos de revisión
Aunque las revisiones pueden utilizarse para diversos fines, uno de los principales
objetivos es descubrir defectos. Todos los tipos de revisión pueden ayudar en la
detección de defectos, y el tipo de revisión seleccionado debe basarse en las
necesidades del proyecto, los recursos disponibles, el tipo de producto y los riesgos, el
dominio del negocio y la cultura de la empresa, entre otros criterios de selección.
Revisión Guiada
Revisión Técnica
Inspección
Los tipos de revisión descritos anteriormente se pueden realizar como revisiones entre
pares, es decir, por profesionales con un nivel aproximado similar en la organización.
Los tipos de defectos detectados en una revisión varían, dependiendo especialmente del
producto de trabajo sujeto a revisión. Véase la sección 3.1.3 para ejemplos de defectos
que se pueden detectar en las revisiones de diferentes productos de trabajo, y véase Gilb
1993 para información sobre inspecciones formales.
III Pruebas estáticas
3.2.4 Aplicación de técnicas de revisión
Hay diversas técnicas de revisión que pueden aplicarse durante la actividad de revisión
individual (es decir, la preparación individual) para detectar defectos. Estas técnicas se pueden
utilizar en todos los tipos de revisión descritos anteriormente. La efectividad de las técnicas
puede variar según el tipo de revisión utilizada. A continuación se enumeran ejemplos de
diferentes técnicas de revisión individual para diversos tipos de revisión.
Ad hoc
En una revisión ad hoc, los revisores reciben poca o ninguna orientación sobre cómo se debe
realizar esta tarea. Los revisores, a menudo, leen el producto de trabajo de forma secuencial,
identificando y documentando las cuestiones a medida que los encuentran. La revisión ad hoc
es una técnica utilizada con frecuencia que requiere poca preparación. Esta técnica depende
en gran medida de las competencias de los revisores y puede llevar a que diferentes revisores
informen de muchas cuestiones duplicadas.
III Pruebas estáticas
3.2.4 Aplicación de técnicas de revisión
Una revisión basada en listas de comprobación es una técnica sistemática, en la cual los
revisores detectan cuestiones basadas en listas de comprobación que se distribuyen al
inicio de la revisión (por ejemplo, por el facilitador). Una lista de comprobación de revisión
consiste en un conjunto de preguntas basadas en defectos potenciales, que pueden
derivarse de la experiencia. Las listas de comprobación deben ser específicas para el tipo
de producto de trabajo que se está revisando y deben mantenerse regularmente para
cubrir los tipos de cuestiones que no se han tenido en cuenta en revisiones anteriores. La
principal ventaja de la técnica basada en listas de comprobación es la cobertura
sistemática de los tipos de defectos típicos. Se debe tener cuidado no sólo de,
simplemente, seguir la lista de comprobación en la revisión individual, sino también de
buscar defectos fuera de la lista de comprobación.
III Pruebas estáticas
3.2.4 Aplicación de técnicas de revisión
Escenarios y Ensayos
En una revisión basada en escenarios, los revisores reciben pautas estructuradas sobre
cómo leer el producto de trabajo. Un enfoque basado en escenarios ayuda a los revisores
a realizar "ensayos" sobre el producto de trabajo basándose en el uso esperado del
producto de trabajo (si el producto de trabajo está documentado en un formato adecuado,
como los casos de uso). Estos escenarios proporcionan a los revisores mejores pautas
sobre cómo identificar tipos de defectos específicos que las simples entradas de una lista
de comprobación. Al igual que con las revisiones basadas en listas de comprobación,
para no pasar por alto otros tipos de defectos (por ejemplo, las prestaciones ausentes),
los revisores no deben limitarse a los escenarios documentados.
III Pruebas estáticas
3.2.4 Aplicación de técnicas de revisión
Basada en Roles
Una revisión basada en roles es una técnica en la cual los revisores evalúan el producto
de trabajo desde la perspectiva de roles individuales de los implicados. Los roles típicos
incluyen tipos específicos de usuarios finales (experimentados, inexpertos, mayores,
niños, etc.), y roles específicos en la organización (administrador de usuarios,
administrador de sistemas, probador del rendimiento, etc.).
III Pruebas estáticas
3.2.4 Aplicación de técnicas de revisión
Basada en Perspectiva
Además, la lectura basada en la perspectiva también requiere que los revisores intenten
utilizar el producto de trabajo bajo revisión para generar el producto que se derivaría a
partir de él. Por ejemplo, un probador intentaría generar un borrador de prueba de
aceptación si realizara una lectura basada en la perspectiva de una especificación de
requisitos para ver si se incluye toda la información necesaria. Además, en la lectura
basada en la perspectiva, se espera que se utilicen listas de comprobación.
III Pruebas estáticas
3.2.4 Aplicación de técnicas de revisión
Para que la revisión tenga éxito, se debe considerar el tipo de revisión adecuada y las
técnicas utilizadas. Además, hay una serie de otros factores que afectarán el resultado de
la revisión.
Los factores de éxito relativos a las personas para las revisiones incluyen:
● Los probadores son vistos como revisores valiosos que contribuyen a la revisión y
aprenden sobre el producto de trabajo, lo que les permite preparar pruebas más
efectivas y preparar esas pruebas antes.
● Las revisiones se llevan a cabo en pequeños fragmentos, para que los revisores no
pierdan la concentración durante la revisión individual y/o la reunión de revisión
(cuando se lleva a cabo).
III Pruebas estáticas
3.2.5 Factores de éxito para las revisiones
● La reunión está bien gestionada, por lo que los participantes la consideran un uso
valioso de su tiempo.
● Los participantes evitan el lenguaje corporal y las conductas que podrían indicar
aburrimiento, exasperación u hostilidad hacia otros participantes.
1.- ¿Cuál de los siguientes artefactos pueden ser examinados empleando técnicas estáticas?
a. Código de software
b. Especificación de requerimiento
c. Diseño de pruebas
d. Todas las anteriores
a. Tutorial
b. Inspección
c. Revisión Informal
d. Aprobación gerencial
4.- ¿Cuáles de las siguientes opciones son roles en una revisión formal?
5.- ¿Cuál es la principal diferencia entre un tutorial (Revisión Guiada) y una inspección?
a. Una inspección es guiada por el autor, mientras que un tutorial es guiado por un moderador entrenado.
b. Una inspección tiene un líder entrenado, mientras que un tutorial no tiene un líder.
c. Los autores no están presentes durante las inspecciones, mientras que si lo están durante los tutoriales.
d. Un tutorial es guiado por el autor, mientras que una inspección es guiada por un moderador entrenado.
a. Con análisis estático se pueden encontrar defectos que con análisis dinámico son difíciles de encontrar.
b. La compilación no es una forma de análisis estático.
c. Cuando se realiza correctamente, el análisis estático vuelve las pruebas funcionales redundantes.
d. El análisis estático encuentra todas las fallas.
III Prueba estática
Evaluación Módulo III
7.- Cuál de las siguientes sentencias acerca del diseño temprano de pruebas es cierto y cuál es falso?
1. Los defectos encontrados durante el diseño temprano de pruebas es más costoso de solucionar.
2. El diseño temprano de pruebas puede encontrar defectos
3. El diseño temprano de pruebas puede causar cambios en los requerimientos.
4. El diseño temprano de pruebas necesita más esfuerzo
8.- El análisis de código estático generalmente identifica todos, principalmente ¿cuál de los siguientes problemas?
a. Código inalcanzable
b. Variables no declaradas
c. Fallas en los requerimientos
d. Demasiado pocos comentarios
III Prueba estática
Evaluación Módulo III
10.- ¿Cuál de las siguientes par de sentencias acerca de las pruebas de regresión es cierta?
b) AyB
c) AyC
d) ByC
e) ByD
III Prueba estática
Evaluación Módulo III
a. s = 4, t = 3, u = 2, v = 1
b. s = 4 y 5, t = 3, u = 2, v = 1
c. s = 1 y 5, t = 3, u = 2, v = 4
d. s = 5, t = 4, u = 3, v =1 y 2