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

Siete Principios de las Pruebas

/ 4 min read

Siete Principios de las Pruebas

1. La prueba muestra la presencia de defectos, no su ausencia

La prueba puede mostrar la presencia de defectos, pero no puede probar que no hay defectos. La prueba reduce la probabilidad de que queden defectos no descubiertos en el software pero, incluso si no se encuentran defectos, el proceso de prueba no es una demostración de la corrección.

2. La prueba exhaustiva es imposible

No es posible probar todo (todas las combinaciones de entradas y precondiciones) excepto en casos triviales. En lugar de intentar realizar pruebas exhaustivas se deberían utilizar el análisis de riesgos, las técnicas de prueba y las prioridades para centrar los esfuerzos de prueba.

3. La prueba temprana ahorra tiempo y dinero

Para detectar defectos de forma temprana, las actividades de prueba tanto estáticas como dinámicas deben iniciarse lo antes posible en el ciclo de vida de desarrollo de software. La prueba temprana a veces se denomina desplazamiento hacia la izquierda. La prueba temprana en el ciclo de vida de desarrollo de software ayuda a reducir o eliminar cambios costosos

4. Los defectos se agrupan

En general, un pequeño número de módulos contiene la mayoría de los defectos descubiertos durante la prueba previa al lanzamiento, o es responsable de la mayoría de los fallos operativos. Las agrupaciones de defectos previstas y las agrupaciones de defectos reales observadas en la prueba o producción son una aportación importante a un análisis de riesgos utilizado para centrar el esfuerzo de la prueba.

La Ley de Pareto nos dice que el 80% de las consecuencias se genera a partir del 20% de las causas

5. Cuidado con la paradoja del pesticida

Si las mismas pruebas se repiten una y otra vez, eventualmente estas pruebas ya no encontrarán ningún defecto nuevo. Para detectar nuevos defectos, es posible que sea necesario cambiar las pruebas y los datos de prueba existentes, y es posible que sea necesario redactar nuevas pruebas. (Las pruebas ya no son efectivas para detectar defectos, de la misma manera que los pesticidas ya no son efectivos para matar insectos después de un tiempo). En algunos casos, como la prueba de regresión automatizada, la paradoja del pesticida tiene un resultado beneficioso, que es el número relativamente bajo de defectos de regresión.

6. La prueba depende del contexto

La prueba se realiza de manera diferente en diferentes contextos. Por ejemplo, el software de control industrial de seguridad crítica se prueba de forma diferente a una aplicación móvil de comercio electrónico. Como ejemplo adicional, la prueba en un proyecto Ágil se realiza de manera diferente a la prueba en un proyecto que se desarrolla según un ciclo de vida secuencial

7. La ausencia de errores es una falacia

Algunas organizaciones esperan que los probadores puedan realizar todas las pruebas posibles y encontrar todos los defectos posibles, pero los principios 1 y 2, respectivamente, nos dicen que esto es imposible. Además, es una falacia (es decir, una creencia equivocada) esperar que sólo con encontrar y corregir un gran número de defectos se asegure el éxito de un sistema. Por ejemplo, la realización de pruebas exhaustivas de todos los requisitos especificados y la reparación de todos los defectos encontrados podrían dar lugar a un sistema difícil de utilizar, que no satisface las necesidades y expectativas de los usuarios o que es peor en comparación con otros sistemas de la competencia.

Fuente: ISTQB CTFL 2018 - 1.3 Siete Principios de la Prueba

El enfoque principal de las revisiones y otras pruebas estáticas es llevar a cabo las pruebas lo antes posible,
encontrar y corregir defectos de manera más económica y evitar que aparezcan defectos posteriores de este proyecto.
Estas actividades nos ayudan a descubrir e identificar antes, grupos potenciales de defectos. 

Las pruebas se deben enfocar en los riesgos y su impacto en el proyecto.

La creencia de que el software debe ser liberado sin errores y con absoluta correctitud es algo imposible de lograr. 
Sin embargo se puede reducir el riesgo de falla en ambientes operativos haciendo pruebas con estándares altos de calidad. 

Es así como siguiendo los siete principios de las pruebas podemos resumirlo de la siguiente manera:

  1. Las pruebas demuestran que hay errores, no su ausencia.
  2. Es imposible probarlo todo.
  3. Probar desde el inicio del ciclo ahorra tiempo, esfuerzo y dinero.
  4. Los defectos se agrupan.
  5. Los casos de prueba deben actualizarse para encontrar nuevos defectos.
  6. Las pruebas dependen del sistema que se esté probando.
  7. Es Imposible que no hayan errores.
Uno de los principios de las pruebas es que los Tester no podemos garantizar que el sistema salga a producción sin ningún defecto.