Las Pruebas del Software son una parte básica del ciclo de vida del desarrollo del software pero me atrevo a decir que a la vez es una de las partes más desconocidas.
Sólo se trata de probar, ¿no?
Pues No. Las pruebas del software son mucho más y hay 7 mandamientos que tienes que conocer para realizar unas pruebas satisfactorias.
1. Las Pruebas sólo confirman la existencia de los errores que detectan
Cuando realizas una batería de pruebas y detectas una serie de errores, nadie te asegura que no existan más errores que la prueba no detecta, sólo sabes que los errores detectados existen.
2. Es imposible probar todos los casos posibles
El número de casos posibles a probar en el Testing de un software puede ser un número muy elevado, probablemente pueda ser infinito, por lo que debes asumir que no se pueden probar todos los casos.
Además, cualquier corrección que apliques al software para solventar incidencias detectadas, añadirá variables nuevas y éstas harán que el número de casos a probar vuelvan a aumentar.
3. La Paradoja del Pesticida: La eficacia en la detección de errores de las mismas pruebas disminuye con el paso del tiempo.
La automatización de la ejecución de los test pierde su valor con el tiempo ya que los errores que detecta no aparecerán pero no nos alertará sobre otros que se hayan introducido y para los cuales no había sido diseñado.
4. El Software se puede probar sin estar terminado
No debemos olvidar que hay una forma de prueba temprana del software. Recordemos los dos tipos de pruebas que se pueden efectuar:
- Forma dinámica. Ejecutando el software y realizando los casos y ciclos definidos.
- Forma estática. Revisiones del código para encontrar defectos. Este tipo de revisión puede ser realizada en cualquier fase del ciclo de vida del desarrollo del software no hay que esperar a que esté construido completamente. Como permiten detectar con antelación el coste de su corrección es menor.
5. Los errores se ocultan detrás de otros errores
Los errores suelen ocultarse detrás de otros errores, ya que suelen agruparse cuando aparecen. Esto hace que repetir las pruebas sea una inversión en tiempo importante que debe ser tenida en cuenta en el presupuesto del proyecto.
¿Cómo nos ayudarían en esto las herramientas de prueba estática? Pues como lo hace el corrector ortográfico a la hora de escribir en un procesador de texto, marcando lo que no es del todo correcto y haciéndonos ganar tiempo.
6. Las Pruebas dependen del contexto
Para que las pruebas que se realizan sobre un software sean lo más eficientes y efectivas posibles, deben tener en cuenta el tipo de proyecto y el tipo de producto sobre el cual se realizan.
Por ejemplo, una lista de historias de usuario pueden ser revisadas de forma estática pero no pueden ser testadas de forma dinámica, ya que no tienen código que ejecutar.
7. Un software sin errores es una falacia
Si una batería de pruebas no arroja ningún error, es decir todo ha ido bien, no significa en ningún caso que el software no tenga errores sino que dichas pruebas no lo han detectado.
Te esperamos en los siguientes artículos en donde hablaremos mas acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.