25 agosto 2023

¿Qué es la trazabilidad?

Traza... ¿qué?

¡Hablemos de algo importante: la trazabilidad en las pruebas! Ya sabes que hay muchos nombres para los productos de trabajo en las pruebas, ¡pero no importa! Lo que realmente importa es establecer una buena trazabilidad entre cada elemento que estamos probando y los diferentes productos de trabajo asociados a ellos.

¿Y para qué sirve esta trazabilidad? 

Pues, aparte de evaluar la cobertura de las pruebas, nos ayuda en varias cosas importantes:
  • Analizar el impacto de los cambios. Así sabemos cómo afectan a nuestras pruebas.
  • Hacer que las pruebas sean audibles. Sí, como cuando escuchas una canción una y otra vez.
  • Cumplir con los criterios de gobernanza de TI. ¡Qué elegante suena eso!
  • Entender mejor los informes de progreso de las pruebas y los resúmenes de prueba. Queremos saber el estado de cada elemento, ¿no?
  • Relacionar lo técnico de las pruebas con las personas de manera comprensible. ¡Nada de hablar en código!
  • Obtener información para evaluar la calidad de los productos y el avance de los proyectos. Queremos saber si todo va bien.
Por suerte, existen herramientas de gestión de pruebas que nos ayudan con esto. Algunas tienen modelos de productos de trabajo que coinciden con los que hemos mencionado. Y si eso no funciona, algunas organizaciones crean sus propios sistemas de gestión para tener todo organizado y poder rastrear la información que necesitan.

¡Así que no olvides la trazabilidad en tus pruebas! Es la clave para tener todo bajo control y obtener resultados geniales. 


18 agosto 2023

Productos de trabajo

Si no esta escrito, no existe.

¡Manos a la obra! Cuando realizamos pruebas, creamos diferentes cosas llamadas productos de trabajo. Cada organización puede hacerlo a su manera y darles nombres diferentes, pero en general, seguimos un proceso y utilizamos herramientas para gestionarlos.

Vamos por partes. Al planificar las pruebas, creamos planes de prueba que nos dicen cómo hacerlas. Estos planes incluyen información sobre qué se va a probar y cómo se relaciona con otras cosas. También establecen criterios para saber cuándo hemos terminado.

Después, viene la monitorización y el control de las pruebas. Aquí hacemos informes sobre cómo van las pruebas, cómo avanzamos y si hemos encontrado problemas. Estos informes son importantes para la gestión del proyecto, ya que nos ayudan a saber si estamos cumpliendo con nuestras tareas y utilizando los recursos adecuadamente.

Luego tenemos el análisis de las pruebas, donde definimos las condiciones que vamos a probar y las priorizamos. También buscamos defectos en lo que estamos probando. Con esta información, pasamos al diseño de las pruebas. Aquí creamos casos de prueba y conjuntos de casos para probar esas condiciones. Es buena práctica diseñar casos de prueba sin valores concretos, para poder reutilizarlos más adelante.

Después viene la implementación de las pruebas, donde llevamos a cabo los procedimientos de prueba, utilizamos juegos de prueba y seguimos un calendario para ejecutar las pruebas. Es importante asegurarnos de que estamos cubriendo todas las condiciones y que podemos demostrarlo.

Llegamos a la ejecución de las pruebas. Aquí documentamos el estado de cada caso de prueba y generamos informes de defectos. También mantenemos un registro de los elementos y herramientas involucrados en las pruebas. Al finalizar, podemos determinar el estado de cada elemento que hemos probado y comunicar los resultados de manera clara.

Por último, cuando terminamos todas las pruebas, generamos informes de resumen y tomamos acciones para mejorar en futuros proyectos. También podemos hacer solicitudes de cambio si encontramos algo que necesita ser corregido.

¡Y eso es todo! En resumen, al hacer pruebas creamos diferentes productos de trabajo, desde planes y informes hasta casos de prueba y documentación. Cada paso es importante para asegurarnos de que las pruebas se realicen correctamente y obtengamos resultados confiables.


11 agosto 2023

¿Un proceso de pruebas?

Sugerencias para realizar un buen proceso de pruebas


Echando un vistazo a las actividades y tareas de prueba, básicamente se trata de un plan paso a paso para asegurarnos de que el software funciona de maravilla. ¡Aquí tienes un resumen "guay" de lo que se hace en cada etapa!

Planificación de la prueba:
Establecer los objetivos de la prueba. ¿Qué queremos comprobar?
  • Hacer una lista de todo lo que necesitamos para hacer la prueba (personas, herramientas, espacio de prueba, etc.).
  • Armar un calendario para organizar todas las tareas.
  • Pensar en los problemas que podrían surgir y tener un plan para resolverlos.
  • Decidir qué es lo que necesitamos para empezar y cuándo sabremos que hemos terminado.

Control y seguimiento de la prueba:
  • Mantener un ojo en cómo van las cosas durante la prueba.
  • Contarle a todos cómo está yendo y qué hemos descubierto.
  • Hacer ajustes en el plan si es necesario.
  • Solucionar cualquier problema o peligro que encontremos.
  • Verificar si la prueba está funcionando bien y si estamos obteniendo buenos resultados.
Análisis de la prueba:
  • Leer la documentación y entender qué es lo que vamos a probar.
  • Crear una lista de cosas que queremos probar.
  • Pensar en qué datos necesitamos para hacer las pruebas.
  • Mirar el código o los diseños para encontrar problemas antes de comenzar.
Diseño de la prueba:
  • Planificar las pruebas paso a paso.
  • Pensar en qué datos necesitaremos para cada prueba.
  • Decidir cómo vamos a hacer las pruebas y qué cosas vamos a comprobar.
  • Asegurarnos de que vamos a cubrir todos los aspectos importantes.
Implementación de la prueba:
  • Preparar todo lo necesario para empezar las pruebas.
  • Escribir programas automáticos si es necesario.
  • Reunir los datos necesarios para hacer las pruebas.
  • Configurar las herramientas y programas para hacer las pruebas.
Ejecución de la prueba:
  • Poner en marcha las pruebas según lo planeado.
  • Escribir los resultados y anotar los errores que encontramos.
  • Repetir pruebas anteriores si es necesario.
  • Ver cómo funcionan las pruebas y si obtienen buenos resultados.
Finalización de la prueba:
  • Mirar los resultados y ver si cumplen con lo que esperábamos.
  • Hacer un informe de todo lo que hemos hecho.
  • Revisar y cerrar el proceso de prueba.
  • Contarle a todos lo que hemos encontrado y qué hacer al respecto.
  • Actualizar todo lo que hemos aprendido para futuros proyectos.
Recuerda que estos pasos son generales y pueden variar según la situación y lo que estemos probando. ¡Espero que esto te haya dado una idea más clara de cómo se lleva a cabo la prueba de software!


04 agosto 2023

Valores de las pruebas de software

Principios de las pruebas

1.- ¡La prueba no demuestra que algo está perfecto!
Cuando se hace una prueba, podemos encontrar defectos, pero eso no significa que no haya más. La prueba nos ayuda a reducir la posibilidad de que queden defectos sin descubrir en el software, ¡pero no es una forma de demostrar que todo está perfecto!

2.- ¡No se puede probar absolutamente todo!
Probar absolutamente todo, como todas las combinaciones de entradas, es imposible, ¡a menos que sea algo muy simple! En lugar de intentarlo, es mejor usar técnicas de prueba, análisis de riesgos y establecer prioridades para enfocar nuestros esfuerzos de prueba.

3.- ¡Prueba temprano para ahorrar tiempo y dinero!
Es mejor comenzar las pruebas lo más temprano posible en el proceso de desarrollo de software. Así podemos detectar los defectos rápidamente. Incluso se le llama "desplazamiento hacia la izquierda". Haciendo pruebas temprano en el proceso, podemos reducir o incluso evitar cambios costosos más adelante.

4.- Los defectos suelen agruparse
La mayoría de los defectos se encuentran en unos pocos módulos. Durante las pruebas antes del lanzamiento o cuando el software está en uso, solemos descubrir que los defectos se agrupan en ciertos lugares. Esto es útil para centrar nuestros esfuerzos de prueba y analizar los riesgos.

5.- ¡Cuidado con la paradoja del pesticida!
Si hacemos las mismas pruebas una y otra vez, eventualmente no encontraremos nuevos defectos. Para descubrir nuevos defectos, a veces necesitamos cambiar las pruebas existentes y los datos de prueba, e incluso crear nuevas pruebas. ¡Es como cuando los pesticidas dejan de ser efectivos contra los insectos! En algunas ocasiones, especialmente en las pruebas de regresión automatizadas, esto puede ser útil porque encontramos menos defectos que se repiten.

6.- La prueba depende del contexto
La forma en que hacemos las pruebas varía según el contexto. Por ejemplo, las pruebas de software crítico para la seguridad industrial se realizan de manera diferente a las pruebas de una aplicación de comercio electrónico en un teléfono móvil. ¡Incluso en proyectos de desarrollo de software ágil y en proyectos con un enfoque secuencial, las pruebas se realizan de manera diferente!

7.- ¡No podemos esperar la perfección!
Algunas organizaciones esperan que los probadores puedan hacer todas las pruebas posibles y encontrar todos los defectos, ¡pero eso es imposible! Además, es un error pensar que solo encontrando y corrigiendo muchos defectos, el sistema será exitoso. Por ejemplo, si probamos todos los requisitos y corregimos todos los defectos, podríamos terminar con un sistema difícil de usar, que no cumple las necesidades de los usuarios o que es peor que otros sistemas de la competencia.


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