29 marzo 2024

Comprobar las líneas del sistema

Prueba y Cobertura de Sentencia 

Imagina que estás escribiendo un programa para calcular el área de un círculo. El programa tiene la siguiente función:

Python
def area_circulo(radio):
  area = 3.14 * radio * radio
  return area

La función area_circulo() tiene una sola sentencia ejecutable: area = 3.14 * radio * radio.


La prueba de sentencia es una técnica de prueba de software que se centra en probar cada sentencia ejecutable en el código. En este caso, la prueba de sentencia requeriría crear un caso de prueba que ejecute la función area_circulo() con un valor para el parámetro radio.

La cobertura de sentencia es una medida de la cantidad de sentencias ejecutables en el código que se han probado. En este caso, la cobertura de sentencia sería del 100% si el caso de prueba que se creó ejecutó la función area_circulo() con un valor para el parámetro radio.


22 marzo 2024

¿Cómo funciona internamente el sistema?

Pruebas de la estructura del sistema

Imagina que estás construyendo un robot. Quieres asegurarte de que el robot pueda realizar todas las tareas que necesitas que haga.

Las técnicas de prueba de caja blanca son una forma de hacerlo. Estas técnicas se basan en la estructura interna del robot, como su código fuente o su diagrama de flujo.

Una de las técnicas de prueba de caja blanca más comunes es la prueba de flujo de control. Esta técnica se centra en probar todos los caminos posibles a través del código del robot.

Otra técnica de prueba de caja blanca común es la prueba de cobertura de condiciones. Esta técnica se centra en probar todas las condiciones posibles en el código del robot.

Al utilizar estas técnicas, puedes asegurarte de que tu robot puede realizar todas las tareas que necesitas que haga.


18 marzo 2024

Comprobar los pasos del sistema

Transición de estados del sistema

Imagina que estás jugando un videojuego y estás en el estado "menú principal". Puedes hacer clic en diferentes opciones del menú para cambiar al estado "juego", "opciones" o "salir".

La técnica de prueba de transición de estado es una forma de asegurarse de que el videojuego cambie correctamente de estado cuando el usuario hace clic en una opción del menú.

Primero, creamos un diagrama de transición de estado que muestra los estados del videojuego y las transiciones entre ellos. El diagrama podría ser algo así:

       Estado       |       Evento      | Condición de guarda | Acción
----------------- --- | ------------------- |------------------------------ | --------
menú principal  |  clic en "juego" | ----------------------------- | cambiar al estado "juego"
menú principal  |clic en "opciones"| --------------------------- | cambiar al estado "opciones"
menú principal  |    clic en "salir"  | ---------------------------- | salir del videojuego

Luego, creamos casos de prueba para probar cada transición. Por ejemplo, para probar la transición del estado "menú principal" al estado "juego", podríamos crear un caso de prueba que haga clic en la opción "juego" del menú.

Estos casos de prueba probarán que el videojuego cambia correctamente de estado cuando el usuario hace clic en una opción del menú.


¿Qué es probar?

 ¿Porque debo probar el software?

A veces, nos encontramos con productos de software que no funcionan como deberían, ¡y eso es un fastidio! Puede ocasionar problemas como perder dinero, tiempo o incluso afectar la reputación de un negocio, ¡hasta poner en riesgo la seguridad! Por eso, es importante probar el software antes de ponerlo en funcionamiento.

Pero, ¡espera un momento! La prueba de software no es solo ejecutarlo y ver qué pasa. ¡No, no, no! Es un proceso que incluye muchas cosas divertidas. Claro, ejecutar pruebas es una de ellas, pero también hay que planificar, analizar, diseñar e implementar pruebas. Además, hay que informar sobre el progreso y los resultados de las pruebas, ¡y evaluar la calidad del software!

Las pruebas pueden ser dinámicas, es decir, probamos el software mientras está en movimiento, o estáticas, cuando revisamos cosas como requisitos, historias de usuario y código fuente. ¡Ambas son importantes!

No solo se trata de verificar que el software cumpla con los requisitos, también hay que validarlo, asegurarnos de que realmente satisface las necesidades de los usuarios y de todos los involucrados.

En resumen, probar el software es clave para evitar problemas y asegurarnos de que funcione correctamente. ¡Es como revisar un auto antes de conducirlo o verificar que los productos de consumo estén en buen estado! La prueba de software es un proceso emocionante que nos ayuda a garantizar la calidad y reducir los riesgos. ¡A seguir probando!


15 marzo 2024

El camino correcto en la prueba

Casos de uso del sistema

Imagina que estás jugando un videojuego y quieres comprar una espada. El videojuego tiene un caso de uso llamado "Comprar una armadura" que describe cómo el usuario puede comprar una espada.

La técnica de prueba de caso de uso es una forma de asegurarse de que el videojuego implemente correctamente el caso de uso "Comprar armadura".

Primero, leemos el caso de uso para entender los pasos que el usuario debe seguir para comprar una espada. El caso de uso podría ser algo así:

Nombre: Comprar armadura

Actores: Usuario
Sujeto: Sistema de juego

Precondiciones:
  • El usuario debe estar registrado en el sistema.
  • El usuario debe tener suficiente dinero para comprar la armadura.
Pasos:
1. El usuario selecciona la espada que desea comprar.
2. El usuario ingresa la información de pago.
3. El sistema confirma la compra.
4. El sistema entrega la espada al usuario.

Poscondiciones:
  • La espada debe estar en la posesión del usuario.

Luego, creamos casos de prueba para probar cada paso del caso de uso. Por ejemplo, para probar el paso 1, podríamos crear un caso de prueba que seleccione la armadura más cara del juego.

Estos casos de prueba probarán que el videojuego implementa correctamente el caso de uso "Comprar armadura".

01 marzo 2024

Comprobar las acciones correctas del software

Tablas de decisión

Imagina que estás jugando un videojuego y quieres comprar una espada. El videojuego te pide que ingreses tu edad y tu nivel de experiencia. Si tienes más de 18 años y tienes un nivel de experiencia de al menos 5, el videojuego te venderá la espada. Si no cumples con ambos requisitos, el videojuego no te venderá la espada.

La técnica de prueba de tabla de decisión es una forma de asegurarse de que el videojuego cumpla con este requisito.

Primero, creamos una tabla de decisión con las siguientes columnas:
Edad: mayor de 18 años o menor de 18 años
Nivel de experiencia: al menos 5 o menos de 5
Resultado: vender o no vender la espada

Luego, rellenamos la tabla con los valores apropiados:

EdadNivel de experienciaResultado
Mayor de 18 añosAl menos 5Vender espada
Mayor de 18 añosMenos de 5No vender espada
Menor de 18 añosAl menos 5No vender espada
Menor de 18 añosMenos de 5No vender espada

Esta tabla de decisión nos dice que hay 4 combinaciones de condiciones posibles:
  • Edad mayor de 18 años y nivel de experiencia de al menos 5
  • Edad mayor de 18 años y nivel de experiencia de menos de 5
  • Edad menor de 18 años y nivel de experiencia de al menos 5
  • Edad menor de 18 años y nivel de experiencia de menos de 5

Para probar todas las combinaciones de condiciones, necesitamos crear 4 casos de prueba:
  • Un caso de prueba que ingrese una edad mayor de 18 años y un nivel de experiencia de al menos 5.
  • Un caso de prueba que ingrese una edad mayor de 18 años y un nivel de experiencia de menos de 5.
  • Un caso de prueba que ingrese una edad menor de 18 años y un nivel de experiencia de al menos 5.
  • Un caso de prueba que ingrese una edad menor de 18 años y un nivel de experiencia de menos de 5.

Estos casos de prueba probarán que el videojuego cumple con el requisito de vender la espada solo si el usuario cumple con ambos requisitos.


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...