Fundamentos de Pruebas de Software
A lo largo del ciclo de vida del software se realizan distintas pruebas para garantizar que este
cumpla con los requerimientos para los que fue diseñado y de la misma forma se encuentren
procesos de mejora y optimización a medida que se desarrolla el software.
Es necesario hacer pruebas en todas las fases del desarrollo de software ya que un error
encontrado en una etapa tardía puede generar costos muy elevados.
Errores detectados lo antes posible reducen los costos y son mucho más fáciles de corregir.
El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los
desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en
los costos asociados.
El ciclo de vida básico de un software consta de los siguientes procedimientos:
[Link]
Definición de objetivos
En esta fase se define el alcance general del software y su papel dentro de una estrategia global
o dentro del ecosistema que va a funcionar.
Análisis de los requisitos y su viabilidad
Se trata de recopilar la mayor cantidad de información posible para evaluar la viabilidad del
producto, encontrar posibles restricciones y analizar todos los requisitos del cliente.
Diseño
Alto nivel: Se trata de realizar un diseño básico que valide la arquitectura de la aplicación.
Bajo nivel: Es una definición detallada de la estructura de la aplicación basada en el diseño
general.
Programación
Es la implementación de un lenguaje de programación para crear las funciones definidas
durante la etapa de diseño.
Pruebas de verificación
Aunque en todas las fases anteriores se hacen pruebas en esta fase se cubren: pruebas de
componentes, integrales y de sistema.
Prueba beta (o validación)
Se hace para garantizar que el software cumple con las especificaciones originales o también
se hacen las pruebas de aceptación.
Implementación
Se realiza una prueba del sistema implementado para encontrar posibles fallas en la
Implementación.
Mantenimiento
Se hace para todos los procedimientos correctivos (mantenimiento correctivo) y a las
actualizaciones secundarias del software (mantenimiento continuo), junto con la actualización
de las pruebas.
Si hacemos las pruebas durante cada fase del ciclo de vida del software tendremos al final del
ciclo un producto validado y robusto de acuerdo a las necesidades del cliente