24 noviembre 2023

Descubriendo los Secretos del Sistema

Prueba de Caja Blanca

La Prueba de Caja Blanca es como una aventura emocionante en el interior de un sistema de software. En lugar de mirar solo lo que hace el sistema, nos sumergimos en su estructura interna y su forma de trabajar. Imagina que eres un detective que busca pistas en el código, la arquitectura y los flujos de datos del sistema para asegurarte de que todo esté funcionando correctamente.

La intensidad de la Prueba de Caja Blanca se puede medir con algo llamado "cobertura estructural". ¿Qué significa eso? Es simplemente cuánto del sistema hemos explorado mediante pruebas. Podemos medirlo como un porcentaje de la estructura total cubierta.

En el nivel de prueba de componente, nos enfocamos en el código. Queremos saber qué partes del código han sido probadas y cuáles no. Por ejemplo, podemos evaluar cuántas sentencias de código han sido ejecutadas y qué decisiones se han verificado. A todo esto lo llamamos "cobertura de código". ¡Es como trazar un mapa del tesoro en el código!

Cuando llegamos al nivel de prueba de integración de componentes, la cosa se pone aún más interesante. Aquí nos enfocamos en la arquitectura del sistema, en cómo se comunican los diferentes componentes. Queremos asegurarnos de que todas las interfaces entre los componentes funcionen correctamente. Así que, también medimos el porcentaje de interfaces que hemos explorado mediante pruebas.

¡Pero no es una tarea fácil! Requiere habilidades especiales. Tenemos que saber cómo construir el código de manera inteligente, usando herramientas para medir la cobertura de código. También necesitamos comprender cómo almacenar y manejar los datos, incluso cómo interpretar los resultados que nos dan las herramientas de cobertura. Es como usar gadgets especiales para resolver los misterios del sistema.

En resumen, la Prueba de Caja Blanca es como un emocionante viaje de exploración en el corazón del sistema. Como un detective informático, buscamos pistas en el código y la arquitectura para asegurarnos de que todo esté funcionando correctamente. ¡Es una misión desafiante, pero llena de emoción y satisfacción cuando resolvemos los secretos del sistema!


17 noviembre 2023

¡Evaluando el Cómo de Bien funciona!

Prueba No Funcional: 

¡Hola! Ahora vamos a hablar de la prueba no funcional, que evalúa características importantes del sistema, como su usabilidad, eficiencia del desempeño y seguridad. ¡Vamos a sumergirnos en esto!

Prueba No Funcional: ¿Cómo de Bien se Comporta el Sistema?
Mientras que la prueba funcional evalúa qué funciones realiza el sistema, la prueba no funcional se enfoca en "cómo de bien" se comporta. Aquí evaluamos aspectos vitales como la usabilidad, eficiencia del desempeño y seguridad del software. Si quieres saber más detalles sobre estas características, te recomiendo consultar el estándar ISO/IEC 25010.

En Todos los Niveles, ¡Importante desde el Principio!
A diferencia de lo que algunos piensan, las pruebas no funcionales son esenciales y se deben realizar en todos los niveles de prueba, y lo más temprano posible. Descubrir defectos no funcionales en etapas avanzadas del proyecto puede ser muy peligroso para su éxito.

Caja Negra También para lo No Funcional
¡Sí, también usamos técnicas de caja negra para pruebas no funcionales! Esto nos permite obtener las condiciones de prueba y los casos de prueba para evaluar aspectos como el rendimiento del sistema. Por ejemplo, con el análisis de valores frontera, definimos las condiciones de estrés para las pruebas de rendimiento.

Midamos la Intensidad: Cobertura No Funcional
La intensidad de las pruebas no funcionales se mide a través de la cobertura no funcional. Esta nos indica qué porcentaje de elementos no funcionales han sido probados. Por ejemplo, mediante la trazabilidad entre las pruebas y los dispositivos compatibles con una aplicación móvil, calculamos el porcentaje de dispositivos tratados por las pruebas de compatibilidad, lo que nos permite identificar posibles carencias.

Conocimientos Especiales; una Ventaja
El diseño y la ejecución de las pruebas no funcionales pueden requerir habilidades y conocimientos especiales. Por ejemplo, es importante conocer las debilidades inherentes a ciertos diseños o tecnologías, como las vulnerabilidades de seguridad asociadas a determinados lenguajes de programación. También es relevante comprender la base de usuarios específica, como en el caso de los sistemas de gestión de centros sanitarios.

Una Evaluación Completa: Funcionalidad y Rendimiento
Con la prueba no funcional, aseguramos que el sistema no solo funcione correctamente, sino que también sea eficiente, seguro y fácil de usar. ¡Es una evaluación completa que garantiza que el software sea un verdadero éxito! 


10 noviembre 2023

¡Asegurando que Todo Funcione como Debe!

 Prueba Funcional

¡Hola! Hoy te voy a hablar de la prueba funcional, una parte clave para asegurar que un sistema realice todas las funciones que debe hacer. ¡Comencemos!

Prueba Funcional: ¿Qué Debe Hacer el Sistema?
La prueba funcional evalúa las funciones que el sistema debe realizar. Estas funciones están descritas en documentos como especificaciones de requisitos de negocio, épicas, historias de usuario o casos de uso, ¡o incluso pueden estar sin documentar! Las funciones describen "qué" debe hacer el sistema.

En Todos los Niveles, ¡Esencial!
Se deben realizar pruebas funcionales en todos los niveles de prueba. Por ejemplo, la prueba de componente se basa en especificaciones de componentes, pero cada nivel tiene su propio enfoque.

Mirando el Comportamiento: Caja Negra
La prueba funcional observa el comportamiento del software. Para obtener las condiciones de prueba y los casos de prueba, se utilizan técnicas de caja negra, que permiten probar las funciones sin conocer los detalles internos del sistema (¡esto es como una caja mágica!).

Medición de la Cobertura: ¡Un Porcentaje Importante!
Para medir qué tan bien hemos probado las funciones, utilizamos la cobertura funcional. Esta medida nos dice qué porcentaje de las funciones se han practicado con las pruebas. Por ejemplo, con la trazabilidad entre las pruebas y los requisitos, podemos calcular cuántos de esos requisitos han sido abordados por las pruebas (¡así sabemos si nos falta algo!).

Conocimiento Especial para Cada Caso
Diseñar y ejecutar pruebas funcionales puede requerir habilidades o conocimientos especiales. Por ejemplo, algunos sistemas necesitan que el probador tenga conocimiento específico del problema de negocio que resuelve el software, como en el software de modelado geológico para la industria petrolera y del gas. Otras veces, el probador debe entender el papel particular que juega el software, como en el caso de software de juegos de azar que proporciona entretenimiento interactivo.

¡Funcionalidad Garantizada!
La prueba funcional es esencial para asegurarnos de que el sistema haga todo lo que debe hacer. Con estas pruebas, garantizamos que todas las funciones estén en su lugar y que el software funcione como un relojito. ¡Así es como logramos que todo funcione como debe ser!



03 noviembre 2023

¡La Variedad que Hace que Todo Funcione a la Perfección!

 Tipos de Prueba

¡Hola! Hoy te voy a hablar de los diferentes tipos de prueba que aseguran que un sistema de software sea perfecto y cumpla con todos los estándares. ¡Vamos a conocerlos!

Tipos de Prueba: Enfoque en Características Específicas
Un tipo de prueba es un conjunto de actividades diseñadas para probar características específicas de un sistema o parte de él. Cada tipo de prueba tiene sus objetivos particulares. Algunos de estos objetivos pueden ser:
  • Pruebas de Calidad Funcional: ¿Cumple con lo que Debe Hacer?
    • Completitud: Se verifica si todas las funcionalidades que se deben tener están presentes y funcionan correctamente.
    • Pertinencia: Nos aseguramos de que el sistema haga lo que se espera de él y sea útil para los usuarios.
  • Pruebas de Calidad No Funcional: La Eficiencia y Seguridad son Clave
    • Eficiencia de Desempeño: Verificamos que el sistema sea rápido y no se quede "pensando" por mucho tiempo.
    • Seguridad: Aseguramos que el sistema proteja los datos y la información sensible de los usuarios.
  • Pruebas de Estructura y Arquitectura: La Base Correcta
    • Compleción: Nos aseguramos de que no falte nada importante en la estructura.
    • Según lo Especificado: Verificamos que todo esté de acuerdo con los requerimientos y especificaciones.
  • Pruebas de Cambios: Siempre Mejorando
    • Prueba de Confirmación: Después de corregir errores, nos aseguramos de que ya no estén presentes.
    • Prueba de Regresión: Comprobamos que los cambios realizados no hayan afectado otras partes del sistema de manera no deseada.
Una Combinación Perfecta para el Éxito
Cada tipo de prueba juega un papel importante en garantizar que el sistema funcione a la perfección. Al combinar todos estos enfoques, podemos estar seguros de que el software que usamos será seguro, eficiente y lleno de funcionalidades que nos facilitarán la vida. ¡Así es como logramos que todo funcione de maravilla!


Retrospectivas: ¡Aprendiendo de nuestros errores!

Imagina que estás construyendo una red social para probadores de software. Al final de cada sprint (un periodo corto de desarrollo), te reún...