skip to content
A cartoon cactus looking at the 'Astro.build' logo

Fundamentos del proceso de Pruebas

/ 4 min read

¿Que es probar?

Los sistemas software son una parte integral de la vida, desde las aplicaciones de negocio (por ejemplo, la banca) hasta los productos de consumo (por ejemplo, los automóviles). La mayoría de las personas ha tenido una experiencia con algún producto software que no funcionó como se esperaba. Un producto software que no funciona correctamente puede causar muchos problemas, incluyendo pérdida de dinero, tiempo o reputación en el ámbito del negocio, e incluso lesiones o muerte. Probar el software es una forma de evaluar la calidad del software y de reducir el riesgo de fallos en un entorno de operaciones o en producción. Fuente: ISTQB CTFL 2018 - 1.1 ¿Qué es Probar?**

Probar software es una manera de Asegurar la calidad del producto y Reducir el riesgo de fallas cuando este operando y con esto aumentar la confianza del cliente en el producto, y por consiguiente en la marca.

Errores comunes

  1. Solo consiste en ejecutar el software y comprobar resultados esto es un error común. Ejecutar pruebas de software incluye muchas y diferentes actividades. La revisión de resultados es solo una de estas actividades.

    • Las pruebas de software pueden dividirse en 2 tipos. Una parte implica ejecutar el Software para revisar resultados (Pruebas Dinámicas). Por otro lado la revisión de documentos de requerimientos o del código fuente (Pruebas Estáticas)
  2. Las pruebas solo se enfocan en Verificar que el software cumpla con los requerimientos de usuarios, historias de usuario u otras especificaciones dadas.

    • Lo cierto es que no solo es verificar sino también consiste en Validar si las especificaciones cumplen las expectativas del usuario.

    Los criterios de aprobación son reglas que utilizamos para determinar si una prueba ha sido exitosa o no.

Verificación VS Validación

  • La Verificación consiste en asegurarse que el requerimiento, lo que está escrito en la documentación se cumpla al pie de la letra. Se debe responder preguntas como:

    • ¿Construimos bien el software?
    • ¿Fue construido de acuerdo a los requerimientos (especificaciones)?
  • La Validación garantiza que lo solicitado por el usuario sea cumplido, y de esta manera pueda ser utilizado según lo esperado. Se debe responder preguntas como:

    • ¿Es esto lo que solicitó el usuario?
    • ¿El software resolvió el problema?
    • ¿Satisface las necesidades del usuario?

Proceso de Pruebas

La prueba es un proceso en lugar de una sola actividad, hay una serie de actividades involucradas que tiene lugar durante todo el ciclo de vida de desarrollo de software.

Cuanto más tarde en el ciclo de vida encontramos errores, más costosos son para solucionarlos. Si podemos encontrar y corregir defectos en la etapa de requisitos construiremos el software correcto, con las técnicas correctas y a un costo general más bajo.

Por lo tanto, el proceso de análisis y diseño de las pruebas al inicio del ciclo de vida puede ayudar a evitar que se introduzcan defectos en el código.

Por lo tanto:

  • Envuelve todo el ciclo de vida

  • Comprende técnicas de prueba (Estático y Dinámico)

  • Planificación:

    • Las Actividades de Planificación tiene lugar antes y después de la ejecución de pruebas.
    • Se deben gestionar las pruebas, planear lo que se quiere hacer, controlar las actividades de prueba, informar sobre el progreso y el estado del software bajo prueba y finalizar la prueba cuando se completa una fase.
  • Preparación

    • Se deben elegir qué pruebas hacer, seleccionar las condiciones de prueba y diseñar casos de prueba.
  • Evaluación

    • Además de ejecutar la prueba, se debe verificar el resultado, evaluar el software bajo prueba y los criterios de finalización. Lo que ayuda a decidir si se han terminado las pruebas y si el producto de software las ha aprobado.
  • Productos de Software y de trabajo

    • No solo se prueba el código, se ponen a prueban los requisitos, las especificaciones de diseño y los documentos relacionados.

Objetivos

  1. Los productos satisfacen los requisitos
    • Determinar que los productos de software satisfacen los requisitos especificados Verificación
  2. Los productos son adecuados
    • Demostrar que los productos de software son adecuados para su propósito Validación
  3. Detectar defectos Solemos pensar en las pruebas como un medio para detectar errores o defectos que en el uso operativo causara fallas.
  4. Comprender los riesgos
    • Encontrar defectos nos ayudan a comprender los riesgos asociados con el uso operativo del software y corregir los defectos mejora la calidad de los productos.
  5. Analizar la causa raíz
    • Cuando se detecta una falla, debemos rastrearla para determinar la razón por la cual ocurrió. Los defectos deben ser analizados para identificar la raíz de su origen, y así reducir la posibilidad de que se repita en el futuro.
    • Nos ayuda a mejorar los procesos de desarrollo y cometer menos errores en el futuro