Objetivos Generales de las pruebas de Software
-
Evaluar los productos de trabajo
-
Los productos de trabajo que se generan en cada tarea significativa del ciclo de vida de Desarrollo de sistemas. Veamos algunos ejemplos:
- Grabación de una reunión
- Un Informe de riesgos
- Documento de requerimientos
- Reporte de progresos
- Diagrama de Diseños
- Código Fuente
- Sistema terminado
-
Se debe revisar todos estos productos desde las etapas tempranas del ciclo de vida de desarrollo, de esta forma evitar que posibles errores avancen a etapas donde sea más difícil o sea más costoso repararlos (Contención de Fases).
-
-
Verificar que todos los requerimientos especificados han sido satisfechos, incluso los del ámbito legal.
-
Validar si el objeto de prueba está completo y funciona como los usuarios y otros implicados esperan.
- Validar implica asegurar que se entregó lo que el usuario solicitó. Preguntas como: ¿Todas las especificaciones han sido satisfechas y resuelven el problema que origino la solicitud?
-
Generar confianza en el nivel de calidad del objeto de prueba
- Cuando se hace una correcta verificación y validación del producto de trabajo en cuestión, podemos generar confianza en el nivel de calidad del objeto de prueba.
- Es fundamental crear confianza en la eficiencia de la aplicación para que tenga éxito.
-
Prevenir defectos
- Al encontrar y corregir defectos durante las pruebas disminuye el riesgo de fallas cuando el software este operativo.
- Un defecto Introducido en el código es la consecuencia de un error, un defecto puede generar otro, entonces al corregir el primero podemos prevenir el segundo.
-
Encontrar fallas y defectos
- Al probar un software, se pueden encontrar fallas y defectos. Si el código es ejecutado podría generar una falla.
- Debemos comprender las diferencias entre Error, Defecto y Fallo.
- No siempre un Defecto va a generar una falla.
-
Proporcionar suficiente información a los implicados para que puedan tomar decisiones informadas, especialmente en relación con el nivel de calidad del objeto de prueba.
- Si hay muchas fallas presentes, se puede retrasar la salida a producción de un producto.
- En caso de faltar un cierto grupo de pruebas por ejecutar, se puede evaluar el riesgo que involucran esas secciones y decidir si es viable asumir el riesgo de omitir ese conjunto de pruebas.
-
Reducir el nivel de riesgo de calidad inadecuada del software (por ejemplo, fallos que se producen durante la operación que no han sido detectados anteriormente).
- Cuando se toman decisiones informadas, se valida y verifica el software, y se evalúan los productos de trabajo encontrando tantos defectos y fallas como sea posible durante el proceso de pruebas, se reduce el nivel de riesgo de software de baja calidad.
-
Cumplir con requisitos o normas contractuales, legales o reglamentarias, y/o verificar el cumplimiento de dichos requisitos o normas por parte del objeto de prueba.
Fuente: ISTQB Foundation Level 2018 - 1.1.1 Objetivos Característicos de la Prueba
Los objetivos de la prueba pueden variar, dependiendo del contexto del componente o sistema que se está probando, el nivel de prueba y el modelo de ciclo de vida de desarrollo de software. Estas diferencias pueden incluir, por ejemplo:
- Durante la prueba de componente, uno de los objetivos puede ser encontrar tantos fallos como sea posible para que los defectos subyacentes se identifiquen y se solucionen de forma temprana. Otro objetivo puede ser aumentar la cobertura de código de las pruebas de componente.
- Durante la prueba de aceptación, uno de los objetivos puede ser confirmar que el sistema funciona como se espera y cumple con los requisitos. Otro objetivo de este proceso de prueba puede ser informar a los implicados sobre el riesgo de liberar3 el sistema en un momento dado.
Pruebas vs Depuración
La prueba y la depuración son diferentes. La ejecución de pruebas puede mostrar fallos causados por
defectos en el software. La depuración es la actividad de desarrollo que encuentra, analiza y corrige dichos
defectos. Fuente: ISTQB CTFL 2018 - 1.1.2 Prueba y Depuración
-
Probar es el proceso que se sigue para verificar que el software funciona como se espera.
-
La Depuración o Debugging es el proceso de desarrollo que identifica el origen de la falla en el software y la repara.
- Se verifica que diho defecto haya sido reparado Prueba de Confirmación.
- Se verifica que la reparacion no haya ocasionado otro defecto Prueba de Regresión.
