Niveles de pruebas de software

Las pruebas de software pueden realizarse en distintos niveles del proceso de desarrollo de software. Llevar a cabo actividades de comprobación a varios niveles ayuda a identificar los defectos en una fase temprana y a mejorar la calidad del producto de software. En este texto hablaremos de distintos niveles de pruebas, a saber, pruebas unitarias, pruebas de integración, pruebas del sistema y pruebas de aceptación.
En esta sección describimos brevemente cada nivel de comprobación y en las secciones siguientes explicamos cada nivel por separado, dando un ejemplo y una explicación detallada.
Índice
Pruebas unitarias
- Las pruebas unitarias son el primer nivel de pruebas que suelen realizar los desarrolladores.
- En las pruebas, el módulo o componente se prueba de forma aislada.
- Como las pruebas se limitan a un módulo o componente concreto, es posible realizar pruebas exhaustivas.
- Ventaja: el fallo puede detectarse en una fase temprana, ahorrando tiempo y dinero en su eliminación.
- Limitación – Los problemas de integración no se revelan en esta fase, los módulos pueden funcionar perfectamente de forma aislada, pero pueden tener problemas de interconexión entre módulos.
Pruebas de integración
Las pruebas de integración son el segundo nivel de pruebas, en el que probamos un grupo de módulos relacionados.
Su objetivo es encontrar problemas de interconexión entre módulos, es decir. j. si las unidades individuales pueden integrarse adecuadamente en el subsistema. Hay cuatro tipos: Big-bang, top-down, bottom-up y pruebas híbridas.
- Cuando se integra con la prueba big-bang, primero se necesitan todos los módulos y luego se integran. Tras la integración, se realizan pruebas de la unidad integrada en su conjunto.
- En las pruebas de integración descendentes , el flujo de pruebas parte de los módulos de nivel superior que están más arriba en la jerarquía hacia los módulos de nivel inferior, ya que existe la posibilidad de que los módulos de nivel inferior no estén desarrollados. Por eso, en estos casos, se utilizan plugins (stubs), que no son más que módulos ficticios o funciones que simulan el funcionamiento del módulo aceptando los parámetros que éste recibe y proporcionando un resultado aceptable.
- Las pruebas de integración ascendentes también se basan en un enfoque incremental, pero empiezan por los módulos de nivel inferior y van ascendiendo hasta llegar a los módulos de nivel superior. Una vez más, los módulos de nivel superior pueden no estar desarrollados en el momento en que se prueban los módulos de nivel inferior. Por eso se utilizan conductores en estos casos. Estos controladores simulan la funcionalidad de módulos de nivel superior para probar módulos de nivel inferior.
- Las pruebas de integración híbridas también se denominan enfoque de integración sándwich. Este enfoque es una combinación de pruebas de integración descendentes y ascendentes. En este caso, la integración parte de la capa intermedia y las pruebas se realizan en ambas direcciones, utilizando tanto stubs como drivers si es necesario.
Pruebas del sistema
- La comprobación del sistema es el tercer nivel de comprobación.
- Este es el nivel de prueba en el que se prueba la aplicación integrada completa en su conjunto.
- Su finalidad es determinar si la aplicación cumple los requisitos de la empresa.
- Las pruebas del sistema se realizan en un entorno muy similar al de producción.
Pruebas de aceptación
- Las pruebas de aceptación son el último y uno de los niveles más importantes de las pruebas, tras cuya superación se lanza la aplicación a producción.
- Su objetivo es garantizar que el producto cumple los requisitos empresariales especificados dentro de una norma de calidad definida.
- Hay dos tipos de pruebas de aceptación: las pruebas alfa y las pruebas beta.
- Si las pruebas de aceptación las realizan los probadores u otros empleados internos de la organización en el desarrollador, se denominan pruebas alfa.
- Las pruebas de aceptación del usuario realizadas por los usuarios finales en su lugar de trabajo se denominan pruebas beta.