Parte 2 - Tema 7 Flashcards

Pruebas software

1
Q

¿Qué son las pruebas de software?

A

Las pruebas de software son un proceso sistemático que busca detectar defectos o errores en un software para garantizar que cumple con los requisitos establecidos y funciona según lo esperado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Cuál es el objetivo principal de las pruebas de software?

A

El objetivo principal es garantizar la calidad del software, asegurando que sea confiable, seguro y que cumpla con las expectativas del usuario.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Por qué son importantes las pruebas de software?

A

Las pruebas ayudan a prevenir errores que podrían causar pérdidas económicas, dañar la reputación de la empresa y afectar la satisfacción del cliente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Cuáles son los tipos principales de pruebas de software?

A
  • Pruebas unitarias: Verifican la funcionalidad de unidades individuales de código (funciones, métodos).
  • Pruebas de integración: Verifican cómo interactúan diferentes componentes del software.
  • Pruebas de sistema: Evalúan el sistema completo para asegurarse de que cumple con los requisitos.
  • Pruebas de aceptación: Verifican que el software cumple con las necesidades del usuario.
  • Otros tipos: Pruebas de rendimiento, pruebas de seguridad, pruebas de usabilidad, etc.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Cuáles son algunas técnicas comunes para diseñar casos de prueba?

A
  • Pruebas de caja blanca: Se basan en el conocimiento del código interno.
  • Pruebas de caja negra: Se enfocan en la funcionalidad externa del software.
  • Pruebas basadas en requisitos: Se derivan directamente de los requisitos del software.
  • Pruebas aleatorias: Se generan entradas aleatorias para encontrar defectos inesperados.
  • Pruebas de mutación: Se introducen pequeños cambios en el código para evaluar la efectividad de las pruebas.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Cuáles son las fases típicas del ciclo de vida de las pruebas?

A
  • Planificación y control de las pruebas.
  • Diseño de las pruebas.
  • Ejecución de las pruebas.
  • Evaluación de los resultados.
  • Reporte de defectos.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Cuáles son los principios fundamentales de las pruebas de software?

A
  • Las pruebas demuestran la presencia de defectos, no su ausencia.
  • Es imposible realizar pruebas exhaustivas.
  • Las pruebas tempranas ahorran tiempo y dinero.
  • Los defectos tienden a agruparse.
  • La paradoja del pesticida (las mismas pruebas pueden dejar de detectar defectos con el tiempo).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué son las pruebas de caja blanca?

A

Las pruebas de caja blanca, también conocidas como pruebas estructurales o de caja de cristal, son un tipo de pruebas de software que se centran en la estructura interna del código. El tester tiene acceso al código fuente y utiliza este conocimiento para diseñar casos de prueba.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Cuál es el objetivo principal de las pruebas de caja blanca?

A

El objetivo es verificar que el flujo interno del código se ejecute correctamente y que todas las ramas, condiciones y rutas de código se ejecuten al menos una vez.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Cuál es el objetivo principal de las pruebas de caja blanca?

A

El objetivo es verificar que el flujo interno del código se ejecute correctamente y que todas las ramas, condiciones y rutas de código se ejecuten al menos una vez.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Por qué son importantes las pruebas de caja blanca?

A

Son fundamentales para garantizar la calidad del código a nivel interno, detectar errores lógicos y optimizar el rendimiento del software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Pruebas de Caja Blanca ventajas

A
  • Permite identificar errores lógicos y de codificación.
  • Ayuda a optimizar el código.
  • Puede automatizarse en gran medida.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Pruebas de Caja Blanca desventajas

A
  • Requiere un profundo conocimiento del código fuente.
  • Puede ser costoso y tiempo-consumidor.
  • No garantiza que el software funcione correctamente desde el punto de vista del usuario final.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué son las pruebas de caja negra?

A

Las pruebas de caja negra, también conocidas como pruebas funcionales, son un tipo de pruebas de software donde se evalúa la funcionalidad de un sistema sin conocer su estructura interna. Es como probar una caja sin saber qué hay dentro, basándose únicamente en sus entradas y salidas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Cuál es el objetivo principal de las pruebas de caja negra?

A

El objetivo es verificar que el sistema se comporta como se espera, cumpliendo con los requisitos funcionales especificados. Se enfoca en las interfaces del sistema y en las interacciones del usuario.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Por qué son importantes las pruebas de caja negra?

A

Son fundamentales para asegurar que el software cumple con las expectativas del usuario final, ya que simulan el uso real del sistema. Además, ayudan a identificar errores en la lógica del sistema y en la interfaz de usuario.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Cuáles son las técnicas más comunes para diseñar casos de prueba de caja negra?

A
  • Partición de equivalencia: Dividir el rango de valores de entrada en clases de equivalencia para seleccionar valores representativos de cada clase.
  • Análisis de valores límite: Seleccionar valores límite para las entradas, como valores mínimos, máximos, nulos o vacíos.
  • Tabla de decisión: Utilizar tablas para representar las condiciones de entrada y las acciones correspondientes.
  • Pruebas basadas en uso: Diseñar casos de prueba basados en los escenarios de uso más comunes del sistema.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Pruebas de Caja Negra ventajas

A
  • No requiere conocimiento del código interno.
  • Se pueden realizar por personas sin conocimientos técnicos profundos.
  • Se enfoca en la perspectiva del usuario.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Pruebas de Caja Negra desventajas

A
  • Puede que no se detecten todos los posibles errores.
  • Requiere una especificación de requisitos clara y completa.
  • Puede ser redundante si se combinan con pruebas de caja blanca.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

¿Qué son los niveles de prueba?

A

Los niveles de prueba son las distintas fases o etapas por las que pasa un software durante el proceso de pruebas, cada una enfocada en un aspecto particular del sistema.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

¿Cuál es la importancia de conocer los niveles de prueba?

A

Comprender los niveles de prueba permite organizar de manera efectiva las actividades de prueba, identificar los tipos de defectos que se pueden encontrar en cada nivel y garantizar una cobertura de prueba más completa.

22
Q

¿Qué es una prueba unitaria?

A

Una prueba unitaria es una pequeña prueba de código que verifica la corrección de una unidad individual de código, generalmente una función o método.

23
Q

¿Cuál es el objetivo principal de las pruebas unitarias?

A

Aislar cada parte del programa para detectar errores lo antes posible y asegurar que cada unidad funciona correctamente de forma independiente.

24
Q

¿Por qué son importantes las pruebas unitarias?

A
  • Detectar errores tempranamente.
  • Mejorar la calidad del código.
  • Facilitar la refactorización.
  • Aumentar la confianza en el código.
25
Q

¿Cuáles son las características de una buena prueba unitaria?

A
  • Independiente: No debe depender de otras pruebas o del estado externo del sistema.
  • Repetible: Debe producir los mismos resultados cada vez que se ejecuta.
  • Automatizable: Debe poder ejecutarse de forma automática como parte de un proceso de integración continua.
  • Autovalidable: Debe tener un mecanismo para determinar si ha pasado o fallado.
26
Q

¿Cuáles son los pasos para crear una prueba unitaria?

A
  • Identificar la unidad de código a probar.
  • Diseñar casos de prueba que cubran diferentes escenarios.
  • Escribir el código de la prueba.
  • Ejecutar la prueba y verificar los resultados.
27
Q

¿Qué son las pruebas de integración?

A

Las pruebas de integración son un nivel de pruebas de software que se enfoca en verificar cómo interactúan diferentes módulos o componentes de un sistema. El objetivo es asegurar que estos módulos trabajen juntos de manera correcta y que los datos fluyan sin problemas entre ellos.

28
Q

¿Cuál es el objetivo principal de las pruebas de integración?

A

El objetivo principal es asegurar que los diferentes componentes del sistema se comuniquen e interactúen de manera correcta, y que el sistema funcione como un todo.

29
Q

¿Por qué son importantes las pruebas de integración?

A

Las pruebas de integración permiten identificar problemas en las interfaces entre módulos, como errores de comunicación, conflictos de datos o problemas de rendimiento.

30
Q

¿Cuáles son los tipos principales de pruebas de integración?

A
  • Pruebas de integración ascendente: Se comienza probando los módulos de bajo nivel y se van agregando módulos superiores de forma gradual.
  • Pruebas de integración descendente: Se comienza probando los módulos de alto nivel y se van agregando módulos inferiores de forma gradual.
  • Pruebas de integración big bang: Todos los módulos se integran y se prueban al mismo tiempo.
31
Q

¿Cuáles son las estrategias comunes para realizar pruebas de integración?

A
  • Utiliza casos de prueba basados en el diseño: Crea casos de prueba basados en los requisitos funcionales y no funcionales del sistema.
  • Automatiza las pruebas siempre que sea posible: Utiliza herramientas de automatización para ejecutar las pruebas de manera repetitiva y eficiente.
  • Prioriza las pruebas: Enfócate en las áreas del sistema que tienen un mayor riesgo de falla.
32
Q

¿Qué son las pruebas de sistema?

A

Las pruebas de sistema son un nivel de pruebas que verifica el comportamiento del sistema completo, integrado y funcionando como una unidad. Se evalúa si el sistema cumple con los requisitos funcionales y no funcionales especificados.

33
Q

¿Cuál es el objetivo principal de las pruebas de sistema?

A

El objetivo principal es asegurar que el sistema integrado funciona correctamente y cumple con las expectativas del usuario. Se busca identificar defectos en la interacción de los componentes, en la interfaz de usuario, en el rendimiento y en otras áreas críticas.

34
Q

¿Por qué son importantes las pruebas de sistema?

A

Las pruebas de sistema son cruciales para evaluar la calidad general del software antes de su lanzamiento. Permiten identificar problemas que pueden no ser evidentes en pruebas de niveles inferiores.

35
Q

¿Cuáles son los tipos principales de pruebas de sistema?

A
  • Pruebas funcionales: Verifican que el sistema realice las funciones especificadas en los requisitos.
  • Pruebas no funcionales: Evalúan atributos como rendimiento, usabilidad, seguridad, compatibilidad, etc.
  • Pruebas de recuperación: Verifican cómo el sistema se recupera de fallas o errores.
  • Pruebas de estrés: Evalúan el comportamiento del sistema bajo cargas de trabajo extremas.
  • Pruebas de volumen: Evalúan el comportamiento del sistema con grandes volúmenes de datos.
36
Q

¿Cuáles son las estrategias comunes para realizar pruebas de sistema?

A
  • Pruebas basadas en los requisitos: Se diseñan casos de prueba a partir de los requisitos funcionales y no funcionales.
  • Pruebas basadas en los casos de uso: Se simulan escenarios de uso reales para evaluar el sistema.
  • Pruebas aleatorias: Se generan entradas aleatorias para encontrar defectos inesperados.
37
Q

¿Qué son las pruebas de implantación?

A

Las pruebas de implantación son un conjunto de actividades que se llevan a cabo en un entorno lo más cercano posible al real, con el objetivo de verificar que el sistema funciona correctamente y cumple con los requisitos del usuario en un contexto operativo real.

38
Q

¿Cuál es el objetivo principal de las pruebas de implantación?

A

El objetivo principal es asegurar que el sistema esté listo para su uso en producción, identificando cualquier problema o deficiencia antes de su lanzamiento final.

39
Q

¿Por qué son importantes las pruebas de implantación?

A

Las pruebas de implantación son cruciales para reducir el riesgo de fallos en producción, mejorar la satisfacción del usuario y garantizar la estabilidad del sistema.

40
Q

¿Cuáles son los tipos principales de pruebas de implantación?

A
  • Pruebas alfa: Realizadas por usuarios internos en un entorno controlado.
  • Pruebas beta: Realizadas por usuarios externos en un entorno real o simulado.
  • Pruebas de usuario final: Realizadas por los usuarios finales del sistema en su entorno de trabajo.
41
Q

¿Cuáles son las estrategias comunes para realizar pruebas de implantación?

A
  • Pruebas piloto: Implementar el sistema en una pequeña parte de la organización para evaluar su funcionamiento.
  • Implementación por fases: Implementar el sistema en fases sucesivas, evaluando cada fase antes de pasar a la siguiente.
  • Implementación paralela: Operar el sistema nuevo en paralelo con el sistema antiguo durante un período de tiempo.
42
Q

¿Qué son las pruebas de aceptación?

A

Las pruebas de aceptación son un conjunto de actividades que tienen como objetivo verificar si el software desarrollado cumple con los requisitos establecidos por el cliente o usuario final, y si está listo para su uso en un entorno de producción.

43
Q

¿Cuál es el objetivo principal de las pruebas de aceptación?

A

El objetivo principal es obtener la aprobación formal del cliente o usuario final para poner en producción el software. Se busca confirmar que el sistema cumple con las expectativas y necesidades del negocio.

44
Q

¿Por qué son importantes las pruebas de aceptación?

A

Las pruebas de aceptación son cruciales para reducir el riesgo de fallos en producción y garantizar la satisfacción del cliente. Permiten validar que el software cumple con los objetivos del proyecto.

45
Q

¿Cuáles son los tipos principales de pruebas de aceptación?

A
  • Pruebas de aceptación del usuario (UAT): Realizadas por los usuarios finales para verificar si el sistema cumple con sus necesidades.
  • Pruebas de aceptación del sistema: Verifican si el sistema cumple con los requisitos funcionales y no funcionales especificados.
  • Pruebas de aceptación contractual: Verifican el cumplimiento de los términos y condiciones del contrato.
  • Pruebas de aceptación operativas: Verifican si el sistema puede ser operado y mantenido de forma eficiente.
46
Q

¿Qué son las pruebas de regresión?

A

Las pruebas de regresión son un tipo de pruebas de software que se realizan para verificar que los cambios realizados en un sistema no han introducido nuevos errores o degradado las funcionalidades existentes.

47
Q

¿Cuál es el objetivo principal de las pruebas de regresión?

A

El objetivo principal es asegurar que los nuevos cambios no afecten negativamente a las partes del sistema que ya estaban funcionando correctamente.

48
Q

¿Por qué son importantes las pruebas de regresión?

A

Son cruciales para mantener la calidad del software a medida que evoluciona, evitando que se introduzcan nuevos defectos.

49
Q

¿En qué situaciones se realizan pruebas de regresión?

A
  • Después de corregir un defecto.
  • Después de agregar una nueva funcionalidad.
  • Después de optimizar el código.
  • Después de cambios en la base de datos.
50
Q

¿Cuáles son los tipos principales de pruebas de regresión?

A
  • Pruebas de regresión completas: Se ejecutan todos los casos de prueba existentes.
  • Pruebas de regresión selectivas: Se ejecutan solo los casos de prueba que podrían verse afectados por los cambios.
  • Pruebas de regresión unitarias: Se enfocan en las unidades de código modificadas.
  • Pruebas de regresión de humo: Verifican las funcionalidades principales después de un cambio.