Las pruebas de software tienen los siguientes objetivos:

·        Descubrir un error

·        Mostrar un error no descubierto hasta ese momento

·        Descubrir un error no detectado hasta ese momento

Las pruebas tienen los siguientes principios:

 

  • Las pruebas deben tener un seguimiento hasta los requisitos del cliente.
  • Las pruebas deben planificarse antes de que empiecen.
  • Es aplicable el principio de Pareto a la prueba del software.
  • No es posible las pruebas exhaustivas
  • Las pruebas deben ser realizadas por un equipo independiente


Característica

Observación

Operatividad

Cuánto mejor funcione, más eficientemente se puede probar

  • El sistema tiene pocos errores
  • Ningún error bloquea la ejecución de las pruebas
  • El producto evoluciona en fases funcionales

Observabilidad

Lo que se ve es lo que se prueba

  • Se genera una salida distinta para cada entrada
  • Todos los factores que afectan a los resultados están visibles
  • Un resultado incorrecto se identifica fácilmente
  • Los errores internos se detectan automáticamente
  • Se informa automáticamente de los errores internos
  • El código fuente es accesible.

Controlabilidad

Cuánto mejor se pueda controlar el software, más se puede automatizar y optimizar

  • Todo el código es ejecutable a través de alguna combinación de entrada
  • El ingeniero de pruebas puede controlar los estados y las variables del hardware y software
  • Los formatos de las entradas y los resultados son consistentes y estructurados

Capacidad de descomposición

Controlando el ámbito de las pruebas, podemos aislar más rápidamente los problemas y llevar a cabo pruebas de regresión

  • El software esta construido con módulos independientes
  • Los módulos de software se pueden probar independientemente.

Simplicidad

Cuánto menos haya que probar, más rápidamente se puede probar

  • Simplicidad funcional
  • Simplicidad estructural
  • Simplicidad del código

 

Característica

Observación

Estabilidad

Cuanto menos cambios, menos interrupciones a las pruebas

  • Los cambios del software son infrecuentes
  • Los cambios del software están controlados
  • Los cambios del software no invalidan las pruebas existentes
  • El software se recupera bien de los fallos

Facilidad de comprensión

Cuanta más información se tenga, más inteligentes eran las pruebas

  • El diseño se ha entendido perfectamente
  • Las dependencias entre los componentes internos, externos y compartidos se han entendido perfectamente
  • Se han comunicado los cambios del diseño
  • La documentación técnica es accesible