Las pruebas de software (en inglés testing) son las investigaciones empíricas y técnicas cuyo objetivo es proporcionar información objetiva e independiente sobre la calidad del producto.

Estas pruebas son básicamente un conjunto de actividades dentro del desarrollo de software. Pueden ser implementadas en cualquier momento del proceso de desarrollo, dependiendo del tipo de pruebas. Sin embargo, la detección de errores en etapas tempranas reduce el “retrabajo”, por lo que tienen una solución menos costosa para la empresa desarrolladora que si se detectaran estos errores en una fase más avanzada del proyecto o una vez puesto en producción. También conlleva una mejora de imagen de la empresa desarrolladora, pues se reducen los fallos y se mejora la calidad del producto entregado.

En Soltel aplicamos las pruebas de software como una etapa más del proceso de desarrollo, para asegurarnos de que el software cumple con las especificaciones requeridas y eliminar los posibles defectos que éste pudiera tener. Por ejemplo, usamos las historias de usuario en metodología Scrum, con la que es relativamente fácil diseñar un plan de pruebas, realizar pruebas de seguridad, etc. Asimismo, contamos con un equipo de profesionales de consultoría y técnicos especializados en servicios de ingeniería de testing, que entre otras funciones realizan:

– Pruebas funcionales y de rendimiento. (con jMeter)
– Monitorización de sistemas.
– Integración con otros sistemas.
– Mantenimiento de aplicaciones.
– Métricas para medir la calidad del servicio. (con Sónar)
– Automatización de pruebas.
– Elaboración de documentación.

Las pruebas más comunes son las denominadas de cajas blancas y las de cajas negras.

  • Se denomina cajas blancas a un tipo de pruebas de software que se realiza sobre las funciones internas de un módulo.

Entre las técnicas de caja blanca usadas, se encuentran:

  • La cobertura de caminos, pruebas que hagan que se recorran todos los posibles caminos de ejecución.
  • Pruebas sobre las expresiones lógico-aritméticas.
  • Pruebas de camino de datos, definición-uso de variables.
  • Comprobación de bucles, se verifican los bucles para 0,1 e interacciones, y luego para las interacciones máximas, menos uno y más uno.

En los sistemas orientados a objetos, las pruebas de caja blanca pueden aplicarse a los métodos de la clase, pero según varias opiniones, ese esfuerzo debería dedicarse a otro tipo de pruebas más especializadas (un argumento podría ser que los métodos de una clase suelen ser menos complejos que los de una función de programación estructurada).
Las pruebas de caja blanca se llevan a cabo en primer lugar, sobre un módulo concreto, para luego realizar las de caja negra sobre varios subsistemas (integración).

  • En las pruebas de cajas negras, se estudian los elementos desde el punto de vista de las entradas que recibe y las salidas o respuestas que produce, es decir, ejercitan los requisitos funcionales desde el exterior del módulo.

En conclusión, con estas pruebas es posible medir con mayor precisión el comportamiento de la aplicación desarrollada e ir solucionando los errores que pudieran aparecer antes de continuar con el proceso de desarrollo.