Niveles de pruebas de software
Las pruebas
de software cuentan con cuatro niveles, los cuales tienden a ser confundidos
con los tipos de pruebas de software, pero, si bien estas están estrechamente
relacionadas, tienen alcances distintos, las pruebas de software pueden ser
aplicadas en cualquier fase del ciclo de vida de desarrollo de software,
mientras que los niveles de prueba nos permiten identificar los tipos de
pruebas que podemos aplicar en dichas fases. Para comprender mejor esto les
hablaré brevemente sobre los niveles de pruebas de software.
Como les
mencione anteriormente existen cuatro niveles de pruebas de software estos son:
1-Nivel de componentes o pruebas unitaria (Unit
Testing): Como su
nombre lo indica se busca verificar que los módulos del sistema cumplen con su
cometido, es decir, si una unidad funcional del código cumple con su objetivo
independientemente de las otras unidades. Normalmente, está a cargo de los
desarrolladores, pero, en ocasiones, los probadores también se involucrarán en
este nivel.
Los objetivos de este nivel son:
-Detectar defectos y fallas en los objetos de prueba.
-Reducir el riesgo de falla al momento de la integración del sistema
-Prevenir defectos en niveles más altos, recordemos, mientras más lejos
llegamos con un defecto más costoso será repararlo.
Pero ¿Qué son los objetos de prueba? No son más que los
elementos que serán probados en las distintas fases de pruebas.
En el nivel de componentes estos son:
-El código del sistema
-La estructura de la base de datos
-Las clases declaradas.
Las pruebas de software se desarrollan de acuerdo con lo establecido en las
bases de prueba, estas son cualquier documento o elemento que contenga
información con relación a los objetos de pruebas.
En el nivel de pruebas unitarias las bases de
prueba son:
-El documento de especificación de requerimientos
-El código fuente
-Los modelos de datos.
2- Pruebas de Integración (Integration
testing): Es el
nivel en el cual los componentes del sistema se integran para ser probados como
un grupo, el objetivo de este nivel es detectar cualquier defecto al momento de
combinar los componentes del sistema y en ellos mismos.
Los objetos de prueba en este nivel son:
-Los subsistemas
-La base de datos
-Las interfaces,
-Microservicios
-Las interfaces de comunicación API’S.
Las bases de prueba en este nivel son:
-El diseño del sistema
-El diseño del software
-Diagramas de secuencia de datos
-Especificaciones de interfaz y protocolos de comunicación
-La especificación de los casos de uso
-La arquitectura con respecto a componentes o sistemas
-Definiciones de interfaces externas.
3- Pruebas de Sistema (System testing): En ente nivel se
verifica la funcionalidad de todos los componentes integrados, si estos
funcionan de la manera adecuada y realizan las operaciones de la forma en la
que fue requerida. Es muy parecido al nivel de integración de componentes, pero
este tiene un alcance más amplio, aquí se prueba el producto de software en un
sistema operativo o plataforma concreta, se revisa la compatibilidad del
hardware con el sistema entre otros componentes como librerías de terceros.
Los objetos de pruebas en este nivel
son:
-Aplicaciones
-Sistemas de hardware y software
- Sistemas operativos
- Sistema bajo prueba
- Configuración del sistema y datos de configuración
Las bases de prueba al nivel de pruebas
de sistemas son:
- Especificaciones de requisitos del sistema
- Informes de análisis de riesgo
- Casos de Uso
- Modelos de comportamiento del sistema
- Diagramas de estado
- Manuales de Sistema y de usuario
4-Pruebas de Aceptación (Acceptance
testing): Una vez has comprobado que el sistema funciona correctamente queda
validar si cumple con lo que el usuario necesita, se busca comprobar si el
sistema cumpla con los criterios establecidos y se válida que obedezca a las
necesidades del usuario. Si bien la pruebas en este nivel pueden ser ejecutadas
por el equipo de pruebas, es recomendable que el cliente o los usuarios finales
participen en estas pruebas.
Los objetos de pruebas en este nivel
son:
-Sistema bajo prueba
-Configuración del sistema y datos de configuración
-Procesos empresariales para un sistema totalmente
integrado
-Sistemas de recuperación y sitios activos
-Procesos operativos y de mantenimiento
-Formularios Reportes Datos de producción
Las bases de prueba en el nivel de aceptación
son:
-Procesos de negocio
-Requisitos del usuario o del negocio
-Regulaciones, contratos legales y estándares
-Casos de uso
-Requisitos del sistema
-Documentación del sistema o del usuario
-Procedimientos de instalación
-Informes de análisis de riesgos
Los tipos de pruebas de aceptación son:
Pruebas de Aceptación de usuarios (UAT):
Se dan en las últimas etapas del ciclo de pruebas, en
esta fase se busca verificar y validad que el sistema cumpla con los
requerimientos y necesidades de acuerdo con lo que la organización solicito y
lo que los usuarios finales necesitan, es decir, si el producto puede ser
aceptado o no.
Estas también se utilizan como guía para crear los
casos de prueba de automatización.
Pruebas de Aceptación operativa (OAT):
Se enfocan en la aceptación del producto por la parte
administrativa u organizacional, es decir, si se puede ejecutar y gestionar
correctamente el sistema desarrollado.
Los aspectos en los que se centran son:
-Pruebas respaldo y la capacidad de recuperación del
producto.
-Recuperación ante desastres o fallas en el sistema y
sea por factores externos como internos del mismo.
-Administración de cuentas de usuario
-Control y gestión de acceso al sistema.
-Mantenibilidad del producto.
-Tareas de carga y migración de datos.
-Factores relacionados con la seguridad e integridad
del sistema.
Estas pruebas de aceptación cuentan con
bases de prueba específicas, estas son:
-Procedimientos de respaldo y restauración
-Procedimientos de recuperación ante desastres
-Requisitos no funcionales
-Documentación de operaciones
-Instrucciones de despliegue e instalación
-Objetivos de rendimiento
-Paquetes de bases de datos
-Normas o regulaciones de seguridad
Pruebas de aceptación de contratos y
regulaciones
Se centran en los documentos relacionados con las leyes,
las regulaciones de seguridad y las regulaciones establecidas por el gobierno, además
de los contratos entre la organización que desarrolla el producto y la que realizo
la solicito el producto (en ocasiones estas pueden ser la misma), así como, de
los contratos internos de la empresa desarrolladora.
Pruebas
Alfa y Beta
A menudo el equipo de desarrollo del proyecto necesitara
de retroalimentación por parte de los clientes y/o usuarios finales antes de la
liberación del producto. Para esto se efectúan pruebas alfa y beta.
Las pruebas alfas se realizan de
manera interna en la organización que desarrollo el producto, pero no por el
equipo de desarrollo. Mientras que las pruebas beta se ejecutan de
manera externa en las instalaciones del cliente o la organización que solicito
el producto.
Esto solo es un pequeño resumen sobre los niveles de pruebas, posteriormente hablaré de manera detallada de cada uno de ellos, además de estos,
también trataré los tipos de pruebas de software con el objetivo de que podamos
distinguirlas de los niveles de prueba.
Para redactar este artículo me guie del contenido
disponible en la plataforma full advanced referentes al capítulo dos de su
curso fundamentos de pruebas de software. (https://www.fulladvanced.com)
Esto es todo por hoy, espero que este artículo te sea
de utilidad y si es así te invito a compartirlo con tus colegas y amigos,
cualquier duda u observación del tema déjala en la sección de comentarios será un
placer responder.
¡Gracias por leer!
Comentarios
Publicar un comentario