# data[].attributes.body
Son las primeras pruebas que se realizan, dependen del desarrollador implementar estas pruebas.

# data[].attributes.body
Buscan que cada apartado (módulo, componente, función, etc) de la aplicación cumpla con las especificaciones.

Son aplicadas por el mismo desarrollador.

Se corrigen los defectos hasta lograr el correcto funcionamiento.

# data[].attributes.body
Van después en la pirámide de las pruebas unitarias, se usan para descubrir los defectos de las conexiones que puedan existir entre los sistemas/componentes

Técnicas: Big Band, Descendente, Ascendente

# data[].attributes.body
Son pruebas que se realizan a componentes de una aplicacion. Son pruebas dirigidas especificamente a ese componente y se realizan antes de integrarlas con otros componentes de la aplicacion. Son responsabilidad del desarrollador

# data[].attributes.body
Se centran en verificar la funcionalidad de componentes o módulos individuales del software, asegurándose de que cada parte cumpla con los requerimientos establecidos de forma aislada

# data[].attributes.body
Prueba a las unidades integradas que forman el sistema para detectar errores en la interacción e interconexiones entre componentes, con la responsabilidad compartida entre testers y programadores.

# data[].attributes.body
Evalúan la interacción y comunicación entre varios módulos ya probados individualmente, con el objetivo de detectar errores en la forma en que se combinan

# data[].attributes.body
Su objetivo es asegurar que cada unidad cumple con las especificaciones antes de integrarlas con otras unidades.

# data[].attributes.body
Su objetivo es descubrir los defectos de las interconexiones y de la interacción entre sistemas o componentes integrados.

# data[].attributes.body
Son aquellas que debe de realizar el desarrollador, la idea de este tipo de pruebas es tener un control de errores y encontrar esas fallas en partes de código como en las estructuras de control. La idea es simular las alternativas posibles que puede seguir el usuario.

# data[].attributes.body
Las pruebas unitarias buscan garantizar que cada unidad de código, como funciones o módulos individuales, cumpla con las especificaciones antes de integrarse con otros componentes. Son realizadas generalmente por los propios desarrolladores y permiten detectar errores en una etapa temprana del desarrollo, reduciendo costos y tiempo en la corrección de defectos.

# data[].attributes.body
Ya se tiene un sistema probado e integrado.

Buscan verificar el comportamiento global de todo el sistema.

Son aplicadas por un equipo de QA.

Hay pruebas Funcionales y No Funcionales (seguridad, escabilidad, usabilidad, etc).

# data[].attributes.body
¿Que tipo de pruebas pueden ejecutarse en paralelo para mejorar la eficiencia del proceso de QA?

# data[].attributes.body
Se centra en verificar que las especificaciones de cada módulo, componente, función dentro de una aplicación funcione de manera esperada, dichas pruebas son evaluadas por el programador con el objetivo asegurar una detección temprana de errores.

# data[].attributes.body
Van después en la pirámide que las pruebas de Integración, son llevadas a cabo por un equipo independiente y verifican el comportamiento global del sistema

# data[].attributes.body
Se asegura que cada unidad cumple con las especificaciones antes de integrarlas, siendo responsabilidad del programador.

Se hace una inspección visual del código o cualquier otro medio, y se revisa la correcta lógica y funcionamiento del módulo. Si este no funciona de manera correcta se corrige el código hasta que funcione bien.

# data[].attributes.body
Son pruebas realizadas por el propio desarrollador, estas buscan asegurar que cada componente del software funcione correctamente, encontrar errores y mejorar el codigo.

# data[].attributes.body
Su función es la verificaión de funcionalidad de ya sea módulo, componente, función. Son realizadas por el desarrollador.

# data[].attributes.body
Su objetivo es descubrir los defectos de las interconexiones y de la interacción entre sistemas o componentes integrados.

La responsabilidad ideal es entre el desarrollador y los probadores.

Hay cuatro técnicas para su realización:

Descendente

Ascendente

Big Band

Funcional o Transaccional

# data[].attributes.body
Es el proceso en el que un desarrollador verifica que cada módulo o unidad de código funcione correctamente. Para esto, se inspecciona el código, se revisan errores, excepciones y valores límite, se prueban bucles y anidaciones, y se simulan diferentes caminos posibles. Después, se comparan los resultados obtenidos con los esperados y se corrigen errores hasta asegurar el correcto funcionamiento del módulo.

# data[].attributes.body
Verifica el funcionamiento de una unidad individual de código, como una función, un método o un módulo de manera aislada. Lo realiza el desarrollador y se debe realizar antes de integrar la función con el resto del código

# data[].attributes.body
Estas pruebas se llevan a cabo después de las pruebas unitarias y tienen como objetivo evaluar la interacción entre los diferentes módulos o sistemas. Se busca identificar defectos en la comunicación entre componentes, asegurando que al integrarlos funcionen correctamente. Para ello, existen diversas estrategias, como la integración descendente, ascendente, transaccional o en "Big Bang".

# data[].attributes.body
Verifican el comportamiento global de todo el sistma. Un equipo especifico de prubas (el equipo de QA) son quienes realizan estas pruebas. Tienen distintas fases como pruebas funcionales (como se comporta el sistema como tal, si los resultados son los esperados) y pruebas no funcionales (como es su usabilidad, rendimiento, seguridad, entre otros)

# data[].attributes.body
Estas son responsabilidad del equipo de QA y del desarrollador. Después de hacer las pruebas individuales de cada componente, estas pruebas de integración buscan los defectos en sus conexiones para verificar que interactuen bien entre si.

# data[].attributes.body
En las pruebas de sistema, ¿Cuáles son los tipos de pruebas mas importantes dentro del proceso de pruebas funcionales y no funcionales?

# data[].attributes.body
Puede un equipo de desarrolladores con cierto nivel de conocimiento en QA hacer las pruebas de sistemas? O son lo suficientemente especificas como para que dependan al 100% de un equipo de QA dedicado

# data[].attributes.body
Una vez integrado cada módulo al sistema, se procede a evaluar el rendimiento y comportamiento general del sistema, en este apartado de pruebas el equipo de QA se encarga de verificar la usabilidad y conexiones entre los componentes para buscar defectos en las interacciones entre ellos.

# data[].attributes.body
En esta prueba se toma como punto de partida el producto ya integrado y probado. Se usa para verificar el funcionamiento global del sistema. Normalmente se llevan a cabo por un equipo independiente de técnicos especializados en pruebas.

# data[].attributes.body
Las pruebas de integración verifican que las diferentes unidades o módulos de un sistema funcionen correctamente cuando se combinan. Su objetivo es detectar errores en las interconexiones y en la interacción entre los componentes. Estas pruebas son realizadas tanto por programadores como por probadores para asegurar que el sistema integrado opere de manera correcta.

# data[].attributes.body
Verifican que cada unidad de código cumpla con las especificaciones y funcione de manera correcta antes de integrarse con otras unidades. Son realizadas por el propio desarrollador.

# data[].attributes.body
¿Qué ventajas y desventajas presenta la estrategia de integración "Big Bang" en comparación con las otras estrategias?

# data[].attributes.body
¿Usualmente cuántos integrantes tiene un equipo de QA que realice pruebas de Sistema?

# data[].attributes.body
Verifican el comportamiento de todo el sistema en su conjunto, evalúan la interacción de múltiples módulos para garantizar que el software funcione correctamente como un todo

# data[].attributes.body
¿En qué medida es beneficioso que las pruebas de sistema sean ejecutadas por un equipo independiente y especializado, en lugar de realizarlas el mismo equipo de desarrollo que implementó el software?

# data[].attributes.body
Por el desarrollador, busca verificar la funcionalidad de las unidades (pueden ser modulos, funciones, componentes...) del programa

# data[].attributes.body
¿Por cuantos filtros (personas) pasa usualmente una prueba, antes de ser aprobada?

# data[].attributes.body
Su objetivo es asegurar que cada unidad cumple con las especificaciones antes de integrarlas.

Son realizadas por el propio desarrollador.

Buscamos que mis pruebas recorran todos los caminos.

# data[].attributes.body
Es posible que un software funcione perfectamente en pruebas de sistema pero falle cuando lo usan los clientes?

# data[].attributes.body
Verifican que un sistema siga funcionando correctamente después de realizar cambios, actualizaciones o correcciones. Su objetivo es detectar y corregir defectos introducidos durante estas modificaciones.

# data[].attributes.body
Encargado: el equipo de QA solo, o junto con los desarrolladores. Busca probar la interconexión entre las unidades, que se supone ya se ha verificado que funcionan por sí solas, ahora se busca que funcionen en conjunto entre todo el programa.

# data[].attributes.body
El desarrollador revisa la lógica y el funcionamiento, estas son las primeras pruebas que se hacen.

# data[].attributes.body
Son realizadas por el desarrollador. Se trata de seleccionar una unidad (un método, función, librería o componente). Prueba las condiciones, bucles, excepciones, ect. En caso de encontrar algún error se debe arreglar. Al terminar con la realización de las pruebas unitarias se entrega el programa junto con las pruebas ya realizadas

# data[].attributes.body
Estas se enfocan en realizar pruebas entre dos módulos, componentes o demás, se basa en que la interacción de estos modulos cumplan con el funcionamiento esperado.

# data[].attributes.body
Estas pruebas se realizan por parte del desarrollador, donde revisa los errores o fallas presentes en el código(modlos, clases, funciones, entre otros).

# data[].attributes.body
Son realizadas por el

desarrollador, se centra en probar

cada unidad antes de ser

integradas con otras. Se entrega

la unidad desarrollada y sus

respectivas pruebas

# data[].attributes.body
Los probadores y programadores utilizan las pruebas de integración para encontrar los defectos de las interconexiones que hay entre sistemas o de los componentes integrados.

# data[].attributes.body
Verifica de manera global el funcionamiento del sistema, este se realiza después del cumplimiento de las pruebas unitarias y de integración.

# data[].attributes.body
Este tipo de prueba parte con el sistema ya probado e integrado, lo que hace ahora verifica el comportamiento global del sistema.

Para este tipo de prueba hay dos tipos:

Funcionales, para verificar la correcta funcionalidad de este.

No funcionales: Estas prueban como es su rendimiento, usabilidad, escalabilidad, seguridad, etc.

Responsable: El equipo de QA.

# data[].attributes.body
Estas se realizan por equipos de QA donde ya tienen un sistema probado hasta cierto punto y se busca verificar el comportamiento global del sistema.

# data[].attributes.body
Las vamos a realizar una vez que se hayan realizado las pruebas unitarias.

Ya no tiene defectos esa unidad.

Cuando intento acoplar las dos unidades.

Descubrir defectos entre las interconexiones.

Responsable: los probadores y los programadores.

# data[].attributes.body
Un equipo independiente de técnicos utiliza estas pruebas ayudan a verificar de una manera global el comportamiento del sistema.

# data[].attributes.body
¿En que contexto podría ser más eficiente realizar pruebas de integración con la técnica de Big Band?

# data[].attributes.body
Descendente

Ascendente

Big band

Funcional o transaccional

# data[].attributes.body
Tiene como finalidad tener la aceptación del usuario o del cliente. Son pruebas funcionales en el sistema. Hay dos tipos:

Alfa: El usuario o cliente se encuentra en un ambiente controlado con una persona encargada en el proceso de pruebas que le pueda ayudar con el sistema.

Beta: Se realiza luego del tipo Alfa, el usuario o cliente se encuentra solo realizando las pruebas del sistema y luego puede indicarle a la persona encargada los fallos encontrados.

# data[].attributes.body
¿Que se evalúa principalmente en una prueba de aceptación de usuario?

¿En qué tipo de prueba se evalúa que el software está listo para ser utilizado por los usuarios finales?

# data[].attributes.body
White Box Testing (Pruebas de Caja Blanca)

• Enfoque: Se basa en el conocimiento del código fuente y la estructura interna del software.

• Quién la realiza: Generalmente, los desarrolladores o testers con conocimientos de programación.

• Objetivo: Evaluar el flujo de datos, estructuras de control, condiciones lógicas y posibles vulnerabilidades internas.

• Ejemplos: Pruebas de unidad, cobertura de código, pruebas de condiciones y bucles.

Black Box Testing (Pruebas de Caja Negra)

• Enfoque: Se basa en la funcionalidad externa del software sin conocer su código fuente ni su estructura interna.

• Quién la realiza: Generalmente, testers funcionales o usuarios finales.

• Objetivo: Verificar si el software cumple con los requisitos especificados y detectar errores en la salida en función de la entrada.

• Ejemplos: Pruebas funcionales, de regresión, de aceptación y de interfaz de usuario.

En resumen, White Box Testing examina cómo funciona el software internamente, mientras que Black Box Testing se enfoca en lo que el software debería hacer desde la perspectiva del usuario.

# data[].attributes.headline
Diferencias clave Pruebas Estáticas vs Pruebas Dinámicas 

# data[].attributes.subject
Diferencias clave Pruebas Estáticas vs Pruebas Dinámicas 

# data[].attributes.body
Pruebas Estáticas

Ejecución

No requiere ejecutar el código

Fase

Se realiza en las primeras etapas del desarrollo

Objetivo

Detectar errores en código, lógica y documentación

Ejemplo

Revisión de código

Pruebas Dinámicas

Ejecución

Requiere ejecutar el código

Fase

Se realiza después de que el código es ejecutable

Objetivo

Detectar defectos en la funcionalidad y rendimiento

Ejemplo

Pruebas unitarias