Niveles de pruebas de software

 

!Hola!


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

Entradas más populares de este blog

7 principios de las pruebas de calidad de software

Conceptos básicos para un QA