El proceso de validación del software requiere evaluar tanto el cumplimiento de los requerimientos funcionales (lo que el usuario espera que haga el sistema) como los aspectos técnicos que aseguran que el producto es robusto, eficiente y seguro. Según lo definido en el Material RAP – 2 (Diseño de Pruebas de Software, pág. 5), se destacan dos grandes categorías:
Pruebas Funcionales
Objetivo:
Validar que el software cumpla con los requerimientos definidos desde la perspectiva del usuario y que sus funcionalidades operen de manera correcta y coherente.
Aspectos Evaluados:
- Interfaz de Usuario:
Se examina la presentación visual y la interacción, asegurándose de que los elementos gráficos y de navegación respondan adecuadamente a las acciones del usuario.
- Procesos de Entrada/Salida:
Se verifica que los datos ingresados a través de formularios u otros mecanismos sean procesados correctamente y que las salidas (resultados, mensajes, informes) sean coherentes con lo esperado.
- Operatividad Global:
Se evalúa el comportamiento del sistema en su conjunto, comprobando que cada módulo funcione de manera independiente y en integración con el resto del software.
Comentarios Adicionales:
Estas pruebas simulan escenarios reales, permitiendo utilizar tanto datos válidos como inválidos para explorar cómo responde el sistema ante diferentes situaciones.
Pruebas No Funcionales
Objetivo:
Evaluar los atributos técnicos y de calidad “no funcional” que, aunque no se perciben directamente desde la interfaz, son fundamentales para el rendimiento y la estabilidad del software.
Aspectos Evaluados:
- Rendimiento:
Se analizan parámetros como el tiempo de respuesta, la capacidad de procesamiento y la eficiencia en el uso de recursos (CPU, memoria, ancho de banda).
- Seguridad:
Revisión de mecanismos internos que protegen el software y los datos contra accesos no autorizados, ataques o pérdidas de información.
- Confiabilidad:
Se verifica la capacidad del sistema para funcionar de manera consistente y estable durante períodos prolongados, evaluando su manejo de errores y fallos.
- Instalación y Configuración:
Se comprueba que la instalación del software y la configuración requerida sean sencillas, claras y que no generen problemas durante la puesta en marcha.
Ejemplos Prácticos:
Se llevan a cabo pruebas de estrés, rendimiento y carga para determinar cómo responde el sistema bajo condiciones de alta demanda. Esto incluye:
- Análisis de los tiempos de procesamiento en diferentes escenarios.
- Evaluación de la concurrencia: cuántos usuarios pueden interactuar simultáneamente sin degradar la experiencia.
- Simulación de aumentos bruscos en la carga para medir la capacidad de respuesta y recuperación.